The MusicXML Meeting
MICHAEL GOOD! VICE PRESIDENT OF RESEARCH AND DEVELOPMENT! ! MARCH 14, 2014! Agenda • Introduction to MusicXML
• MusicXML community progress in the past year
• MusicXML and the Standard Music Font Layout (SMuFL) – With Daniel Spreadbury, Steinberg
• A tool for cleaning MusicXML files from older applications – With Bob Hamblok, neoScores
• MusicXML and the MIDI Manufacturers Association / Association of Musical Electronics Industry (MMA/AMEI)
• Interactive discussions throughout What is MusicXML? • The standard open format for exchanging digital sheet music between applications
• Invented by Michael Good at Recordare in 2000
• Developed collaboratively by a community of hundreds of musicians and software developers over the past 14 years
• Available under an open, royalty-free license that is friendly for both open-source and proprietary software
• Supported by over 170 applications worldwide MusicXML Is a Notation Format • Music is represented using the semantic concepts behind common Western music notation
• Includes both how a score looks and how it plays back
• Includes low-level details of the appearance of a particular engraving, or the nuances of a particular performance – Allows transfer of music between applications with high visual fidelity – Also allows the visual details to be ignored when appropriate – The best display for paper is often not the best for an interactive application MusicXML as an Archival Format • MusicXML is an XML format, with all its advantages: – Files can be opened in any computer text editor – Fully internationalized via Unicode – Files are human-readable as well as machine-readable – Can use all the standard XML tools developed by larger industries than the music industry
• Backward compatibility: all valid MusicXML 1.0 files are also valid MusicXML 3.0 files
• MusicXML license allows continued development of the format by anyone, not just MakeMusic
• Already implemented by over 170 programs Who Uses MusicXML
Usage map as of March 2014 Publishing Scores in MusicXML • MusicXML is the way that scores get from desktop applications like Finale and Sibelius to the new wave of mobile applications
• No DRM controls built-in, though these have been added in the MusicXML-based Open Score Format
• For copyrighted music, MusicXML has usually been a Business-to-Business format, not Business-to- Consumer
• Many sites available with public domain MusicXML scores: see www.musicxml.com/music-in-musicxml Original Finale file MusicXML Reflowed in SeeScore What’s New With MusicXML? • New and improved application support
• New MusicXML Forum replacing the MusicXML mailing list
• New possibilities for MusicXML 4.0 due to SMuFL 1.0 project New MusicXML Writers • Reads and Writes MusicXML – NoteWorthy Composer via MusicXML2NWC and other third party software (formerly beta)
• Writes MusicXML – Logic Pro X – NotateMe – Cadencii New MusicXML Readers – Avid Scorch – Blackbinder – EarMaster – Frescobaldi – Mobile Music Trainer – OveScore – Singer’s Mate – Jellynote (beta) – Quantified Artist (protototype) New MusicXML Forum – Replacing the MusicXML mailing list with a web-based forum was one of the most popular requests from last year’s meetings – New forum launched one week ago using phpBB – Brings over entire MusicXML mailing list archive: • 12 years • Over 1,400 topics • Over 5,300 posts – Now indexed by Google and other search engines – Allows pictures and other media to be included MusicXML Forum – Index View MusicXML Forum – Topic View MusicXML Forum in Google Index MusicXML Forum Launch – Launch appears to have gone smoothly • New topics and replies are being created – Some people had problems associating their MakeMusic account to the phpBB account with their old posts • We’ve updated the web interface to reduce confusion • If you have a problem with your forum registration, email me and our IT staff can correct it quickly – We plan to shut down the mailing list later this month • New discussions on the mailing list will not be transferred to the forum • Mailing list archives will go away as the archives have all been transferred to the forum MusicXML and Music Fonts • MusicXML provides a standard interchange format for music notation semantics, layout, and performance
• But when translating between MusicXML and a music notation application, fonts complicate things
• What code point do I use for a particular MusicXML element in a particular music notation font?
• What do MusicXML’s positioning attributes mean specifically with regards to any particular music font?
• Enter the Standard Music Font Layout (SMuFL) Standard Music Font Layout
MusicXML community meeting 14 March 2014 Daniel Spreadbury A brief history of music fonts
• First commercial music font was Sonata from Adobe in 1985, with 176 glyphs, organised mnemonically for a Latin keyboard • Became de facto standard for mapping of most music fonts: e.g. Petrucci (Finale, 1988), Opus (Sibelius, 1993) • Range of 220 musical symbols was added to Unicode in 1998; to date, no font has completely implemented this Unicode range Problems to be solved
• Lack of a real standard makes sharing music fonts between applications difficult • Sonata’s 170 glyphs and Unicode’s 220 glyphs are insufficiently broad in scope • No agreement on how to expand beyond these initial sets What is SMuFL?
• A standard way of mapping musical symbols to the Private Use Area of the Basic Multilingual Plane in Unicode • A set of technical guidelines for how music fonts should be designed and built • Simple JSON metadata formats to help applications use SMuFL fonts easily • Released under MIT license, free to use/modify What’s included
• 108 discrete sub-ranges of glyphs • 2554 glyphs… and counting! • Includes all 220 glyphs from the Unicode Musical Symbols range • Also includes recommendations for ligatures, stylistic alternates/sets, etc. What’s included Bravura Bravura
• The first SMuFL font (OpenType/SVG/WOFF) • Includes all SMuFL recommended glyphs, and hundreds of optional glyphs • Released under the SIL Open Font License – Free to use, bundle, embed, create derivative versions, etc. – Only licensing restrictions are that the font cannot be sold on its own; derivative versions cannot use the same name; and derivative versions must be released under the same licensing terms Current status
• Version 0.85; targeting 1.0 release in 1H 2014 • After 1.0, existing code points/glyph names won’t change • Remaining milestones to 1.0 release – Technical guidelines for SMuFL fonts for text- based applications – Release of a version of Bravura for text-based applications Current status
• Supported already in LilyPond by way of openLilyLib • Support coming in MuseScore 2.0, Steinberg’s in-development scoring app, other as-yet unannounced projects • Bravura already shipping with commercial products, e.g. from Rising Software Font-specific JSON metadata
{ "fontName" : "Bravura”, "fontVersion": "0.8", "engravingDefaults": { "staffLineThickness": 0.1, "stemThickness": 0.1, "beamThickness": 0.5, "beamSpacing": 0.25, ... }, "glyphs": { "noteheadBlack": { "stemDownNW": [ 0.0, -0.184 ], "stemUpSE": [ 1.328, 0.184 ] }, ... }, } Font-specific JSON metadata More information
www.smufl.org Thank you! [email protected] MusicXML 4.0 and SMuFL 1.0 • SMuFL addresses many standardization issues that have troubled MusicXML developers for years
• What does it mean for MusicXML to support SMuFL? – Does MusicXML add support for all of SMuFL’s thousands of glyphs? – If not, what guidelines to determine which ones? – How about standardization on areas such as font metadata? – Should documentation reference SMuFL canonical glyph names to clarify the graphical appearance of different MusicXML elements? MusicXML 4.0 • SMuFL provides motivation for a major new MusicXML release
• What else besides SMuFL support? – Features and fixes as discussed at last year’s meetings – Improved online documentation A Tool for Sanitizing MusicXML Files • Bob Hamblok, neoScores MusicXML - Sanitizer Open source tool to ‘cleanup / update’ MusicXML files
Bob Hamblok, neoScores MusicXML - Sanitizer!
Why?
- Implementation-quality of MusicXML? - Quality progresses, but what to do with the old files / still existing problems? MusicXML - Sanitizer
EXAMPLE 1, words vs credits
MusicXML - Sanitizer
EXAMPLE 2, words vs dynamics
...
MusicXML - Sanitizer
EXAMPLE 3, fingerings vs credits
...
MusicXML - Sanitizer
EXAMPLE 4, chord notes duration
...
MusicXML - Sanitizer
EXAMPLE 4, slurs starting AND stopping on the same note
...
EXAMPLE 5, missing accidentals
...
EXAMPLE 6
- note duration in time modifications - missing elisions - lyric – extender lines without end - missing/wrong voicing within a chord - brackets used as barline, glissandos, - arpeggiate tenuto, extender line - words used as a lyric hyphen - measure numbering - accidental-mark used as accidental - recalculate divisions to smallest possible - missing composer, search in credits and entity match against database - tieds without stop, laissez vibrer? - whole notes with stem - broken cross-system slurs - single eighth note with beam instead of flag - consequent default-x of a direction in the - part-group without stop first measure of a new system - changing stem direction under one beam - missing stems / flags / beams (should be possible in some situations) - incorrect number of beams - ... MusicXML - Sanitizer
How? (proposal)
- JavaScript/HTML 5
- Make use of MusicJSON https://github.com/saebekassebil/musicjson
- Selection list of modules (plug-ins)
- 2 modes:
- auto-fix ambiguous problems
- user chooses how to fix ambiguous problems. Do we need a UI for this?
- Batch? MusicXML - Sanitizer
Conclusion
- Nothing is decided
- Open questions:
* upgrade files to MusicXML last version?
* Which license to use? MusicXML and MMA / AMEI • The MIDI Manufacturers Association (MMA) and Association of Musical Electronics Industry (AMEI) are the home of MIDI and its related standards. • Industry association that is open to MIDI hardware and software manufacturers
• Affordable for independent software developers • Can move quickly on new standards when someone is driving and there is consensus • Moves slowly when there is industry division • Leader in musical interoperability across generations of equipment AMEI E-Score Proposal • New idea from AMEI to create more business: – IEC interested in eBook Standards – W3C interested in web music notation standards – AMEI suggests MusicXML might be a good solution – Other solutions may also be needed
• This proposal was introduced at the MMA Annual General Meeting held at NAMM last January Possible Standards Homes • MMA / AMEI
• W3C
• ISO / IEC – already has unused e-score standard
• MPEG – already has unused e-score standard
• IEEE – already has unused e-score standard
• MMA and AMEI are the only standards bodies with experts in symbolic music representation Thoughts for MusicXML Home • Always planned that MusicXML would move to a standards body when mature, like PDF
• Requires a standards body that is interested and capable, respecting compatibility with existing MusicXML implementations
• AMEI / MMA proposal is first indication of interest
• What are thoughts on: – Organizations? – Timing? Staying in Touch • MusicXML forum: http://forums.makemusic.com
• Shows: Musikmesse, NAMM, SF MusicTech
• Twitter: @MusicXML
• Facebook: www.facebook.com/MusicXML