LilyPond [SEP] programming language
and a much more complete set of facilities for notating various styles of music.
Design.
LilyPond is mostly written in C++ and uses Scheme (interpreted by GNU Guile) as its extension language, allowing for user customization. It has a relatively large codebase; as of March 10, 2017, the source includes over 600,000 lines of C++, 140,000 lines of Scheme, and 120,000 lines Python code.
It uses a simple text notation for music input, which LilyPond interprets and processes in a series of stages.
2D and 3D graphics programming
- JFugue, a Java and JVM library for programming music that outputs to MIDI and has the ability to convert to formats including ABC Notation, Lilypond, and MusicXML
- jMusic
- JSyn
- Kyma (sound design language)
- Max/MSP, a proprietary, modular visual programming language aimed at sound synthesis for music
- Music Macro Language (MML), often used to produce chiptune music in Japan
- MUSIC-N, includes versions I, II, III