Composition & Notation Tools, compared
All 18 composition & notation tools in the directory, side by side — language, license, and platforms. Open any tool for install steps and a code example.
| Tool | Language | License | Platforms |
|---|---|---|---|
| abcjsRenders ABC-notation text into SVG sheet music with optional MIDI playback in the browser. | JavaScript | MIT | Web macOS Windows |
| AbjadPython API for building LilyPond files to produce publication-quality music notation. | Python | GPL-3.0 | macOS Linux Windows |
| AldaText-based music composition language; write and play back scores from your editor and terminal. | Go / Kotlin | EPL-2.0 | macOS Windows Linux |
| Bosca Ceoil: The Blue AlbumBeginner-friendly step-sequencer music maker; a modern Godot port of Bosca Ceoil. | GDScript (Godot) | MIT | macOS Windows Linux |
| FrescobaldiPowerful, lightweight text editor/IDE for LilyPond music engraving with live score preview. | Python (PyQt) | GPL-2.0-or-later | macOS Windows Linux |
| isobarPython library for expressing and manipulating musical patterns for algorithmic composition. | Python | MIT | macOS Windows Linux |
| LilyPondText-based music engraving program that produces publication-quality sheet music from plain-text input. | C++ / Scheme | GPL-3.0-or-later | macOS Windows Linux |
| MelroseInteractive Go tool for programming melodies as expressions and playing them live over MIDI. | Melrose (DSL, Go) | MIT | macOS Windows Linux |
| mingusinactiveMusic-theory package for notes, scales, chords, progressions, and MIDI playback. | Python | GPL-3.0 | macOS Windows Linux |
| MuseScoreFull-featured free music-notation and composition app with a QML/JavaScript plugin API. | C++ (plugins in QML/JS) | GPL-3.0-only | macOS Windows Linux |
| music21Toolkit for computer-aided musicology and symbolic-music analysis and generation. | Python | BSD-3-Clause | macOS Windows Linux |
| MusPyinactiveToolkit for symbolic music: convert between MIDI/MusicXML/ABC and load ML datasets. | Python | MIT | macOS Windows Linux |
| PartituraPython package for handling symbolic music: MusicXML, MIDI, Humdrum kern, and MEI. | Python | Apache-2.0 | macOS Windows Linux |
| SCAMPComputer-assisted composition framework hubbing playback and notation from Python code. | Python | GPL-3.0 | macOS Windows Linux |
| TeoriainactiveLightweight JavaScript library for classical and jazz music theory: notes, chords, scales, intervals. | JavaScript | MIT | macOS Windows Linux |
| TonalFunctional music-theory library for notes, intervals, chords, scales and keys in JavaScript. | JavaScript | MIT | macOS Windows Linux |
| VerovioFast, portable library for engraving MEI music scores to SVG, with MusicXML/Humdrum/ABC import. | C++ / JS | LGPL-3.0 | macOS Windows Linux |
| VexFlowTypeScript library for rendering music notation and guitar tablature in the browser (SVG/Canvas). | TypeScript | MIT | Web |