awesome-open-synth

June 9, 2023 ยท View on GitHub

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.

Contents

Arduino

NameLibrary TypeDeveloperLicenseLanguages
Euclidean-sequencerEuclidean rhythm generation systemTom Whitwell (website)NoneArduino
DodecaVersatile MIDI outjakpluggNoneArduino, C++

C/C++

NameLibrary TypeDeveloperLicenseLanguages
8muMIDI SequencerTom Whitwell (website)None listedC++, Svelte, TypeScript, Python
airwaveWine-based VST2 plugin runner for LinuxPascal GauthierMIT LicenseC++
BraidsMonophonic digital sound sourceMutable Instruments (website)MIT (STM32F)C++
BranchesDual Bernoulli gateMutable Instruments (website)Review repoC++
CloudsReverbMutable Instruments (website)Review repoC++
DelugeFirmwareFirmware for the popular Deluge SynthesizerSynthstrom Audible (website)GPL-3.0C, C++
DexedFM Synth PluginPascal GauthierGPL-3.0C++
dr_libsAudio DecodingMackronPublic Domain or MITC, C++
EdgesQuad Chiptune OscillatorMutable Instruments (website)Review repoC++
ElementsModal SynthesizerMutable Instruments (website)Review repoC++
FAUSTLanguage/DSLGRAMEGPL-2.0C++, Faust, C
GridsTopographic Drum SequencerMutable Instruments (website)Review repoC++
iPlug2Audio Plugin FrameworkiPlug2Proprietary free licenseC, C++, Objective C
jsusfxOpen source implementation of Jesusonic FXPascal GauthierGPL-3.0C, C++
lmmsDAWLMMSGPL-2.0C++, C
MegaDirtTidal audio engine based on SuperDirtPascal GauthierAGPL-3.0C++
miniaudioAudio Playback and CaptureMackronPublic Domain or MITC
Monique MonosynthMonosynthSurgeGPL-3.0, MITC++
Odin2synth with oscillators as a VST3 pluginTheWaveWardenGPL-3.0C++, C
orgone-accumulatorneutron sound accumulatorjakpluggNone listedC++
PeaksEnvelope/LFO/Drum generatorMutable Instruments (website)Review repoC++
PluginColliderSuperCollider as a VST3 pluginPascal GauthierGPL-3.0C++, SuperCollider
Radio MusicVirtual radio module for eurorackTom Whitwell (website)None listedC++
RingsResonatorMutable Instruments (website)Review repoC++
rtaudioRealtime audio processingSTK Team (website)Modified MITC++, C, M4, Go
rtmidiRealtime MIDI processingSTK Team (website)Modified MITC++, M4, Go, C
SfizzSFZ parser and synth c++ librarySFZ ToolsBSD-2-ClauseC++
Shortcircuit XTSamplerSurgeGPL-3.0C++, Scheme
StochasSequencerSurgeGPL-3.0C++, C
SuperColliderAudio server, programming language, and IDEsupercolliderGPL-3.0C++, SuperCollider, C
SuperColliderAUAudioUnit wrapper for SuperCollidersupercolliderNone listedC++, R, C
Surge RackSurge XT for VCV RackSurgeGPL-3.0C++, Javascript
Surge XTHybrid SynthSurgeGPL-3.0C, C++
The Synthesis Toolkit (STK)Signal processing and synthesisSTK Team (website)Modified MITC++, C, Tcl, M4
TidesTidal modulatorMutable Instruments (website)Review repoC++
VCV RackVirtual Eurorack StudioVCV RackGPL-3.0C++
YarnsMidi to CV interfaceMutable Instruments (website)Review repoC++

Elixir

NameLibrary TypeDeveloperLicenseLanguages
NxSignalDigital Signal ProcessorNumerical ElixirApache 2.0Elixir
OscillixirSynthesizer with oscillatorsJosh PetittNone listedElixir

Go

NameLibrary TypeDeveloperLicenseLanguages
flacFLAC encoder/decoderMewkizUnilicenseGo
gaadAAC decoderComcastApache-2.0Go
GoAudioAudio ToolsDylan MeeusMITGo
gosamplerateBindings for libsamplerateTobias WellnitzBSD-2 ClauseGo
id3v2ID3 encoding/decodingAlbert NigmatzianovMITGo
music-theoryMusic theory impementationMusic TheoryGPL-3.0Go
otoAudio playerHajime HoshiApache-2.0Go
portaudioBindings for portaudioGordon KlausMITGo

Hardware

NameLibrary TypeDeveloperLicenseLanguages
BlindsQuad VC-PMutable InstrumentsCheck repoNone
EarsContact MicrophoneMutable InstrumentsCheck repoNone
EdgecutterVisual envelopeThis is Not Rocket ScienceNone
KinksAnalog rectifier, noiseMutable InstrumentsCheck repoNone
KlangatoriumSynth experiment boardElliot WilliamsNone listedNone
MikrophonieMicrophone moduleTom WhitwellNoneNone
PulsesPulse expanderTom WhitwellNoneNone
RipplesMulti-stage filterMutable InstrumentsCheck repoNone
ShelvesEQ FilterMutable InstrumentsCheck repoNone
StreamsDual dynamics gateMutable InstrumentsCheck repoNone
T_uClock generatorjakpluggNoneNone
Triple Attenuator Mixer v2Attenuators/MixerDave HamaraCC-BY-SANone
TuesdayProcedural SequencerThis is Not Rocket ScienceNone
Turing MachineRandom Loolping SequencerTom WhitwellNone
uO_cPolymorphic CV generatorjakpluggNone listedNone
VeilsQuad VCAMutable InstrumentsCheck repoNone
VoltagesVoltages expanderTom WhitwellNoneNone
VoltsMini voltages expanderTom WhitwellNoneNone
WavesWaveshaper/ModulatorMutable InstrumentsCheck repoNone
WobblerAdvanced LFOThis is Not Rocket ScienceNone

