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 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 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 and 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 – – 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

Toccata ... Toccata 1 1 ...

MusicXML - Sanitizer

EXAMPLE 2, words vs dynamics

... mp ... ...

MusicXML - Sanitizer

EXAMPLE 3, fingerings vs credits

... <fingering>ARIA ...

MusicXML - Sanitizer

EXAMPLE 4, chord notes duration

... ... 768 half ... 512 half ... ...

MusicXML - Sanitizer

EXAMPLE 4, slurs starting AND stopping on the same note

... ... MusicXML - Sanitizer

EXAMPLE 5, missing accidentals

... <fifths>-1 minor B 4 ... MusicXML - Sanitizer

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