The Patchbay_

MusPy Alternatives

Looking for an alternative to MusPy? It's toolkit for symbolic music: convert between MIDI/MusicXML/ABC and load ML datasets. Below are 17 other composition & notation tools for making music with code — how each compares, and when it's the better choice. Every option is verified against its own source.

Heads up: MusPy is no longer actively maintained (last activity 2024), so a maintained alternative below may be the safer long-term pick.

AlternativeLanguageLicenseBest for
AbjadPython API for building LilyPond files to produce publication-quality music notation.PythonGPL-3.0Algorithmically composing and engraving complex contemporary notation.
isobarPython library for expressing and manipulating musical patterns for algorithmic composition.PythonMITBuilding generative, pattern-based music and sonification pipelines.
music21Toolkit for computer-aided musicology and symbolic-music analysis and generation.PythonBSD-3-ClauseAnalyzing and manipulating symbolic scores and computational-musicology research.
PartituraPython package for handling symbolic music: MusicXML, MIDI, Humdrum kern, and MEI.PythonApache-2.0Research pipelines that parse and analyze symbolic music across formats.
SCAMPComputer-assisted composition framework hubbing playback and notation from Python code.PythonGPL-3.0Composers who want to script music and get both audio playback and notation.
abcjsRenders ABC-notation text into SVG sheet music with optional MIDI playback in the browser.JavaScriptMITEmbedding editable, playable sheet music from ABC notation on a web page.
AldaText-based music composition language; write and play back scores from your editor and terminal.Go / KotlinEPL-2.0Composing multi-part scores as plain text.
Bosca Ceoil: The Blue AlbumBeginner-friendly step-sequencer music maker; a modern Godot port of Bosca Ceoil.GDScript (Godot)MITQuick, fun melodies and chiptune-style tunes for newcomers.
FrescobaldiPowerful, lightweight text editor/IDE for LilyPond music engraving with live score preview.Python (PyQt)GPL-2.0-or-laterEngraving publication-quality scores with LilyPond.
LilyPondText-based music engraving program that produces publication-quality sheet music from plain-text input.C++ / SchemeGPL-3.0-or-laterHigh-quality, reproducible score engraving and programmatic notation pipelines.
MelroseInteractive Go tool for programming melodies as expressions and playing them live over MIDI.Melrose (DSL, Go)MITComposers who think in melodic/algebraic expressions and drive external MIDI gear.
MuseScoreFull-featured free music-notation and composition app with a QML/JavaScript plugin API.C++ (plugins in QML/JS)GPL-3.0-onlyComposing, engraving and sharing conventional sheet music.
TonalFunctional music-theory library for notes, intervals, chords, scales and keys in JavaScript.JavaScriptMITComputing notes, scales, chords and key relationships inside any JS app.
VerovioFast, portable library for engraving MEI music scores to SVG, with MusicXML/Humdrum/ABC import.C++ / JSLGPL-3.0Server- or browser-side engraving of MEI/MusicXML scores into SVG.
VexFlowTypeScript library for rendering music notation and guitar tablature in the browser (SVG/Canvas).TypeScriptMITProgrammatically rendering music notation/tablature in web apps.
mingusinactiveMusic-theory package for notes, scales, chords, progressions, and MIDI playback.PythonGPL-3.0Exploring and computing Western music theory in Python.
TeoriainactiveLightweight JavaScript library for classical and jazz music theory: notes, chords, scales, intervals.JavaScriptMITLightweight music-theory calculations when a maintained lib like Tonal isn't required.

Notable picks

Abjad Python · GPL-3.0

Python API for building LilyPond files to produce publication-quality music notation. Best for algorithmically composing and engraving complex contemporary notation. Versus MusPy: it's also written in Python, so switching is low-friction; unlike MusPy it's actively maintained.

isobar Python · MIT

Python library for expressing and manipulating musical patterns for algorithmic composition. Best for building generative, pattern-based music and sonification pipelines. Versus MusPy: it's also written in Python, so switching is low-friction; unlike MusPy it's actively maintained.

music21 Python · BSD-3-Clause

Toolkit for computer-aided musicology and symbolic-music analysis and generation. Best for analyzing and manipulating symbolic scores and computational-musicology research. Versus MusPy: it's also written in Python, so switching is low-friction; unlike MusPy it's actively maintained.

Partitura Python · Apache-2.0

Python package for handling symbolic music: MusicXML, MIDI, Humdrum kern, and MEI. Best for research pipelines that parse and analyze symbolic music across formats. Versus MusPy: it's also written in Python, so switching is low-friction; unlike MusPy it's actively maintained.

SCAMP Python · GPL-3.0

Computer-assisted composition framework hubbing playback and notation from Python code. Best for composers who want to script music and get both audio playback and notation. Versus MusPy: it's also written in Python, so switching is low-friction; unlike MusPy it's actively maintained.

Related Python tools

Other Python tools worth a look, from adjacent categories.

ACE-StepAmphionaubioAudioCraft (MusicGen)Basic Pitch
← MusPy overviewAll composition & notation tools