The 2014 Musicxml Meeting
Total Page:16
File Type:pdf, Size:1020Kb
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" <work> <work-title>Toccata</work-title> </work> ... <direction> <direction-type> <words default-y="167" valign="middle" font-family="Times" font- style="normal" font-size="25" font-weight="bold">Toccata</words> </direction-type> <voice>1</voice> <staff>1</staff> </direction> ... MusicXML - Sanitizer EXAMPLE 2, words vs dynamics ... <measure number="67" width="131"> <direction> <direction-type> <words font-family="Times New Roman">mp</words> </direction-type> </direction> ... </measure> ... MusicXML - Sanitizer EXAMPLE 3, fingerings vs credits ... <note default-x="89.83" default-y="5.00"> … <notations> <technical> <fingering>ARIA</fingering> </technical> </notations> </note> ... MusicXML - Sanitizer EXAMPLE 4, chord notes duration ... <note default-x="16"> ... <duration>768</duration> <type>half</type> ... </note> <note default-x="16"> <chord /> <duration>512</duration> <type>half</type> ... </note> ... MusicXML - Sanitizer EXAMPLE 4, slurs starting AND stopping on the same note ... <note default-x="200"> <notations> <slur number="1" placement="below" type="start"> <slur number="1" type="stop"> </notations> </note> ... MusicXML - Sanitizer EXAMPLE 5, missing accidentals ... <attributes> <key> <fifths>-1</fifths>