{"id":44620961,"url":"https://github.com/sjoerdvankreel/firefly-synth","last_synced_at":"2026-02-14T14:10:42.506Z","repository":{"id":191615599,"uuid":"685023458","full_name":"sjoerdvankreel/firefly-synth","owner":"sjoerdvankreel","description":"Semi-modular synthesizer and FX plugin for Windows, Linux and Mac, VST3 and CLAP.","archived":false,"fork":false,"pushed_at":"2024-10-29T18:59:33.000Z","size":67712,"stargazers_count":101,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-29T19:13:18.505Z","etag":null,"topics":["audio-plugin","clap-plugin","software-synthesizer","studiorack-plugin","vst3-plugin"],"latest_commit_sha":null,"homepage":"http://firefly-synth.com/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sjoerdvankreel.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-30T10:55:07.000Z","updated_at":"2024-10-22T22:10:24.000Z","dependencies_parsed_at":"2023-09-21T23:19:34.630Z","dependency_job_id":"fe705966-e8f6-41fe-921b-c7d5e338786f","html_url":"https://github.com/sjoerdvankreel/firefly-synth","commit_stats":null,"previous_names":["sjoerdvankreel/infernal-playground","sjoerdvankreel/firefly-synth"],"tags_count":57,"template":false,"template_full_name":null,"purl":"pkg:github/sjoerdvankreel/firefly-synth","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjoerdvankreel%2Ffirefly-synth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjoerdvankreel%2Ffirefly-synth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjoerdvankreel%2Ffirefly-synth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjoerdvankreel%2Ffirefly-synth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sjoerdvankreel","download_url":"https://codeload.github.com/sjoerdvankreel/firefly-synth/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjoerdvankreel%2Ffirefly-synth/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29446508,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T14:10:32.461Z","status":"ssl_error","status_checked_at":"2026-02-14T14:09:49.945Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio-plugin","clap-plugin","software-synthesizer","studiorack-plugin","vst3-plugin"],"created_at":"2026-02-14T14:10:38.104Z","updated_at":"2026-02-14T14:10:42.501Z","avatar_url":"https://github.com/sjoerdvankreel.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"PROJECT ARCHIVED IN FAVOR OF [Firefly Synth 2](https://github.com/sjoerdvankreel/firefly-synth-2)\r\n\r\n\"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.\r\nInstead, 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.\r\nIt 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.\r\nThe 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.\"\r\n\r\n\u0026ndash; FOSSPicks 282, May 2024\r\n\r\n# Download\r\n\r\nDownloads have moved to the [releases](https://github.com/sjoerdvankreel/firefly-synth/releases) section.\r\n\r\nMacOS Note: if you get a warning like \"archive damaged\" or \"failed to open\" etc, it's probably this:\r\n[https://syntheway.com/fix-au-vst-vst3-macos.htm](https://syntheway.com/fix-au-vst-vst3-macos.htm)\r\n\r\n# About\r\n\r\nA semi-modular software synthesizer and fx plugin.\r\nIt's basically [InfernalSynth](https://github.com/sjoerdvankreel/infernal-synth)'s big brother.\r\n\r\n- Changelog: [changelog.md](changelog.md).\r\n- Parameter reference: [param_reference.html](https://htmlpreview.github.io/?https://github.com/sjoerdvankreel/firefly-synth/blob/main/param_reference.html).\r\n- KVR: [https://www.kvraudio.com/product/firefly-synth-by-sjoerdvankreel](https://www.kvraudio.com/product/firefly-synth-by-sjoerdvankreel)\r\n- Manual: [https://github.com/sjoerdvankreel/firefly-synth/blob/main/manual.md](https://github.com/sjoerdvankreel/firefly-synth/blob/main/manual.md)\r\n\r\n# Legal\r\n\r\n\u003ctable\u003e\r\n  \u003ctr\u003e\r\n    \u003ctd\u003e\u003cimg alt=\"CLAP logo\" src=\"static/clap_logo.png\"/\u003e\u003c/td\u003e\r\n    \u003ctd\u003e\u003ca href=\"https://github.com/free-audio/clap\"\u003ehttps://github.com/free-audio/clap\u003c/a\u003e\u003c/td\u003e\r\n    \u003ctd\u003e\u003cimg alt=\"VST logo\" src=\"static/vst_logo.png\"/\u003e\u003c/td\u003e\r\n    \u003ctd\u003eVST is a trademark of Steinberg Media Technologies GmbH, registered in Europe and other countries.\u003c/td\u003e\r\n  \u003c/tr\u003e\r\n\u003c/table\u003e\r\n\r\n# Screenshots / Demo videos\r\n\r\nRealtime modulation animation videos:\r\n\r\n- [mseg_demo.mp4](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/video/mseg_demo.mp4)\r\n- [big_pad_2_visual_demo.mp4](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/video/big_pad_2_visual_demo.mp4)\r\n- [arp_demo_2_reaper_clap.mp4](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/video/arp_demo_2_reaper_clap.mp4)\r\n- [arp_demo_1_renoise_vst3.mp4](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/video/arp_demo_1_renoise_vst3.mp4)\r\n- [saw_to_dsf_distortion_demo.mp4](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/video/saw_to_dsf_distortion_demo.mp4)\r\n- [modulation_visualization_demo.mp4](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/video/modulation_visualization_demo.mp4)\r\n\r\n\u003ctable\u003e\r\n\u003ctr\u003e\r\n\u003ctd\u003e\u003cimg alt=\"Screenshot\" src=\"static/screenshot_hot_dark.png\"\u003e\u003c/td\u003e\r\n\u003ctd\u003e\u003cimg alt=\"Screenshot\" src=\"static/screenshot_hot_light.png\"\u003e\u003c/td\u003e\r\n\u003c/tr\u003e\r\n\u003ctr\u003e\r\n\u003ctd\u003e\u003cimg alt=\"Screenshot\" src=\"static/screenshot_hot_dark_fx.png\"\u003e\u003c/td\u003e\r\n\u003ctd\u003e\u003cimg alt=\"Screenshot\" src=\"static/screenshot_hot_light_fx.png\"\u003e\u003c/td\u003e\r\n\u003c/tr\u003e\r\n\u003ctr\u003e\r\n\u003ctd\u003e\u003cimg alt=\"Screenshot\" src=\"static/screenshot_cold_dark.png\"\u003e\u003c/td\u003e\r\n\u003ctd\u003e\u003cimg alt=\"Screenshot\" src=\"static/screenshot_cold_light.png\"\u003e\u003c/td\u003e\r\n\u003c/tr\u003e\r\n\u003ctr\u003e\r\n\u003ctd\u003e\u003cimg alt=\"Screenshot\" src=\"static/screenshot_cold_dark_fx.png\"\u003e\u003c/td\u003e\r\n\u003ctd\u003e\u003cimg alt=\"Screenshot\" src=\"static/screenshot_cold_light_fx.png\"\u003e\u003c/td\u003e\r\n\u003c/tr\u003e\r\n\u003c/table\u003e\r\n\r\n# Install\r\nExtract the zipped folder and copy/replace it (the entire folder, not just the .dll/.so/.dylib!) to your VST3/CLAP folder:\r\n\r\n- Windows: https://helpcenter.steinberg.de/hc/en-us/articles/115000177084-VST-plug-in-locations-on-Windows (replace VST3 by CLAP for clap)\r\n- 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)\r\n- Linux: ~/.vst3 or ~/.clap\r\n\r\n# System requirements and supported environments\r\n- Windows: 64-bit (X64) cpu with AVX support. Tested on Windows 11. Needs Windows 10+.\r\n- Mac: 64-bit (X64) cpu for Intel-based Macs. 64-bit ARM cpu for Apple Silicon. Universal binaries are provided. Tested on MacOS 14, minimum required is 10.15.\r\n- 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, minimum required is 18. Needs glibc 2.25+. Known to work on Fedora and Mint, too.\r\n- Explicitly supported hosts: Reaper, Bitwig, FLStudio, Waveform 13+. Please use a recent version.\r\n- Explicitly NOT supported hosts:\u003cbr/\u003eRenoise (bug), Cakewalk (probably same as this: https://forum.renoise.com/t/possible-probable-bug-w-r-t-vst3-parameter-flushing/70684/9).\r\n- All other hosts, you'll just have to try and see.\r\n\r\nWaveform note:\u003cbr/\u003e\r\nIt is necessary to re-scan plugins after updating.\r\n\r\nFLStudio note:\u003cbr/\u003e\r\nFirefly has a relatively large per-block overhead.\r\nIf you notice large spikes in CPU usage, try enabling fixed-size buffers.\r\n\r\nRenoise note:\u003cbr/\u003e\r\nStill not really supported. It will work on 3.4.4+, but updating the plugin version will cause loss of automation data.\r\nSee https://forum.renoise.com/t/saved-automation-data-does-not-respect-vst3s-parameter-id/68461.\r\n\r\n# What does it sound like?\r\nPretty much like InfernalSynth. I reused most of the algorithms, although some of them got upgraded. In particular,\r\nthe waveshaper becomes a full-blown distortion module, the Karplus-Strong oscillator has some extra knobs to play\r\naround with, there's a new CV-to-CV mod matrix and last-but-not-least, it can do actual (Chowning-style) FM synthesis.\r\n\r\nSee also [demos](https://github.com/sjoerdvankreel/firefly-synth/tree/main/demos) for project files.\r\nNot all of these sounds are presets, but if you want you can extract the other ones from there.\r\n\r\nDemo tunes:\r\n- Demo track 1: [demo_track_1.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/demo_track_1.mp3)\r\n- Demo track 2: [demo_track_2.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/demo_track_2.mp3)\r\n- Demo track 3: [demo_track_3.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/demo_track_3.mp3)\r\n- Hardcore kicks take 1: [hardcore_kicks_take_1.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/hardcore_kicks_take_1.mp3)\r\n- Hardcore kicks take 2: [hardcore_kicks_take_2.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/hardcore_kicks_take_2.mp3)\r\n- Arpeggiator demo tune: [arp_demo_tune_reaper_clap](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/arp_demo_tune_reaper_clap.mp3)\r\n- Fun with actual supersaw (Supersaw preset): [fun_with_actual_supersaw.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/fun_with_actual_supersaw.mp3)\r\n- Fun with rave synth (Rave Synth Preset + Big Pad 2 Preset): [fun_with_rave_synth.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/fun_with_rave_synth.mp3)\r\n- Fun with supersaw (Detuned saw + more bells + kick 7 + closed hat 4 + bass 4): [fun_with_supersaw.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/fun_with_supersaw.mp3)\r\n- Look ma, all FM and no filters (FM Bass Preset + FM Clap + FM FX + FM Bells 2/3): [look_ma_all_fm_and_no_filters.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/look_ma_all_fm_and_no_filters.mp3)\r\n- Renoise test (sort of trance melody hard edit) (Rave Synth Preset): [renoise_test_sort_of_trance_melody_hard_edit.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/renoise_test_sort_of_trance_melody_hard_edit.mp3)\r\n- Renoise test (sort of goa trance) (Trance Pad 2 Preset + Goa Bass Preset + Some more): [renoise_test_sort_of_goa_trance.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/renoise_test_sort_of_goa_trance.mp3)\r\n- Downtempo ambient psy (Bass 3 Preset + Closed Hat 3 + Distorted Bells 2 + FM Bells + Kick 6 + Open Hat 3): [downtempo_ambient_psy.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/downtempo_ambient_psy.mp3)\r\n\r\nOther:\r\n- FX Demo: [fx_demo_reaper_clap.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/fx_demo_reaper_clap.mp3)\r\n- Arpeggiator demo 1: [arp_demo_1_renoise_vst3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/arp_demo_1_renoise_vst3.mp3)\r\n- Arpeggiator demo 2: [arp_demo_2_reaper_clap](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/arp_demo_2_reaper_clap.mp3)\r\n- DSF distortion: [saw_to_dsf_distortion_demo.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/saw_to_dsf_distortion_demo.mp3)\r\n- Noise generator demo: [stereo_noise_reaper_clap.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/stereo_noise_reaper_clap.mp3)\r\n- Distortion modulation demo: [distortion_modulation.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/distortion_modulation.mp3)\r\n- I Love Distortion + Global Unison: [i_love_distortion_global_unison.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/i_love_distortion_global_unison.mp3)\r\n- Visual modulation demo [visual_modulation_demo_no_automation_reaper_clap.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/visual_modulation_demo_no_automation_reaper_clap.mp3)\r\n- Renoise test (sort of trance melody) (Trance Pad Preset): [renoise_test_sort_of_trance_melody.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/renoise_test_sort_of_trance_melody.mp3)\r\n- Renoise test (yet another acid line) (Yet Another Acid Preset): [renoise_test_yet_another_acid_line.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/renoise_test_yet_another_acid_line.mp3)\r\n\r\nPresets:\r\n- Big Pad (Preset): [big_pad.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/big_pad.mp3)\r\n- Big Pad 2 (Preset): [big_pad_2.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/big_pad_2.mp3)\r\n- Big Pad 3 (Preset): [big_pad_3.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/big_pad_3.mp3)\r\n- Mono Lead (Preset): [mono_lead.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/mono_lead_reaper_clap.mp3)\r\n- Infernal Acid (Preset): [infernal_acid.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/infernal_acid.mp3)\r\n- FM Weirdness (Preset): [fm_weirdness.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/fm_weirdness.mp3)\r\n- AM Bells (Preset): [am_bells_reaper_clap.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/am_bells_reaper_clap.mp3)\r\n- AM/FM Unison Pad (Preset): [am_fm_unison_pad.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/am_fm_unison_pad.mp3)\r\n- Karplus-Strong (Preset): [karplus_strong_reaper_clap.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/karplus_strong_reaper_clap.mp3)\r\n- Hardcore kicks take 2 (Preset): [hardcore_kicks_take_2.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/hardcore_kicks_take_2.mp3)\r\n- I Love Distortion (Preset): [i_love_distortion_reaper_clap.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/i_love_distortion_reaper_clap.mp3)\r\n- Fun With Hard Sync And FM (Preset): [fun_with_hard_sync_and_fm.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/fun_with_hard_sync_and_fm.mp3)\r\n- Another acid line bipolar FM (Preset): [another_acid_line_bipolar_fm.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/another_acid_line_bipolar_fm.mp3)\r\n- Another acid line unipolar FM (Preset): [another_acid_line_unipolar_fm.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/another_acid_line_unipolar_fm.mp3)\r\n- Another acid line backward FM (Preset): [another_acid_line_backward_fm.mp3](https://github.com/sjoerdvankreel/firefly-synth-storage/raw/main/render/another_acid_line_backward_fm.mp3)\r\n\r\n# Build from source\r\n- git clone --recursive [this-project]\r\n- Mac: scripts/build_mac.sh [Debug|RelWithDebInfo|Release]\r\n- Linux: scripts/build_linux.sh [Debug|RelWithDebInfo|Release]\r\n- Windows: scripts/build_windows.bat [Debug|RelWithDebInfo|Release]\r\n\r\nNote: the build scripts and cmake files assume linux=gcc, windows=msvc and mac=clang.\r\nIt is not possible to change compiler for any given OS without changing the build scripts and cmake files.\r\n\r\nYou'll need CMake and a very recent c++ compiler. The final output ends up in the /dist folder. \u003cbr/\u003e\r\nLike noted above, the default Linux build does *not* enable AVX.\r\nTo fix that, you'll have to edit [https://github.com/sjoerdvankreel/firefly-synth/blob/main/plugin_base/cmake/plugin_base.config.cmake](https://github.com/sjoerdvankreel/firefly-synth/blob/main/plugin_base/cmake/plugin_base.config.cmake).\r\n\r\nWindows: the build scripts assume 7zip is installed. It will build fine without, but you'll error out on the final zip step.\r\n\r\n# Dependencies\r\n- CLAP SDK: [https://github.com/free-audio/clap](https://github.com/free-audio/clap)\r\n- JUCE: [https://github.com/juce-framework/JUCE](https://github.com/juce-framework/JUCE)\r\n- MTS-ESP: [https://github.com/ODDSound/MTS-ESP](https://github.com/ODDSound/MTS-ESP)\r\n- sse2neon: [https://github.com/DLTcollab/sse2neon](https://github.com/DLTcollab/sse2neon)\r\n- Steinberg VST3 SDK: [https://github.com/steinbergmedia/vst3sdk](https://github.com/steinbergmedia/vst3sdk)\r\n- Readerwriterqueue: [https://github.com/cameron314/readerwriterqueue](https://github.com/cameron314/readerwriterqueue)\r\n\r\n# Special thanks to\r\n- [ODDSound](https://oddsound.com/) for providing an MTS-ESP NFR.\r\n- [BaconPaul](https://baconpaul.org/) for helping out with CLAP support.\r\n- [oddyolynx](https://github.com/tank-trax) for supporting the project early-on.\r\n- Host vendors who have set me up with an NFR license.\r\n- Everyone from [Surge Synth Team](https://surge-synth-team.org/) microtuning discord channel for helping out with MTS-ESP support.\r\n\r\n# Credits\r\n- Contains soft clippers by [Sean Enderby and Zlatko Baracskai](https://dafx.de/paper-archive/2012/papers/dafx12_submission_45.pdf).\r\n- Contains a slightly adapted implementation of [Jezar's Freeverb](https://github.com/sinshu/freeverb).\r\n- Contains a slightly adapted implementation of the [Karplus-Strong algorithm](https://blog.demofox.org/2016/06/16/synthesizing-a-pluked-string-sound-with-the-karplus-strong-algorithm).\r\n- Contains a verbatim implementation of [Andrew Simper's state variable filter equations](https://cytomic.com/files/dsp/SvfLinearTrapOptimised2.pdf).\r\n- Contains a verbatim implementation of [Moorer's DSF algorithm as described by Burkhard Reike](https://www.verklagekasper.de/synths/dsfsynthesis/dsfsynthesis.html).\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsjoerdvankreel%2Ffirefly-synth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsjoerdvankreel%2Ffirefly-synth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsjoerdvankreel%2Ffirefly-synth/lists"}