210 likes | 373 Views
Markup Languages for Music: MusicXML. Music 253/CS 275A Stanford University. XML in Music: A s hort history. 1998 to present: Corpus Mensurabilis Musicarum Electronicum 2000-2007: OS-specific MusicXML 2007-2011: Java-based MusicXML 2010---: MuseScore et al. rely on MusicXML
E N D
Markup Languages for Music: MusicXML Music 253/CS 275A Stanford University
XML in Music: A short history • 1998 to present: Corpus MensurabilisMusicarumElectronicum • 2000-2007: OS-specific MusicXML • 2007-2011: Java-based MusicXML • 2010---: MuseScore et al. rely on MusicXML • 2011---: MusicXML owned privately by MakeMusic • 2013: MakeMusic acquired by Launch Equity See http://www.musicxml.com/ 2014 Eleanor Selfridge-Field
XML-based codes: CMME for virtual editions (early music) • Corpus MensurabilisMusicarum(est. 1998) Est. and built by Theodor Dumitrescu, Oxford-Utrecht-Berkeley) Goal: One encoding, multiple systems of notation for mensural notation cmme.org From The Virtual Score. Used by permission.
CMME (2013) • Computerized Mensural Musical Editing • Based in Utrecht • Marnix van Berchum (director from 2012--) • Home of “The Other Josquin” [attribution study] • Source code publicly available (GNU license) at https://github.com/tdumitrescu/cmme-editor 2014 Eleanor Selfridge-Field
CMME today Content lists, some scores for 15th-16th cent music http://www.cmme.org 2014 Eleanor Selfridge-Field
In the beginning… Efforts to facilitate interchange (via XML) CMME (1998) MusicXML (2000) MuseScore Add-ons to other software • Beyond MIDI (1997) • IMS study group • 39 contributions • 3 interchange codes • 5-10 defunct • Lacks Guido (2001); cf. CM 13 (2001) http://beyondmidi.ccarh.org/beyondmidi-600dpi.pdf 2014 Eleanor Selfridge-Field
From data to apps: MuseData Model MuseData 2014 Eleanor Selfridge-Field
MusicXML vis-à-vis MuseData MuseData MusicXML 2014 Eleanor Selfridge-Field
MusicXML: History • Developed from 2000 by Michael Good • DistribRecordare(2002-2011) • V. 1: platform-specific (2004) • V. 2: Java (2007) • V. 3: Java (2011) • Sold as add-on to Finale, Sibelius et al. • Sold to MakeMusic (Finale) in 2011 • Native in Finale; more limited capabilities in Sibelius http://www. makemusic.com/musicxml/ Sibelius team moved to Steinberg as Keeping Score NAMM 2011 2014 Eleanor Selfridge-Field
MusicXML: Main Aims • Nexus of all notation interchange schemes • Commercially based • Highest structural compatibility with MuseData and Humdrum • Most useful tool for converting from older versions of Finale! • In use over past decade by many small sw companies and a few music publishers (inc. Hal Leonard) 2014 Eleanor Selfridge-Field
image from: http://recordare.com/xml.html Purpose • Primary function of MusicXML is data interchange between programs: Guido Finale MuseScore MuseData Humdrum Sibelius Lilypond SCORE • Designed for encoding common-practice western music notation. 2014 Craig Stuart Sapp; rev. esf 2010
Part/score orientation inMuseData 1. Encode voice by voice for full movement 2. Add lyrics, other refinements 3. Repeatuntil all movements are encode 4. Assemble score 2014 Eleanor Selfridge-Fieldt
Part/score orientation inMusicXML Encode voice by voice or bar by bar Transform array as needed 2014 Eleanor Selfridge-Fieldt
MuseScore • Uses MusicXML instead of individual rep system • Java-based • Doc in several languages • Open-source level • Closed-source level • YouTube tutorials • For now: shareware musescore.org Music by Marc Sabatella 2014 Eleanor Selfridge-Field
Lilypond • Shareware (GNU) engraving, own code (c. 2005) • Dev (Han Wen Nienhuys) in Netherlands (now lives in Brazil) • All platforms (mainly unix/linux) • TeX-like syntax, markup • Extensive online documentation • Musicxml2lp script (Lilypond 2.12.3) • Hosts “unofficial MusicXML test suite” • (no official test suite) • Good categorical organization http://www.lilypond.org/doc/v2.16/Documentation/snippets.pdf http://lilypond.org/doc/v2.12/input/regression/musicxml/collated-files.html#Test-cases 2014 Eleanor Selfridge-Field
MusicXML: Current status (v. 3.0, 2013) • http://www.makemusic.com/musicxml/specification/dtd • Partwise/timewise conversion (v. 1.0) • “Common” DTD (v. 3.0) • Sound: timbral recognition (sounds.xml, v. 3.0) • MIDI: in absolute or delta times (v. 3.0) • Layout module (v.1.1): formatting data as elements • Other: some support for recent music, no semantic support for early music 2014 Eleanor Selfridge-Field
MusicXML: basic file structure • Row/column rotation handled through XSLT style-sheets (no style sheets in beginning) • Score/part/measure elements at top of file • Lots of metadata fields possible in score header • DTD: http://www.musicxml.com/for-developers/musicxml-dtd/ 2014 Eleanor Selfridge-Field
MusicXML: MIDI interface Accidental=“alter” 2014 Eleanor Selfridge-Field
MusicXML Apps Scorio (2014) -import from MusicXML -export to LilyPond -print (PDF) -play MIDI 2014 Eleanor Selfridge-Field
MusicXML Apps Scorio, 2 2014 Eleanor Selfridge-Field
MusicXML: Towards the Future • Claims 170 apps used MusicXML • Scorch, Frescobaldi, JillyNote, Mobile Music Trainer, • Thrust moving towards greater privatization • E.g. Steinberg’s SMuFL (http://www.smufl.org/): • “a specification that provides a standard way of mapping the thousands of musical symbols • required by conventional music notation into the Private Use Area in • Unicode’s Basic Multilingual Plane for a single OpenType font.” • Claims interest in MusicXML and MEI 2014 Eleanor Selfridge-Field