JavaScript

NameLibrary TypeDeveloperLicenseLanguages
glasgowprogrammable note generator for AbletonPascal GauthierNoneJavaScript

nesC

NameLibrary TypeDeveloperLicenseLanguages
m-BraneCompact version of Mutable Instruments YarnsjakpluggNonenesC
uGridsCompact version of Mutable Instruments GridsjakpluggNonenesC

Rust

NameLibrary TypeDeveloperLicenseLanguages
baseplugMVC Framework for rust audio pluginsWilliam LightApache 2.0 or MITRust
baseviewlow-level interface for audio plugin UIsRust Audio (website)Apache 2.0 or MITRust
camilla DSPIIR/FIR engine for crossovers, room correction, etc.Henrik Enquist (website)GPL-3.0Rust
claxonFLAC decoderRud van Asseldonk (website)Apache 2.0Rust
coremidiCoreMIDI (OS X) LibraryChristian ZenMITRust
CpalCross-Platform Audio I/O LibraryRust Audio (website)Apache 2.0 or MITRust
creekrealtime disk streaming for audio IOMeadowlarkDAWApache 2.0 or MITRust
daspDigital audio signal processingRust Audio (website)Apache 2.0 or MITRust
druidGUI library for Rustlinebender (website)Apache 2.0Rust
eguiAnother GUI library for RustEmil EnerfeldtApache 2.0 or MITRust
FunDSPAudio Processing and SynthSam PerttuApache 2.0 or MITRust
GlicolGraph Oriented Coding LanguageQichao Lan (website)Rust, JavaScript
HexosynthHexagonal Modular Synth PluginWeird ConstructorGPL-3.0Rust
houndwav encoding/decoding libraryRud van Asseldonk (website)Apache 2.0Rust
IcedGUI libraryIced-RS (website)MITRust
Iced AudioAudio-centric GUI plugins for IcedIced-RS (website)MITRust
imgui-rsGUI library for Rustimgui-rsApache 2.0 or MITRust
kiro-synthModular SynthChristian ZenNone ListedRust
lewtonVorbis decoderRust Audio (website)Apache 2.0 or MITRust
maschine.rsMaschine bindings for mikro mk2William LightLGPL-3.0Rust
MeadowlarkDAWopen source DAWMeadowlarkDAWGPL-3.0Rust
musiumalbum-based music playerRud van Asseldonk (website)Apache 2.0Rust
nnnoiselessclone of RNNoise from C++ for noise suppressionjneemBSD-3-ClauseRust
orbtkGUI library for Rustredox-osRust
pitch_calcPitch Conversion LibraryRust Audio (website)Apache 2.0 or MITRust
rainoutCross-Platform Audio and MIDI I/O LibraryMeadowlarkDAWApache 2.0 or MITRust
RodioRust Audio playback libraryRust Audio (website)Apache 2.0 or MITRust
rubatoAsynchronoous resamplingHenrik Enquist (website)Rust
rust_dctcosine transform computationElliott MahlerApache 2.0 or MITRust
rust-jackAudio bindings for JACKRust Audio (website)MITRust
RustFFTFFT LibraryElliott MahlerApache 2.0 or MITRust
slintGUI library for Rust, C++, and JavaScriptSlintUI (website)Apache 2.0Rust, C++, Typescript
tauriGUI library for Rusttauri (website)Apache 2.0 or MITRust
TuneXenharmonic Synth and TuningWoytenMIT LicenseRust
whisper-rsRust bindings for Whisper C++tazz4843UnilicenseRust
wmidiRust encoding and decoding libraryRust Audio (website)Apache 2.0 or MITRust

SuperCollider

NameLibrary TypeDeveloperLicenseLanguages
apex-sc-dafxvocal track modelingmusikinformatikGPL-2.0SuperCollider, C
Generic Additive Synthesisa guide to additive synthesismusikinformatikNone listedNone, examples with supercollider
Stenoa supercollider language for stringing synthsmusikinformatikGPL-2.0SuperCollider
SuperDirtImplementation of the Dirt samplermusikinformatikGPL-2.0SuperCollider
thatrealtime audio analysismusikinformatikGPL-2.0SuperCollider

Swift

NameLibrary TypeDeveloperLicenseLanguages
AudioKitLanguage/DSLAudioKit (website)MITSwift
AudioKit FlowGeneric Node Graph EditorAudioKit (website)MITSwift, Objective C, Objective C++
AudioKit Synth OneSynthesizer AppAudioKit (website)MITSwift, Objective C, Objective C++

Additional Resources

NameTypeDescription
Awesome Open Source SynthsGitHub list
Awesome SynthesisGitHub list
Free DAW SoftwareBPB Article
Free Synthesizer VST PluginsBPB Article
Free VST PluginsBPB Article
Go AudioGitHub Organization
Microtonal-rustRustRust Libraries Compilation
musikinformatikAlgorithm libraryLibraries for SuperCollider
Rust.audioWebsiteCollection of Rust Audio Development Resources