Music Notation Interchange & Score-Encoding DSLs Family Index
type: language-family-index family: music-notation languages_catalogued: 26 tags: [language-reference, family-index, music-notation, musicxml, mei, abc-notation, lilypond, chordpro, humdrum, guitar-pro, mnx, braille-music]
Music Notation Interchange & Score-Encoding — Family Index
Family overview
Music-notation interchange languages are the class of textual formats whose job is to encode written musical scores — pitches, durations, articulations, lyrics, layout hints, performance directions — in a way that can be parsed, transformed, engraved, and round-tripped between software. This is distinct from the creative-music DSLs (Faust, Csound, SuperCollider, ChucK) catalogued in music-audio: those languages produce sound, these languages describe scores. The two ecosystems overlap (a MIDI file can be fed to either world; LilyPond can embed Scheme) but the design centre is different: notation formats optimise for the engraved page and the analytical query, not for the audio sample.
The dominant story since the early 2000s is MusicXML’s twenty-year reign as the interchange standard. Recordare released MusicXML 1.0 in 2004; the format passed to MakeMusic in 2011, then in 2017 to the W3C Music Notation Community Group, which published MusicXML 4.0 as a Community Group Final Report in June 2021. Every major scorewriter — Finale (now sunsetted), Sibelius, Dorico, MuseScore, Notion, NoteFlight, Soundslice — reads and writes it, and “import/export through MusicXML” is the workflow that keeps the proprietary file zoo interoperable. Work on MusicXML 4.1 is underway, with editor Karim Ratib coordinating the roadmap (W3C Music Notation CG, 2026).
In parallel, the academic-musicology world built MEI (Music Encoding Initiative) — same idea (XML for scores) but with full provenance tracking, manuscript-source encoding, multiple-witness/variant editions, and a sister of TEI for music. MEI 5.0 shipped in September 2023, with the maintenance release MEI 5.1 following (and the Music Encoding Conference 2025 hosted at City University of London). Underneath sit two distinct text-DSL traditions: LilyPond’s Scheme-extensible engraver input (2.24.4 stable line, with 2.26.0 cut in April 2026), where the score is the program, and ABC notation (Chris Walshaw, 1991), whose ASCII shorthand (“T:Title K:G GABc dBGd”) still dominates folk-music tunebooks like thesession.org. The proprietary-format zoo (Finale .musx, Sibelius .sib, Dorico, MuseScore .mscz, GuitarPro .gp, Capella .capx) sits on top of these interchange layers.
Looking forward, the W3C Music Notation CG is developing MNX as the eventual MusicXML-2 successor — a JSON-based format with .mnx.json extension and a cleaner conceptual model than the verbose XML inherited from the 1990s SGML lineage. As of April 2026 the spec remains an active draft (bi-weekly co-chair meetings, ID-encoding rules just frozen at 256 ASCII chars). The big risk: MusicXML 4.x has so much installed momentum that MNX has to clear a high bar to displace it. The interesting parallel: just as SMF (Standard MIDI File) got a 2023 sibling in SMF2 / MIDI Clip File for MIDI 2.0 (.midi2), the score-notation world is staging its own generational handover.
In our deep library
None of the music-notation formats have standalone deep-library notes (they live in Tier 3 family-index form).
Cross-reference:
- music-audio — the creative-sound sibling family. Faust, Csound, SuperCollider, ChucK, Sonic Pi, TidalCycles live there as artist-tool DSLs producing audio. Disambiguation: “Faust” in that family is GRAME/INRIA’s Functional AUdio STream language, unrelated to anything in this family.
- document-typesetting — LilyPond emits PDF and shares engraving heritage with TeX; GregorioTeX is a LaTeX package.
- api-description — MusicXML, MEI, CapXML are all XML schemas; MNX is JSON-Schema-shaped.
- notation-spec — formal-specification languages; MusicXML/MEI guidelines themselves are specification artifacts.
- math-notation — engraving overlap; LilyPond and TeX share the “beautiful typeset output from terse text” design centre.
- markup (if catalogued) — most of this family is XML-flavoured markup.
Tier 3 family table — Modern standards (interchange)
| Format | First appeared | Origin | Type | Status (2026) | URL |
|---|---|---|---|---|---|
| MusicXML | 2004 (1.0); 4.0 in June 2021 | Recordare LLC (Michael Good) → MakeMusic 2011 → W3C Music Notation CG 2017 | XML schema; declarative score interchange; partwise & timewise representations | Very active — de facto interchange standard; MusicXML 4.0 current; 4.1 roadmap in progress (Karim Ratib, 2026) | https://www.w3.org/2021/06/musicxml40/ |
| MEI (Music Encoding Initiative) | 1999 (initiative); MEI 1.0 in 2010; MEI 5.0 Sep 2023; 5.1 maintenance | Perry Roland (Univ. of Virginia) → MEI Council | XML schema; academic-grade encoding with provenance, variants, manuscript-source tracking; modular customisations (MEI Basic, CMN, mensural, neumes, tab) | Active; MEI 5.x is the current line; MEC 2025 at City University of London | https://music-encoding.org/guidelines/v5/content/introduction.html |
| MNX (Music Notation eXchange) | First proposed 2016; spec in development | W3C Music Notation Community Group (Joe Berkovitz, then Adrian Holovaty, Daniel Spreadbury, Karim Ratib) | JSON-based score interchange intended as MusicXML’s successor; .mnx.json extension | In development as of 2026 — active bi-weekly CG meetings; ID-encoding rules recently frozen; no finalised spec yet | https://w3c.github.io/mnx/ |
| NIFF (Notation Interchange File Format) | 1995–1998 | Cindy Grande + a consortium of vendors | Binary RIFF-based score interchange | Defunct — never reached critical mass; superseded by MusicXML | http://www.music-notation.info/en/formats/NIFF.html |
| MusicJSON / mjson | ~2013 | Various proposals; no single canonical author | JSON cousins of MusicXML; lossy in practice | Niche / experimental — superseded conceptually by MNX | https://github.com/grame-cncm/mxjson |
Tier 3 family table — Engraver / programmable text input
| Format | First appeared | Origin | Type | Status (2026) | URL |
|---|---|---|---|---|---|
| LilyPond input language | 1996 | Han-Wen Nienhuys, Jan Nieuwenhuizen | Plain-text input for the LilyPond engraver; Scheme-extensible, declarative-with-imperative-escape | Very active; 2.24.4 stable + 2.26.0 released April 2026; 2.27.x development | https://lilypond.org/doc/ |
| Verovio toolkit (engraving) | 2014 | Laurent Pugin, RISM Digital Center | C++/JS/Python library that engraves MEI/MusicXML/Humdrum → SVG; input languages are the source formats, not a new DSL | Very active; Verovio 6.1 current (2026) | https://www.verovio.org/ |
| VexFlow notation strings (EasyScore) | 2010 | Mohit Cheppudira | JavaScript library for browser music engraving; EasyScore is its concise mini-DSL (“C4/q, D4, E4, F4”) | Active; VexFlow 5.0 current | https://www.vexflow.com/ |
| alphaTex (alphaTab) | ~2014 | Daniel Kuschny (CoderLine) | Text DSL for the alphaTab engraving library; targets guitar/tab use cases | Active; alphaTab 1.8.x current | https://alphatab.net/docs/alphatex/introduction |
| SCORE | 1980s | Leland Smith (Stanford CCRMA) | Engraving DSL with extreme micro-positioning control; column-oriented input | Legacy — historically influential, esp. for high-end music engraving; effectively retired | http://scoremus.com/ |
| GregorioTeX / gabc | 2007+ | Abbaye Sainte-Madeleine du Barroux (Élie Roux et al.) | gabc is an ASCII DSL for Gregorian chant; GregorioTeX is the LaTeX package that engraves it | Active; Gregorio 6.x current; used widely in liturgical-music publishing | https://gregorio-project.github.io/ |
Tier 3 family table — Folk / popular / tab / chord
| Format | First appeared | Origin | Type | Status (2026) | URL |
|---|---|---|---|---|---|
| ABC notation | 1991 (ABC); ABC 2.1 spec Dec 2011 | Chris Walshaw | ASCII shorthand for monophonic/polyphonic tunes; “T:Title K:G GABc” syntax | Active; ABC 2.1 is current standard; 2.2/2.3 in planning (Walshaw, 2024+) | https://abcnotation.com/wiki/abc:standard:v2.1 |
| ChordPro | 1991 (Chord 3.x); ChordPro language v6 current | Martin Leclerc (original Chord), Johan Vromans (modern ChordPro implementation) | Chord-over-lyrics format; {title:} / [C]chord markers; reference impl. emits PDF | Active; ChordPro 6.089.x current as of late 2025 | https://www.chordpro.org/chordpro/chordpro-introduction/ |
| Guitar Pro file format (.gp7/.gp/.gpx/.gp5) | 1997 (Guitar Pro 1); .gp introduced GP7 (2017); current Guitar Pro 8 | Arobas Music | Proprietary tab format; .gp is a ZIP container around score.gpif XML; preserves tab + multi-track + audio playback | Active (commercial product); .gp7/.gp8 current; .gp5/.gpx legacy but still widely read | https://www.guitar-pro.com/ |
| Plaine & Easie Code (PAE) | 1964 (Brook proposal); v2 spec current | Barry Brook (CUNY) → IAML / RISM | Compact ASCII text for music incipits; designed for library catalogues | Active — RISM holds >1M incipits in PAE; v2 spec maintained by rism-digital | https://plaine-and-easie.info/v2/ |
| Helmholtz pitch notation | 1863 | Hermann von Helmholtz | Text pitch convention: C, c, c’, c”, C, with capital/case + primes denoting octave | Active (entrenched convention, no version cycle) | https://en.wikipedia.org/wiki/Helmholtz_pitch_notation |
| Scientific Pitch Notation (SPN) | 1939 (ASA) | Acoustical Society of America | Text pitch convention: C4, A4 = 440, C5, etc.; the modern default | Active, near-universal in tooling | https://en.wikipedia.org/wiki/Scientific_pitch_notation |
| Plain-text tab (.tab / Ultimate-Guitar style) | Late 1980s (Usenet rec.music.makers.guitar) | Folk convention, no single author | Monospace ASCII fretboard diagrams; informal but ubiquitous | Active (de facto on tab-sharing sites); no formal spec | https://en.wikipedia.org/wiki/Tablature |
Tier 3 family table — Academic / specialized
| Format | First appeared | Origin | Type | Status (2026) | URL |
|---|---|---|---|---|---|
| Humdrum **kern | 1980s; toolkit released 1994 | David Huron (Ohio State) | Tab-separated columnar ASCII format for computational musicology; multiple “exclusive interpretations” (**kern,**dyn, **harm, etc.) | Active in research; VHV (Verovio Humdrum Viewer) and humlib (Craig Sapp) modernise it; KernScores repository has tens of thousands of works | https://www.humdrum.org/ |
| MEI Neumes module | 2011+ (in MEI) | MEI Council + medievalist contributors | XML module within MEI for medieval neumatic notation; supports St Gall, Laon, square, etc. | Active in MEI 5.x | https://music-encoding.org/guidelines/v5/content/neumes.html |
| MEI Mensural module | 2011+ (in MEI) | MEI Council | XML module for pre-CMN mensural notation (14th–16th c.) | Active in MEI 5.x | https://music-encoding.org/guidelines/v5/content/mensural.html |
| Braille Music Notation | 1830s (Louis Braille); Music Braille Code 2015 current | Louis Braille → BANA / ICEB | Tactile-text formal grammar; New International Manual (1996, Krolick ed.) + Music Braille Code 2015 (UEB-aligned) | Active; MBC 2015 endorsed by ICEB as the current resource | https://www.brailleauthority.org/music/Music_Braille_Code_2015.pdf |
| Standard MIDI File (SMF / SMF2) | 1988 (SMF 1.0); SMF2 / MIDI Clip File May 2023 | MIDI Manufacturers Association (MMA) | Binary interchange of performance data (notes, controllers, tempo); not score notation per se but adjacent and universal | Active; SMF 1.0 ubiquitous; SMF2 (.midi2) launching alongside MIDI 2.0 / UMP | https://midi.org/midi-clip-file-specification-smf-midi-2-0 |
Tier 3 family table — Proprietary native formats (briefly)
| Format | First appeared | Origin | Type | Status (2026) | URL |
|---|---|---|---|---|---|
| MuseScore .mscz | 2002+ (MuseScore 1.0 was 2011) | Werner Schweer → Muse Group | ZIP container around internal MSCX XML; effectively MuseScore’s serialised model | Very active; MuseScore Studio 4.6.x stable, 4.7 beta as of Feb 2026 | https://musescore.org/ |
| Finale .musx | 2014 (replaced .mus from 1988) | MakeMusic (Coda → MakeMusic) | Proprietary binary | Sunsetting: MakeMusic announced Finale’s end-of-life in 2024; .musx readers maintained for migration only | https://www.finalemusic.com/ |
| Sibelius .sib | 1993 | Sibelius Software → Avid | Proprietary binary | Active (Avid commercial); read by MuseScore/Dorico via import paths | https://www.avid.com/sibelius |
| Dorico (project files) | 2016 | Steinberg (Daniel Spreadbury et al., post-Sibelius team) | Proprietary; deep MusicXML import/export | Very active (commercial); Dorico 5.x current line | https://www.steinberg.net/dorico/ |
| Capella .cap / .capx (CapXML) | 1995 (.cap); CapXML 1.0/2.0 (.capx ZIP) later | capella-software AG (Germany) | Binary .cap legacy; modern .capx is a ZIP with score.xml (CapXML) inside | Active, esp. in German-speaking choral/orchestral publishing | https://www.capella-software.com/ |
| Soundslice / NoteFlight (web-native) | Soundslice 2012; NoteFlight 2008 | Adrian Holovaty (Soundslice); NoteFlight Inc. → Hal Leonard | Proprietary cloud formats; both read/write MusicXML for interchange | Active (commercial); both core to web-based music-ed workflows | https://www.soundslice.com/ |
Total: 26 entries across the five tables.
Notable threads
-
MusicXML as the lingua franca, twenty years in. Almost no scorewriter writes only its native format anymore. Finale (RIP), Sibelius, Dorico, MuseScore, NoteFlight, Soundslice, Notion, Capella, GuitarPro, alphaTab — they all read and write MusicXML, and round-trip fidelity has improved steadily since 4.0 (June 2021) added concert-score support, score+parts in a single file, score-following hints, and improved Roman-numeral analysis. The W3C Music Notation CG (chaired by Adrian Holovaty, Daniel Spreadbury, and Karim Ratib in 2026) shepherds the spec; the 4.1 roadmap is in progress. This is the format you generate if you don’t know which downstream tool will consume it.
-
MEI is the academic counterpart with richer semantics. Where MusicXML asks “how do I draw this score?”, MEI asks “what is the philological structure of this source?” — manuscript witnesses, scribal hands, variant readings, editorial emendations, provenance metadata. MEI 5.0 (Sep 2023) and the 5.1 maintenance release are current; the Music Encoding Conference 2025 (City University of London, June 2025) and the active Music Encoding Initiative organisation keep momentum. The Neumes and Mensural modules extend MEI back into medieval and Renaissance repertoires where MusicXML simply doesn’t model the concepts.
-
LilyPond’s bet on programmable text-as-score, vindicated. LilyPond (2.24.4 stable; 2.26.0 cut April 2026; 2.27.0 development a few days later) treats the score as a program. The input language is declarative but Scheme-extensible — you can write a function that emits a fermata only on the last note of a passage, parametrise an entire piece by transposition, generate twelve-tone rows programmatically. The trade-off: notoriously steep learning curve, slow first-paint compile, and weak interactive WYSIWYG. The reward: engraving quality that score editors still chase, and source files that diff/version-control cleanly. The Cairo rendering backend added in 2.26 also closes a long-standing PDF-output gap.
-
ABC’s quiet folk-music monopoly. ABC (Chris Walshaw, 1991) was designed to be typeable on a single line and readable to a musician who’s never seen the syntax — “X:1 T:Drowsy Maggie M:4/4 K:Edor |:eBBA B2EB|” is just a tune. ABC 2.1 (Dec 2011) is the current canonical standard; ABC 2.2/2.3 are in planning with Walshaw coordinating. The thesession.org / abcnotation.com tunebook archives host hundreds of thousands of folk tunes; abcjs (JavaScript renderer) and EasyABC (desktop editor) are the modern toolchain. Folk and Irish/Scottish/English traditional music remain ABC’s anchor community.
-
Humdrum kern’s role in computational musicology. David Huron’s tab-separatedkern format is the substrate of large-scale corpus studies — the KernScores repository alone holds tens of thousands of works (Bach chorales, Beethoven sonatas, Chopin mazurkas, Joplin rags) encoded in kern. The Verovio Humdrum Viewer (VHV) gives it modern web-based rendering; Craig Sapp’s humlib maintains the C++ toolchain. If you’re writing a paper on Bach voice-leading or Mozart’s harmonic vocabulary, you’re probably running scripts overkern data.
-
MNX status check (2026). The W3C Music Notation CG has been working on MNX since 2016 as the planned MusicXML successor. As of April–May 2026, the spec remains in active draft: bi-weekly Tuesday meetings focus exclusively on MNX issues, the file extension is
.mnx.json, and ID-encoding rules were just frozen at “up to 256 ASCII characters, no spaces or non-printable” specifically to allow interop with MuseScore’s internal IDs. The big open question — will MNX achieve the network effects that MusicXML already has? — has no answer yet. Realistic forecast: MusicXML 4.x and MNX coexist for years, with MNX gaining ground in greenfield JSON-native tooling (web editors, ML models, JSON-Schema validators). -
The proprietary file zoo, and MuseScore’s open ascendancy. Every commercial scorewriter has its own native binary or ZIP-wrapped XML: Finale .musx (now end-of-life — MakeMusic announced Finale’s discontinuation in 2024), Sibelius .sib, Dorico’s project files, Capella .capx, GuitarPro .gp(7/8). MuseScore .mscz is the open-source exception (ZIP around MuseScore’s internal MSCX XML), and MuseScore Studio 4.6/4.7 (2026) has matured enough to be a serious Sibelius/Dorico alternative — Muse Group’s acquisition of Audacity and investment in MuseScore + Muse Sounds shifted the open-source notation centre of gravity. The interchange story holds: MusicXML is the bridge, every tool import/exports it.
-
The MIDI-2.0 sibling story. Standard MIDI File (SMF) has been the universal performance interchange since 1988 — every DAW reads
.mid. In May 2023 the MMA released the MIDI Clip File / SMF2 specification (.midi2extension) built on the Universal MIDI Packet (UMP) format that underpins MIDI 2.0, with per-note controllers, higher resolution, and bidirectional capability inquiry (MIDI-CI). SMF2 isn’t a score notation format (it carries performance data, not engraving hints), but it deserves a slot in this family because it’s how notation tools exchange “what to play” with DAWs. Adoption is gradual — MIDI 1.0’s installed base is enormous. -
ChordPro and the songbook ecosystem. ChordPro (current language v6, reference implementation 6.089.x as of late 2025) is the small-but-resilient format for chord-over-lyrics songbooks — worship leaders, jam-session organisers, folk-club tunebook compilers. The reference implementation generates PDF natively and supports configuration files for instrument/style/task presets. Adjacent formats (OpenSong, Cyberchord, Songbook) cluster around the same use case but ChordPro has the cleanest spec and largest ecosystem.
-
Plaine & Easie as the library-catalogue incipit format. Designed in 1964 by Barry Brook (CUNY) for capturing the first few notes of a piece in compact ASCII (so librarians could search a card catalogue for “the piece that starts G’A’B’c c’cBA”), PAE remains the standard for music-library incipit encoding. RISM holds over a million incipits in PAE; the v2 spec maintained at rism-digital/pae-code-spec formalises what had previously been documented inconsistently. The format isn’t a full score notation — it’s deliberately just enough to identify a work — but it survives because no replacement has emerged for that specific job.
-
Braille Music as the accessibility track. Often overlooked in software-developer surveys, Braille music notation has a fully formal grammar (BANA’s Music Braille Code 2015 is the current authority, UEB-aligned; the 1996 New International Manual edited by Bettye Krolick is the cross-jurisdiction reference). Tools like Toby Rush’s Braille Music Notator and BraillEdit translate from MusicXML/MEI to embossable Braille, which makes MusicXML’s role as the upstream interchange format directly load-bearing for blind and partially-sighted musicians.
Citations
- MusicXML 4.0 (W3C Community Group Final Report, June 2021): https://www.w3.org/2021/06/musicxml40/
- MusicXML specification GitHub (w3c-cg/musicxml): https://github.com/w3c-cg/musicxml
- W3C Music Notation Community Group: https://www.w3.org/community/music-notation/
- W3C Music Notation CG co-chair meeting minutes (March/April 2026, MNX status): https://www.w3.org/community/music-notation/2026/04/08/co-chair-meeting-minutes-april-8-2026/
- MEI 5 Guidelines: https://music-encoding.org/guidelines/v5/content/introduction.html
- MEI 5.0 release: https://github.com/music-encoding/music-encoding/releases/tag/v5.0
- Music Encoding Conference 2025: https://music-encoding.org/conference/2025/
- LilyPond manual (current stable 2.24): https://lilypond.org/doc/
- LilyPond 2.26.0 release news (April 2026): https://lilypond.org/news.html
- ABC notation standard 2.1 (Walshaw, Dec 2011): https://abcnotation.com/wiki/abc:standard:v2.1
- ABC notation home & tune archive: https://abcnotation.com/
- Humdrum Toolkit (Huron): https://www.humdrum.org/
- Verovio engraving toolkit (current 6.1): https://www.verovio.org/
- Verovio Reference Book: https://book.verovio.org/
- VexFlow (current 5.0): https://www.vexflow.com/
- alphaTab / alphaTex DSL: https://alphatab.net/docs/alphatex/introduction
- ChordPro 6 reference & release notes: https://www.chordpro.org/chordpro/chordpro6-relnotes/
- Plaine & Easie Code v2 specification (RISM): https://plaine-and-easie.info/v2/
- Gregorio project / gabc tutorial: https://gregorio-project.github.io/
- Music Braille Code 2015 (BANA): https://www.brailleauthority.org/music/Music_Braille_Code_2015.pdf
- New International Manual of Braille Music Notation (Krolick, 1996, RNIB hosted PDF): https://media.rnib.org.uk/documents/New_International_Manual.pdf
- MIDI Clip File / SMF2 specification (May 2023): https://midi.org/midi-clip-file-specification-smf-midi-2-0
- Guitar Pro 7/.gp format breakdown: http://www.music-notation.info/en/formats/GuitarProFormat.html
- alphaTab Guitar Pro 8 (.gp) docs: https://alphatab.net/docs/formats/guitar-pro-8
- MuseScore Studio 4.7 beta announcement (Feb 2026): https://musescore.org/en/node/389515
- Capella (notation program) overview & CapXML format: https://en.wikipedia.org/wiki/Capella_(notation_program)
- Soundslice notation editor: https://www.soundslice.com/notation-editor/
- NoteFlight: https://www.noteflight.com/
- NIFF historical reference: http://www.music-notation.info/en/formats/NIFF.html