Skip to content

An awesome list of open source audio routing, synthesis, and related libraries in a variety of languages

Notifications You must be signed in to change notification settings

detroitsynth/awesome-open-synth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

awesome-open-synth

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.

Contents

Arduino

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++

C/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++

Elixir

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

Go

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

Hardware

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

JavaScript

Name Library Type Developer License Languages
glasgow programmable note generator for Ableton Pascal Gauthier None JavaScript

nesC

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

Rust

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

SuperCollider

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

Swift

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++

Additional Resources

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

About

An awesome list of open source audio routing, synthesis, and related libraries in a variety of languages

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published