firefly-synth icon indicating copy to clipboard operation
firefly-synth copied to clipboard

Semi-modular synthesizer and FX plugin for Windows, Linux and Mac, VST3 and CLAP.

"This wouldn't be FOSSPicks without a new open source software synthesizer, and this time it's Firefly Synth's turn – which isn't a synth designed to recreate the sound of flying insects. Instead, it's capable of producing a huge range of powerfully complex sounds, from beautifully warm analog strings and brass-like melodies to percussion and eardrum piercing leads. It does all this from a user interface totally unlike any other software synth, replacing skeuomorphism with practical and instant access to dozens of its features. The only downside is that there are so many features, it's difficult to cram them all into the user interface, making it all look more complicated than it really is."

– FOSSPicks 282, May 2024

About

A semi-modular software synthesizer and fx plugin. It's basically InfernalSynth's big brother.

Screenshot

See below for some built-in themes.

Screenshot Screenshot

CLAP logo https://github.com/free-audio/clap VST logo VST is a trademark of Steinberg Media Technologies GmbH, registered in Europe and other countries.

Download

MacOS: if you get a warning like "archive damaged" or "failed to open" etc, it's probably this: https://syntheway.com/fix-au-vst-vst3-macos.htm

Install

Extract the zipped folder and copy/replace it (the entire folder, not just the .dll/.so/.dylib!) to your VST3/CLAP folder:

  • Windows: https://helpcenter.steinberg.de/hc/en-us/articles/115000177084-VST-plug-in-locations-on-Windows (replace VST3 by CLAP for clap)
  • Mac: https://helpcenter.steinberg.de/hc/en-us/articles/115000171310-VST-plug-in-locations-on-Mac-OS-X-and-macOS (replace VST3 by CLAP for clap)
  • Linux: ~/.vst3 or ~/.clap

System requirements and supported environments

  • Mac: 64-bit (X64) cpu for Intel-based Macs. 64-bit ARM cpu for Apple Silicon. Universal binaries are provided. Tested on MacOS 14.
  • Linux: 64-bit (X64) cpu. Provided binaries do not require AVX support, but you might want to build with march=native for better performance. Tested on Ubuntu 22. Known to work on Fedora and Mint, too.
  • Windows: 64-bit (X64) cpu with AVX support. Tested on Windows 10. Windows 7+ should work but you might need this:
    https://learn.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist?view=msvc-170.
  • Explicitly supported hosts: Reaper, Bitwig, FLStudio, Waveform 13+. Please use a recent version.
  • Explicitly NOT supported hosts:
    Renoise (bug), Cakewalk (probably same as this: https://forum.renoise.com/t/possible-probable-bug-w-r-t-vst3-parameter-flushing/70684/9).
  • All other hosts, you'll just have to try and see.

Waveform note:
It is necessary to re-scan plugins after updating.

FLStudio note:
Firefly has a relatively large per-block overhead. If you notice large spikes in CPU usage, try enabling fixed-size buffers.

Renoise note:
Still not really supported. It will work on 3.4.4+, but updating the plugin version will cause loss of automation data. See https://forum.renoise.com/t/saved-automation-data-does-not-respect-vst3s-parameter-id/68461.

What does it sound like?

Pretty much like InfernalSynth. I reused most of the algorithms, although some of them got upgraded. In particular, the waveshaper becomes a full-blown distortion module, the Karplus-Strong oscillator has some extra knobs to play around with, there's a new CV-to-CV mod matrix and last-but-not-least, it can do actual (Chowning-style) FM synthesis.

See also demos for project files. Not all of these sounds are presets, but if you want you can extract the other ones from there.

Demo tunes:

Other:

Presets:

Build from source

  • git clone --recursive [this-project]
  • Mac: scripts/build_mac.sh [Debug|RelWithDebInfo|Release]
  • Linux: scripts/build_linux.sh [Debug|RelWithDebInfo|Release]
  • Windows: scripts/build_windows.bat [Debug|RelWithDebInfo|Release]

Note: the build scripts and cmake files assume linux=gcc, windows=msvc and mac=clang. It is not possible to change compiler for any given OS without changing the build scripts and cmake files.

You'll need CMake and a very recent c++ compiler. The final output ends up in the /dist folder.
Like noted above, the default Linux build does not enable AVX. To fix that, you'll have to edit https://github.com/sjoerdvankreel/firefly-synth/blob/main/plugin_base/cmake/plugin_base.config.cmake.

Windows: the build scripts assume 7zip is installed. It will build fine without, but you'll error out on the final zip step.

Dependencies

Credits

Theme examples