awesome-open-synth is a collection of open source audio processing, audio synthesis, and related libraries for a number of programming languages and hardware platforms. Resources were taken from any available outlet including articles, GitHub organizations, other README files and lists, and really anything we were able to find. Special thanks to Jon Moshier for the great awesome-open-source-synths list, and Woyten for the great microtonal-rust list.
If there's anything missing from this list that you'd like to see added, or anything on the list that you don't think should be here, please feel free to submit a pull request to add any useful tools to awesome-open-synth.
The current state of this list is just a starting point for mapping out this ecosystem, and clearly does not touch on every single open source audio library on GitHub, but we'll continue developing the list as more libraries are found, released, and otherwise assembled here for everyone's benefit.
Name | Library Type | Developer | License | Languages |
---|---|---|---|---|
Euclidean-sequencer | Euclidean rhythm generation system | Tom Whitwell (website) | None | Arduino |
Dodeca | Versatile MIDI out | jakplugg | None | Arduino, C++ |
Name | Library Type | Developer | License | Languages |
---|---|---|---|---|
8mu | MIDI Sequencer | Tom Whitwell (website) | None listed | C++, Svelte, TypeScript, Python |
airwave | Wine-based VST2 plugin runner for Linux | Pascal Gauthier | MIT License | C++ |
Braids | Monophonic digital sound source | Mutable Instruments (website) | MIT (STM32F) | C++ |
Branches | Dual Bernoulli gate | Mutable Instruments (website) | Review repo | C++ |
Clouds | Reverb | Mutable Instruments (website) | Review repo | C++ |
DelugeFirmware | Firmware for the popular Deluge Synthesizer | Synthstrom Audible (website) | GPL-3.0 | C, C++ |
Dexed | FM Synth Plugin | Pascal Gauthier | GPL-3.0 | C++ |
dr_libs | Audio Decoding | Mackron | Public Domain or MIT | C, C++ |
Edges | Quad Chiptune Oscillator | Mutable Instruments (website) | Review repo | C++ |
Elements | Modal Synthesizer | Mutable Instruments (website) | Review repo | C++ |
FAUST | Language/DSL | GRAME | GPL-2.0 | C++, Faust, C |
Grids | Topographic Drum Sequencer | Mutable Instruments (website) | Review repo | C++ |
iPlug2 | Audio Plugin Framework | iPlug2 | Proprietary free license | C, C++, Objective C |
jsusfx | Open source implementation of Jesusonic FX | Pascal Gauthier | GPL-3.0 | C, C++ |
lmms | DAW | LMMS | GPL-2.0 | C++, C |
MegaDirt | Tidal audio engine based on SuperDirt | Pascal Gauthier | AGPL-3.0 | C++ |
miniaudio | Audio Playback and Capture | Mackron | Public Domain or MIT | C |
Monique Monosynth | Monosynth | Surge | GPL-3.0, MIT | C++ |
Odin2 | synth with oscillators as a VST3 plugin | TheWaveWarden | GPL-3.0 | C++, C |
orgone-accumulator | neutron sound accumulator | jakplugg | None listed | C++ |
Peaks | Envelope/LFO/Drum generator | Mutable Instruments (website) | Review repo | C++ |
PluginCollider | SuperCollider as a VST3 plugin | Pascal Gauthier | GPL-3.0 | C++, SuperCollider |
Radio Music | Virtual radio module for eurorack | Tom Whitwell (website) | None listed | C++ |
Rings | Resonator | Mutable Instruments (website) | Review repo | C++ |
rtaudio | Realtime audio processing | STK Team (website) | Modified MIT | C++, C, M4, Go |
rtmidi | Realtime MIDI processing | STK Team (website) | Modified MIT | C++, M4, Go, C |
Sfizz | SFZ parser and synth c++ library | SFZ Tools | BSD-2-Clause | C++ |
Shortcircuit XT | Sampler | Surge | GPL-3.0 | C++, Scheme |
Stochas | Sequencer | Surge | GPL-3.0 | C++, C |
SuperCollider | Audio server, programming language, and IDE | supercollider | GPL-3.0 | C++, SuperCollider, C |
SuperColliderAU | AudioUnit wrapper for SuperCollider | supercollider | None listed | C++, R, C |
Surge Rack | Surge XT for VCV Rack | Surge | GPL-3.0 | C++, Javascript |
Surge XT | Hybrid Synth | Surge | GPL-3.0 | C, C++ |
The Synthesis Toolkit (STK) | Signal processing and synthesis | STK Team (website) | Modified MIT | C++, C, Tcl, M4 |
Tides | Tidal modulator | Mutable Instruments (website) | Review repo | C++ |
VCV Rack | Virtual Eurorack Studio | VCV Rack | GPL-3.0 | C++ |
Yarns | Midi to CV interface | Mutable Instruments (website) | Review repo | C++ |
Name | Library Type | Developer | License | Languages |
---|---|---|---|---|
NxSignal | Digital Signal Processor | Numerical Elixir | Apache 2.0 | Elixir |
Oscillixir | Synthesizer with oscillators | Josh Petitt | None listed | Elixir |
Name | Library Type | Developer | License | Languages |
---|---|---|---|---|
flac | FLAC encoder/decoder | Mewkiz | Unilicense | Go |
gaad | AAC decoder | Comcast | Apache-2.0 | Go |
GoAudio | Audio Tools | Dylan Meeus | MIT | Go |
gosamplerate | Bindings for libsamplerate | Tobias Wellnitz | BSD-2 Clause | Go |
id3v2 | ID3 encoding/decoding | Albert Nigmatzianov | MIT | Go |
music-theory | Music theory impementation | Music Theory | GPL-3.0 | Go |
oto | Audio player | Hajime Hoshi | Apache-2.0 | Go |
portaudio | Bindings for portaudio | Gordon Klaus | MIT | Go |
Name | Library Type | Developer | License | Languages |
---|---|---|---|---|
Blinds | Quad VC-P | Mutable Instruments | Check repo | None |
Ears | Contact Microphone | Mutable Instruments | Check repo | None |
Edgecutter | Visual envelope | This is Not Rocket Science | None | |
Kinks | Analog rectifier, noise | Mutable Instruments | Check repo | None |
Klangatorium | Synth experiment board | Elliot Williams | None listed | None |
Mikrophonie | Microphone module | Tom Whitwell | None | None |
Pulses | Pulse expander | Tom Whitwell | None | None |
Ripples | Multi-stage filter | Mutable Instruments | Check repo | None |
Shelves | EQ Filter | Mutable Instruments | Check repo | None |
Streams | Dual dynamics gate | Mutable Instruments | Check repo | None |
T_u | Clock generator | jakplugg | None | None |
Triple Attenuator Mixer v2 | Attenuators/Mixer | Dave Hamara | CC-BY-SA | None |
Tuesday | Procedural Sequencer | This is Not Rocket Science | None | |
Turing Machine | Random Loolping Sequencer | Tom Whitwell | None | |
uO_c | Polymorphic CV generator | jakplugg | None listed | None |
Veils | Quad VCA | Mutable Instruments | Check repo | None |
Voltages | Voltages expander | Tom Whitwell | None | None |
Volts | Mini voltages expander | Tom Whitwell | None | None |
Waves | Waveshaper/Modulator | Mutable Instruments | Check repo | None |
Wobbler | Advanced LFO | This is Not Rocket Science | None |
Name | Library Type | Developer | License | Languages |
---|---|---|---|---|
glasgow | programmable note generator for Ableton | Pascal Gauthier | None | JavaScript |
Name | Library Type | Developer | License | Languages |
---|---|---|---|---|
m-Brane | Compact version of Mutable Instruments Yarns | jakplugg | None | nesC |
uGrids | Compact version of Mutable Instruments Grids | jakplugg | None | nesC |
Name | Library Type | Developer | License | Languages |
---|---|---|---|---|
baseplug | MVC Framework for rust audio plugins | William Light | Apache 2.0 or MIT | Rust |
baseview | low-level interface for audio plugin UIs | Rust Audio (website) | Apache 2.0 or MIT | Rust |
camilla DSP | IIR/FIR engine for crossovers, room correction, etc. | Henrik Enquist (website) | GPL-3.0 | Rust |
claxon | FLAC decoder | Rud van Asseldonk (website) | Apache 2.0 | Rust |
coremidi | CoreMIDI (OS X) Library | Christian Zen | MIT | Rust |
Cpal | Cross-Platform Audio I/O Library | Rust Audio (website) | Apache 2.0 or MIT | Rust |
creek | realtime disk streaming for audio IO | MeadowlarkDAW | Apache 2.0 or MIT | Rust |
dasp | Digital audio signal processing | Rust Audio (website) | Apache 2.0 or MIT | Rust |
druid | GUI library for Rust | linebender (website) | Apache 2.0 | Rust |
egui | Another GUI library for Rust | Emil Enerfeldt | Apache 2.0 or MIT | Rust |
FunDSP | Audio Processing and Synth | Sam Perttu | Apache 2.0 or MIT | Rust |
Glicol | Graph Oriented Coding Language | Qichao Lan (website) | Rust, JavaScript | |
Hexosynth | Hexagonal Modular Synth Plugin | Weird Constructor | GPL-3.0 | Rust |
hound | wav encoding/decoding library | Rud van Asseldonk (website) | Apache 2.0 | Rust |
Iced | GUI library | Iced-RS (website) | MIT | Rust |
Iced Audio | Audio-centric GUI plugins for Iced | Iced-RS (website) | MIT | Rust |
imgui-rs | GUI library for Rust | imgui-rs | Apache 2.0 or MIT | Rust |
kiro-synth | Modular Synth | Christian Zen | None Listed | Rust |
lewton | Vorbis decoder | Rust Audio (website) | Apache 2.0 or MIT | Rust |
maschine.rs | Maschine bindings for mikro mk2 | William Light | LGPL-3.0 | Rust |
MeadowlarkDAW | open source DAW | MeadowlarkDAW | GPL-3.0 | Rust |
musium | album-based music player | Rud van Asseldonk (website) | Apache 2.0 | Rust |
nnnoiseless | clone of RNNoise from C++ for noise suppression | jneem | BSD-3-Clause | Rust |
orbtk | GUI library for Rust | redox-os | Rust | |
pitch_calc | Pitch Conversion Library | Rust Audio (website) | Apache 2.0 or MIT | Rust |
rainout | Cross-Platform Audio and MIDI I/O Library | MeadowlarkDAW | Apache 2.0 or MIT | Rust |
Rodio | Rust Audio playback library | Rust Audio (website) | Apache 2.0 or MIT | Rust |
rubato | Asynchronoous resampling | Henrik Enquist (website) | Rust | |
rust_dct | cosine transform computation | Elliott Mahler | Apache 2.0 or MIT | Rust |
rust-jack | Audio bindings for JACK | Rust Audio (website) | MIT | Rust |
RustFFT | FFT Library | Elliott Mahler | Apache 2.0 or MIT | Rust |
slint | GUI library for Rust, C++, and JavaScript | SlintUI (website) | Apache 2.0 | Rust, C++, Typescript |
tauri | GUI library for Rust | tauri (website) | Apache 2.0 or MIT | Rust |
Tune | Xenharmonic Synth and Tuning | Woyten | MIT License | Rust |
whisper-rs | Rust bindings for Whisper C++ | tazz4843 | Unilicense | Rust |
wmidi | Rust encoding and decoding library | Rust Audio (website) | Apache 2.0 or MIT | Rust |
Name | Library Type | Developer | License | Languages |
---|---|---|---|---|
apex-sc-dafx | vocal track modeling | musikinformatik | GPL-2.0 | SuperCollider, C |
Generic Additive Synthesis | a guide to additive synthesis | musikinformatik | None listed | None, examples with supercollider |
Steno | a supercollider language for stringing synths | musikinformatik | GPL-2.0 | SuperCollider |
SuperDirt | Implementation of the Dirt sampler | musikinformatik | GPL-2.0 | SuperCollider |
that | realtime audio analysis | musikinformatik | GPL-2.0 | SuperCollider |
Name | Library Type | Developer | License | Languages |
---|---|---|---|---|
AudioKit | Language/DSL | AudioKit (website) | MIT | Swift |
AudioKit Flow | Generic Node Graph Editor | AudioKit (website) | MIT | Swift, Objective C, Objective C++ |
AudioKit Synth One | Synthesizer App | AudioKit (website) | MIT | Swift, Objective C, Objective C++ |
Name | Type | Description |
---|---|---|
Awesome Open Source Synths | GitHub list | |
Awesome Synthesis | GitHub list | |
Free DAW Software | BPB Article | |
Free Synthesizer VST Plugins | BPB Article | |
Free VST Plugins | BPB Article | |
Go Audio | GitHub Organization | |
Microtonal-rust | Rust | Rust Libraries Compilation |
musikinformatik | Algorithm library | Libraries for SuperCollider |
Rust.audio | Website | Collection of Rust Audio Development Resources |