/firefly-synth

Semi-modular synthesizer plugin, VST3 and CLAP.

Primary LanguageC++GNU General Public License v3.0GPL-3.0

About

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

Since there's no manual yet, I'll just write it down here:

  • Right-click a parameter pops up the host context menu.
  • Right-click some empty space pops up the undo/redo menu.
  • Right-click a matrix header pops up a context menu with clear and tidy options.
  • Right-click the first column in a matrix pops up a context menu with matrix manipulation options.
  • Right-click a module header number pops up a context menu with copy/clear/swap etc, including matrix-routing-preserving options.

Screenshot

VST logo

VST is a trademark of Steinberg Media Technologies GmbH, registered in Europe and other countries.

Project status

This is a very bare-bones release, just to get something out there. In particular:

  • There is no manual.
  • There is no fx-only version.
  • There are no presets. None.
  • There is no monophonic mode yet.
    The option to switch poly/mono is grayed out in the UI,
    as are the envelope trigger modes (legato, retrigger, multitrigger).
  • That being said, apart from mono-mode the thing is fully functional.

Just to get a feeling for what all the knobs do, you can checkout the demo files in https://github.com/sjoerdvankreel/firefly-synth/tree/main/demos.

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, and last-but-not-least, it can do actual (Chowning-style) FM synthesis.

System requirements and supported environments

Download and install

Extract the zipped folder and copy it (the entire folder, not just the .dll/.so!) to your default VST3/CLAP folder. On Windows, this is "C:\Program Files\Common Files\[VST3/CLAP]".

There are also Linux binaries over here: https://github.com/sjoerdvankreel/firefly-synth-storage/tree/main/release, but they are built without AVX support, and also I have no idea how well they behave on non-Ubuntu-like distro's. It's probably better to build from source, but as I only built on Ubuntu 22, there's bound to be compiler errors on very different toolchains. Just report them to me and I'll fix it. Of course, even if it compiles on Fedora or Debian or (your favorite distro here), there's still no guarantee that it will actually work. Linux "support" ATM means I hope for some interaction with the community ;)

Build from source

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

You'll need CMake and a very recent c++ compiler, plus maybe on Linux a couple dependencies that I forgot about. 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.

Dependencies

Credits