The Patchbay_

Making music with code

Every library, language, and tool for writing music as code — 106 of them, compared on one page. Plus interactive music-theory tools, language cheat sheets, and the reference tables you keep open in another tab. Each entry is verified against the project's own repository.

Calculators & toolsScale & chord finders, metronome, circle of fifths, delay timesCheat sheetsTidalCycles, Sonic Pi, SuperCollider, Strudel, ChucK, ABCAI music generationSuno, Udio, MusicGen & open models — guides & tutorialsReference tablesScales, chords, key signatures, MIDI, frequencies, EQCompare & alternativesHead-to-head matchups and an alternatives page per tool

The directory

ToolLanguageCategoryLicensePlatforms
abcjsRenders ABC-notation text into SVG sheet music with optional MIDI playback in the browser. JavaScriptComposition & notationMIT Web macOS Windows
AbjadPython API for building LilyPond files to produce publication-quality music notation. PythonComposition & notationGPL-3.0 macOS Linux Windows
ACE-StepFast open-source music-generation foundation model producing full tracks from a style prompt and lyrics. PythonML & generativeApache-2.0 Linux Windows macOS
AldaText-based music composition language; write and play back scores from your editor and terminal. Go / KotlinComposition & notationEPL-2.0 macOS Windows Linux
AmphionOpen-source toolkit for reproducible audio, music and speech generation (TTS, SVS, VC, TTA). PythonML & generativeMIT Linux
Ardour (Lua scripting)Lua 5.3 scripting to automate editing, add real-time DSP/MIDI processors and hook events in Ardour. LuaDAW & host scriptingGPL-2.0-or-later macOS Windows Linux
aubioC library with Python bindings for onset, pitch, beat and tempo detection. PythonAudio analysisGPL-3.0-or-later macOS Windows Linux
AudioCraft (MusicGen)Meta's PyTorch library for audio generation, home of the MusicGen text-and-melody music model. PythonML & generativeMIT macOS Windows Linux
AudioLazyinactiveReal-time expressive DSP package for Python built on lazy streams, filters and synthesis. PythonSynthesis & DSPGPL-3.0 macOS Windows Linux
BarkinactiveTransformer text-to-audio model generating speech, music, sound effects and nonverbal sounds. PythonML & generativeMIT macOS Windows Linux
Basic PitchLightweight neural audio-to-MIDI converter with polyphonic note and pitch-bend detection. PythonAudio analysisApache-2.0 macOS Windows Linux
Bespoke SynthFree open-source modular software synth/DAW with live-patchable modules and built-in Python livecoding. PythonTrackers & modularGPL-3.0-only macOS Windows Linux
Bitwig Studio Extension APIJava API for writing Bitwig Studio controller extensions to integrate hardware and automate the DAW. JavaDAW & host scriptingMIT macOS Windows Linux
Bosca Ceoil: The Blue AlbumBeginner-friendly step-sequencer music maker; a modern Godot port of Bosca Ceoil. GDScript (Godot)Composition & notationMIT macOS Windows Linux
CabbageFramework to wrap Csound code into VST/AU audio plugins and standalone instruments with a GUI. CsoundSynthesis & DSPGPL-3.0 macOS Windows Linux
CardinalSelf-contained open-source VCV Rack fork shipped as a VST/CLAP/LV2/AU modular synth plugin. C++Trackers & modularGPL-3.0-or-later macOS Windows Linux
ChucKStrongly-timed language for real-time synthesis and on-the-fly (live coding) music programming. ChucKLive codingGPL-2.0 macOS Windows Linux
CREPEinactiveCNN-based monophonic pitch (f0) tracker with state-of-the-art accuracy. PythonAudio analysisMIT macOS Windows Linux
CsoundVeteran sound-and-music computing system for synthesis and DSP via orchestra/score code. CsoundSynthesis & DSPLGPL-2.1 macOS Windows Linux
DDSPDifferentiable Digital Signal Processing: DSP modules (oscillators, filters) usable inside neural nets. PythonML & generativeApache-2.0 macOS Windows Linux
DemucsinactiveState-of-the-art deep-learning music source separation (vocals, drums, bass, other) by Meta. PythonML & generativeMIT macOS Windows Linux
Elementary AudioDeclarative JavaScript library for digital audio signal processing, portable across web and native renderers. JavaScript / C++Synthesis & DSPMIT Web macOS Windows
EssentiaC++ library with Python bindings for audio analysis and music description algorithms. PythonAudio analysisAGPL-3.0-only macOS Windows Linux
EstuaryBrowser platform for collaborative, networked live coding across multiple embedded languages. Multi-language hostLive codingGPL-3.0 Web
ExtemporeLive-coding environment pairing a Scheme interpreter with xtlang, a typed Lisp that JIT-compiles via LLVM. xtlang / SchemeLive codingBSD-2-Clause macOS Windows Linux
FaustFunctional DSP language that compiles to C++, WebAssembly, plugins and many other targets. FaustSynthesis & DSPLGPL-2.1-or-later macOS Windows Linux
FeedforwardinactiveAn ncurses terminal editor for TidalCycles with built-in pattern visualization. HaskellLive codingGPL-3.0 macOS Linux
FL Studio MIDI Scripting APIBuilt-in Python API to script MIDI controllers and drive FL Studio transport, mixer and channels. PythonDAW & host scriptingProprietary macOS Windows
FlockinginactiveJavaScript audio synthesis framework using declarative JSON specs, aimed at artists and experimental web sound. JavaScriptSynthesis & DSPMIT OR GPL-2.0 Web
FluCoMaToolkit bringing signal decomposition, audio descriptors and ML to Max, Pure Data and SuperCollider. Max / Pd / SuperColliderAudio analysisBSD-3-Clause macOS Windows Linux
FoxDotinactivePython live-coding environment over SuperCollider for making music with concise looping pattern code. PythonLive codingCC-BY-SA-4.0 macOS Windows Linux
FrescobaldiPowerful, lightweight text editor/IDE for LilyPond music engraving with live score preview. Python (PyQt)Composition & notationGPL-2.0-or-later macOS Windows Linux
FurnaceThe biggest multi-system chiptune tracker, emulating dozens of vintage sound chips. TrackerTrackers & modularGPL-2.0-or-later macOS Windows Linux
GibberinactiveBrowser-based live coding environment combining music synthesis and sequencing with 3D graphics. JavaScriptWeb AudioMIT Web
Gibberish.jsFast JavaScript DSP library that generates JIT-optimized, sample-accurate audio callbacks via code generation. JavaScriptSynthesis & DSPMIT Web
gibberwockyLive-code sequencing and modulation into Ableton Live and Max from a browser-based editor. JavaScriptDAW & host scriptingMIT macOS Windows
GlicolGraph-oriented live coding language and audio DSP engine in Rust, running in the browser via WebAssembly. RustLive codingMIT Web macOS Windows
GwionStrongly-timed, ChucK-inspired programming language: small, fast, extendable and embeddable. GwionLive codingGPL-3.0 macOS Windows Linux
html-midi-playerWeb components (<midi-player>, <midi-visualizer>) for playing and visualizing MIDI files on a page. HTML/JavaScriptMIDI toolsBSD-2-Clause Web
isobarPython library for expressing and manipulating musical patterns for algorithmic composition. PythonComposition & notationMIT macOS Windows Linux
ixi langinactiveA SuperCollider 'parasite' language merging code and an active graphical score. ixi lang (over SuperCollider)Live codingGPL-3.0 macOS Windows Linux
JUCECross-platform C++ framework for building audio apps and VST/AU/AAX/LV2 plug-ins. C++Synthesis & DSPAGPL-3.0-only OR Commercial macOS Windows Linux
librosaPython package for music and audio analysis: feature extraction, beat tracking, and spectrograms. PythonAudio analysisISC macOS Windows Linux
LilyPondText-based music engraving program that produces publication-quality sheet music from plain-text input. C++ / SchemeComposition & notationGPL-3.0-or-later macOS Windows Linux
madmominactivePython MIR library with neural-network models for beat, downbeat and onset detection. PythonAudio analysisBSD-2-Clause macOS Windows Linux
MagentainactiveGoogle research project using ML (TensorFlow) to generate music, art, and drawings. PythonML & generativeApache-2.0 macOS Windows Linux
Max/MSPVisual patching environment; scriptable via the js object, gen~ DSP language, and Node for Max. JavaScript / GenSynthesis & DSPProprietary macOS Windows
MelroseInteractive Go tool for programming melodies as expressions and playing them live over MIDI. Melrose (DSL, Go)Composition & notationMIT macOS Windows Linux
MercuryMinimal, human-readable language for algorithmic electronic music live coding. Mercury (DSL)Live codingGPL-3.0 Web macOS Windows
MIDIUtilinactivePure-Python library for programmatically creating and writing multi-track MIDI files. PythonMIDI toolsMIT macOS Windows Linux
MidiWriterJSTypeScript library for programmatically building and exporting multi-track Standard MIDI files. JavaScriptMIDI toolsMIT macOS Windows Linux
MidoLibrary for working with MIDI messages, ports, and files via convenient message objects. PythonMIDI toolsMIT macOS Windows Linux
mingusinactiveMusic-theory package for notes, scales, chords, progressions, and MIDI playback. PythonComposition & notationGPL-3.0 macOS Windows Linux
MuseScoreFull-featured free music-notation and composition app with a QML/JavaScript plugin API. C++ (plugins in QML/JS)Composition & notationGPL-3.0-only macOS Windows Linux
music21Toolkit for computer-aided musicology and symbolic-music analysis and generation. PythonComposition & notationBSD-3-Clause macOS Windows Linux
MusPyinactiveToolkit for symbolic music: convert between MIDI/MusicXML/ABC and load ML datasets. PythonComposition & notationMIT macOS Windows Linux
NexusUIJavaScript toolkit of Web Audio UI widgets (dials, sliders, pads) for building browser instruments. JavaScriptWeb AudioMIT Web
note-seqinactiveSerializable NoteSequence representation and utilities from Google Magenta for music ML. PythonML & generativeApache-2.0 macOS Windows Linux
NyquistLisp/SAL language for sound synthesis and algorithmic composition; also embedded in Audacity. Lisp / SALSynthesis & DSPSee project macOS Windows Linux
OrcaEsoteric live-coding sequencer where each letter is an operation; sends MIDI, OSC and UDP. JavaScriptLive codingMIT macOS Windows Linux
OvertoneClojure toolkit for programmable, collaborative music built on the SuperCollider synthesis engine. ClojureLive codingMIT macOS Windows Linux
p5.soundp5.js add-on bringing the Processing approach to Web Audio: playback, effects, synthesis and analysis. JavaScriptWeb AudioMIT Web
PartituraPython package for handling symbolic music: MusicXML, MIDI, Humdrum kern, and MEI. PythonComposition & notationApache-2.0 macOS Windows Linux
PedalboardFast Python library for audio effects and VST3/AU plugin hosting, built on JUCE by Spotify. PythonSynthesis & DSPGPL-3.0 macOS Windows Linux
pretty_midiUtility library for handling MIDI data intuitively for analysis and MIR workflows. PythonMIDI toolsMIT macOS Windows Linux
PunctualBrowser language for live coding audio and visuals as signal-processor networks. Punctual (DSL)Live codingGPL-3.0 Web
Pure DataVisual dataflow environment for real-time synthesis, audio processing and interactive multimedia. Pd (visual)Synthesis & DSPBSD-3-Clause macOS Windows Linux
pydubHigh-level Python library for simple audio editing: slice, concatenate, convert, and apply gain. PythonSynthesis & DSPMIT macOS Windows Linux
pyFluidSynthPython bindings for FluidSynth to render MIDI notes through SoundFont instruments. PythonMIDI toolsLGPL-2.1-or-later macOS Windows Linux
pyoPython module written in C for building real-time audio signal-processing and synthesis scripts. PythonSynthesis & DSPLGPL-3.0 macOS Windows Linux
python-rtmidiPython binding to the RtMidi C++ library for real-time MIDI input and output. PythonMIDI toolsMIT macOS Windows Linux
python-sounddevicePlay and record NumPy audio arrays via PortAudio, with blocking and callback streaming. PythonSynthesis & DSPMIT macOS Windows Linux
RAVEIRCAM's Realtime Audio Variational autoEncoder for fast, high-quality neural audio synthesis. PythonML & generativeCC-BY-NC-4.0 macOS Windows Linux
ReaScriptScript REAPER in Lua, Python, or EEL2 to build macros and full extensions via its API. Lua / Python / EELDAW & host scriptingProprietary macOS Windows Linux
RenardoModernized FoxDot fork for live coding music in Python on top of SuperCollider. PythonLive codingGPL-3.0 macOS Windows Linux
Renoise (Lua Scripting API)Lua scripting API for the Renoise tracker to build tools, menu entries, keybindings, and GUIs. LuaTrackers & modularMIT macOS Windows Linux
RiffusioninactiveGenerates music by diffusing spectrogram images — the original open project, now also a polished web app. PythonML & generativeMIT Linux Windows macOS
RTcmixReal-time descendant of Cmix: a C-based synthesis engine driven by Minc scripting scores. Minc / CSynthesis & DSPApache-2.0 macOS Linux
SardinePython live coding environment for algorave, driving MIDI, OSC and SuperCollider with tempo-aware patterns. PythonLive codingGPL-3.0 macOS Windows Linux
SCAMPComputer-assisted composition framework hubbing playback and notation from Python code. PythonComposition & notationGPL-3.0 macOS Windows Linux
ScribbletuneWrite musical patterns as JS strings and export them to MIDI files or play them live via Tone.js. JavaScriptMIDI toolsMIT macOS Windows Linux
Sonic PiCode-based musical instrument for live coding music; popular for education and live performance. RubyLive codingMIT macOS Windows Linux
SoundFileRead and write WAV/FLAC/OGG and other formats via libsndfile, returning NumPy arrays. PythonSynthesis & DSPBSD-3-Clause macOS Windows Linux
SpleeterDeezer's pretrained source-separation library (2/4/5 stems) built on TensorFlow. PythonML & generativeMIT macOS Windows Linux
Stable Audio OpenOpen text-to-audio diffusion model for generating short instrumentals, loops and sound effects locally. PythonML & generativeMIT macOS Windows Linux
STK (Synthesis ToolKit)C++ class library of synthesis and DSP building blocks (oscillators, filters, physical models). C++Synthesis & DSPMIT macOS Windows Linux
StrudelWeb-based live-coding environment; a faithful JavaScript port of TidalCycles for algorithmic patterns. JavaScriptLive codingAGPL-3.0 Web
SunVoxSmall, fast modular synthesizer with a pattern-based tracker sequencer for nearly every platform. Modular trackerTrackers & modularProprietary macOS Windows Linux
SuperColliderReal-time synthesis server plus the sclang language for algorithmic composition and live coding. sclangLive codingGPL-3.0 macOS Windows Linux
SupriyaPython API for the SuperCollider synthesis server: build synths, patterns and score audio. PythonSynthesis & DSPMIT macOS Windows Linux
TeoriainactiveLightweight JavaScript library for classical and jazz music theory: notes, chords, scales, intervals. JavaScriptComposition & notationMIT macOS Windows Linux
thebeatPython package for generating, visualizing and analyzing rhythms and temporal sequences. PythonAudio analysisGPL-3.0 macOS Windows Linux
ThrenoscopeinactiveA live-coding instrument for spatial microtonal drones over long durations. SuperColliderSynthesis & DSPAGPL-3.0 macOS Windows Linux
TidalCyclesHaskell pattern language for live coding algorithmic music; a cornerstone of the Algorave scene. HaskellLive codingGPL-3.0 macOS Windows Linux
TonalFunctional music-theory library for notes, intervals, chords, scales and keys in JavaScript. JavaScriptComposition & notationMIT macOS Windows Linux
Tone.jsWeb Audio framework for making interactive music in the browser, with DAW-like transport, synths and effects. TypeScript / JavaScriptWeb AudioMIT Web
torchaudioPyTorch's audio library: I/O, datasets, and transforms (spectrograms, MFCC) for audio ML. PythonAudio analysisBSD-2-Clause macOS Windows Linux
TroopinactiveReal-time collaborative editor for group live coding in one shared document. Python (editor)Live codingSee project macOS Windows Linux
VCV RackOpen-source virtual Eurorack modular synthesizer host; modules developed in C++ via the Rack SDK. C++Trackers & modularGPL-3.0-only macOS Windows Linux
VerovioFast, portable library for engraving MEI music scores to SVG, with MusicXML/Humdrum/ABC import. C++ / JSComposition & notationLGPL-3.0 macOS Windows Linux
VexFlowTypeScript library for rendering music notation and guitar tablature in the browser (SVG/Canvas). TypeScriptComposition & notationMIT Web
VortexPython port of the TidalCycles pattern language, sending events to SuperDirt via OSC. PythonLive codingGPL-3.0 macOS Windows Linux
wavesurfer.jsRenders interactive audio waveforms with playback, regions, spectrogram and timeline plugins. JavaScriptAudio analysisBSD-3-Clause Web
WebMidi.jsFriendly wrapper over the Web MIDI API for sending and receiving MIDI in the browser and Node. JavaScriptMIDI toolsApache-2.0 Web macOS Windows
YuEOpen foundation model that turns lyrics into full songs — vocals and backing — across many genres. PythonML & generativeApache-2.0 Linux Windows macOS
ZzFXSub-1KB zero-dependency synth that generates game sound effects from a list of numeric parameters. JavaScriptSynthesis & DSPMIT Web

106 tools shown · reference tables →