Skip to toolbar

Community & Business Groups

Music Notation Community Group

The Music Notation Community Group develops and maintains format and language specifications for notated music used by web, desktop, and mobile applications. The group aims to serve a broad range of users engaging in music-related activities involving notation, and will document these use cases.

The Community Group documents, maintains and updates the MusicXML and SMuFL (Standard Music Font Layout) specifications. The goals are to evolve the specifications to handle a broader set of use cases and technologies, including use of music notation on the web, while maximizing the existing investment in implementations of the existing MusicXML and SMuFL specifications.

The group is developing a new specification to embody this broader set of use cases and technologies, under the working title of MNX. The group is proposing the development of an additional new specification to provide a standard, machine-readable source of musical instrument data.

w3c/smufl
Group's public email, repo and wiki activity over time

Note: Community Groups are proposed and run by the community. Although W3C hosts these conversations, the groups do not necessarily represent the views of the W3C Membership or staff.

final reports / licensing info

date name commitments
MusicXML Version 3.1 Licensing commitments
SMuFL 1.3 Licensing commitments
SMuFL 1.4 Licensing commitments
MusicXML 4.0 Licensing commitments

Chairs, when logged in, may publish draft and final reports. Please see report requirements.

Publish Reports

Co-chair meeting: June 22, 2021

MNX

Adrian has continued the migration of the old Bikeshed specification to the new docgenerator-based specification. He expects that this will be complete by the time of the next co-chair meeting in two weeks. The existing material is not being updated as part of the migration. Elements that the existing specification suggests could be migrated from MusicXML but providing no further details will be removed from the new specification and GitHub issues will be raised to capture these points for future discussion and specification.

Community group online meeting

The co-chairs would like to arrange an online meeting for the community group, tentatively expected to take place in September via Zoom. The co-chairs will provide a report on the group’s activity over the last year and we will have time for discussion about how the group’s work can proceed from here. We will circulate a poll to find an appropriate date and time for the meeting in due course.

Next meeting

Due to upcoming holidays, the next co-chair meeting will be Tuesday 20 July 2021.

Co-chair meeting: June 8, 2021

MusicXML 4.0

MusicXML 4.0 was released last week and the final community group report has been published on the W3C web site. The musicxml.com web site has now been updated such that the links to the documentation, tutorial, and other similar resources are now redirecting to the final community group report.

If you participated in any of the discussions around MusicXML 4.0 features or documentation, or otherwise made any contributions to the development of this version of the specification, please take a moment to make your licensing commitment.

Michael wants to thank everybody who played a part in building this new version of MusicXML 4.0.

MNX

In the process of finalising the MusicXML 4.0 community group report, there were a few remaining small improvements to the docgenerator tool that were merged by Adrian.

Now that the MusicXML 4.0 community group report has been published, Adrian’s attention will return to completing the migration of the existing MNX Bikeshed specification into the docgenerator tool. Once this remaining work is completed, the group as a whole will be able to return its attention to the further development of the MNX specification.

Next meeting

The next co-chair meeting will be on Tuesday 22 June 2021.

MusicXML 4.0 Report Published

The MusicXML 4.0 Final Community Group Report has now been published at

https://www.w3.org/2021/06/musicxml40/

If you have made a contribution to the report, whether through a pull request or contributing ideas to an issue, please make your licensing commitment by following the steps at

https://www.w3.org/community/music-notation/spec/196/makecommitment

Thanks once again to everyone in the Music Notation Community Group who has contributed to MusicXML 4.0 development. This release addresses many long-standing issues with the format, and allows MusicXML to better support new types of applications.

Special thanks go out to Adrian Holovaty, who developed the documentation system that we used to produce the new report. His work allowed us to update, simplify, and expand the MusicXML 3.0 documentation that Mark Johnson originally developed at MakeMusic in 2012. The move from Flare to open source tools will make the documentation more maintainable for future versions.

New MusicXML 4.0 Draft Report

A new draft of the MusicXML 4.0 Community Group Report has been published and is ready for review at

https://w3c.github.io/musicxml/drafts/4.0-2021-05-25/

Since the previous draft, we have added examples for all MusicXML elements*, added a version history, and updated the tutorial based on Jeremy Sawruk’s review. Adrian Holovaty has fixed all known issues with the documentation generator, so everything now be accurate.

There is a lot of documentation here so we expect there are still some errors left to find and documentation to be clarified. Any reviews of this draft over the rest of this week will be much appreciated. If you find a problem or have a suggestion, please raise an issue at https://github.com/w3c/musicxml/issues.

We are still planning to publish the final version of the report in one week’s time on June 1. Thank you for any assistance you can provide in our final week of work on this new MusicXML update.

*Except for deprecated elements and the other- extension elements.

Co-chair meeting: May 25, 2021

MusicXML 4.0

Work has continued apace on moving towards the final community report for MusicXML 4.0. Three issues have been closed:

  • #280: Documentation changes for hints for code-generation tools
  • #401: Deprecating the DTDs
  • #412: A bug in the docgenerator tool was fixed

The only remaining issue in the MusicXML 4.0 milestone is #411, concerning switching the licensing from the CLA to the FSA for the publication of the final community report.

One big milestone in this new and improved documentation for MusicXML: for the first time, every single element in MusicXML now has an example in the documentation.

Michael plans to publish a new draft later today and will send a separate announcement with its location. Community members are encouraged to review this draft and report any outstanding issues as soon as possible. The plan is still to publish the final community report on Tuesday 1 June, so please review the draft at your earliest convenience.

MNX

Adrian has continued to work on the docgenerator tool in support of Michael’s work on the MusicXML 4.0 documentation, though now that the MusicXML 4.0 documentation is almost complete, the expectation is that there will be much less work on tooling at this point.

Adrian has continued to migrate old material from the old Bikeshed-based spec to the new docgenerator spec, including stem directions, colour, and so on, and published a new revision today, which can be read here. All of these migrations are simply transferring existing material to the new specification and making no functional changes.

For the coming period, Adrian will continue to migrate further material from the old specification to the new. He expects to have some specific proposals about some of the existing elements that could either be reworked or omitted, which he will bring to the community shortly.

Next meeting

The next co-chairs’ meeting will be on Tuesday 8 June 2021.

Co-chair meeting: May 11, 2021

MusicXML 4.0

Michael has opened and closed issue #403 concerning adding a SMuFL attribute to child elements of the percussion element to accommodate a wider range of pictograms for percussion instruments, specifically the stylistic alternates for some of them. The pull request (#404) implements this and also includes the necessary updates to the documentation.

There has been some discussion on the proposal in #401 to deprecate the DTDs with the release of MusicXML 4.0, and based on the feedback received from the development community Michael has decided to postpone this decision to a future version.

Issue #106, concerning a clarification of notes of different durations on the same stem, now has an example to show how this should be encoded in MusicXML and has now been closed.

We appealed for feedback concerning issue #280 for tips for using code generation with MusicXML, and we have received some good feedback that can now be incorporated into the tutorial to help future developers.

There are a few issues remaining with the docgenerator tool that are causing some minor hold-ups in the completion of the documentation, and Michael and Adrian will get together later this week to try to unblock the remaining work. Michael has also created a pull request (#234) in the MNX repository to update the docgenerator tool with some changes that are necessary for anybody else in the community who wants to build the MusicXML documentation for themselves, and Adrian will review and hopefully merge that pull request soon.

Michael has added the MusicXML 4.0 version history into the current draft of the documentation with links to not only all of the issues involved but also directly to the affected elements, which will make it very easy to look at the changes in detail.

MNX

Adrian has been making some further changes to the docgenerator tool to accommodate the new visual design introduced for MusicXML into MNX, and has made a start on moving material from the old Bikeshed spec into the new system, though this is throwing up some questions about how to split up the information that needs further thought. You can see the new visual design in the current draft here.

Next meeting

The next co-chairs’ meeting will be in two weeks on Tuesday 25 May.

MusicXML 4.0 Documentation Update

Our main outstanding issue for the MusicXML 4.0 release is including the full documentation in the Community Group Report. I am happy to announce that the first draft of the full MusicXML 4.0 documentation is now available to review at:

https://w3c.github.io/musicxml/

The documentation is built using the generator tool that Adrian Holovaty initially created for MNX. It takes the MusicXML 4.0 schema and converts it into a Django database, which we then edit to add examples and additional content like the tutorial. Edward O’Riordan from Soundslice contributed to the graphic design.

We believe this version of the documentation has several advantages compared to the previous documentation available for MusicXML 3.0, besides being up to date with the latest 4.0 features:

  • The documentation now hides all the W3C XML Schema implementation details like complex types, attribute groups, and element groups. These are internal building blocks for the schema but of no immediate concern to MusicXML authors and developers. Now all you see are the parts of the schema that do matter to authors and developers: elements, attributes, and simple types (e.g. enumerations, regular expressions, different types of numeric values).
  • The examples and the element documentation are automatically linked together. You can click on any element within an example and get taken to the element documentation. Within the element documentation, you automatically get a list of all the examples that use that element.
  • The documentation is produced by an open source tool that anyone can use. Instructions are included in the Readme file within the MusicXML docgenerator directory.

Please take a look and let us know your thoughts. The documentation is not yet complete, but we think it is at a good enough state to be reviewed. We have brought over all the examples from the MusicXML 3.0 documentation, as well as the tutorial.

We know of four outstanding sets of issues that we are currently working to fix:

  • The documentation for some complex types is being generated incorrectly. Some choices and sequences are not displayed accurately. Everything is correct in the database representation; there are some bugs in the automatic text generation that we need to fix.
  • We need more examples. This is especially true for features added in MusicXML 3.1 and 4.0, but also for some older features where the MusicXML 3.0 documentation missed an example or had an incorrect example.
  • We need to add the version history.
  • The graphic design is still a work in progress.

If you have general comments and suggestions about the documentation structure and layout, please raise those in our main GitHub documentation issue 353. If something is incorrect in the description or example for a particular topic, please raise that as a separate issue if that seems appropriate. If you want to collect a bunch of comments in a single post in the main GitHub issue, that’s fine too.

We look forward to hearing your thoughts on the new documentation! We hope that you agree that it is a big step forward for making MusicXML easier to use and understand. But if you don’t, please let us know that too with suggestions on how to improve things.

Co-chair meeting: April 27, 2021

MusicXML 4.0

Michael has been making excellent progress on the MusicXML 4.0 documentation (#353), working in concert with Adrian and his colleague Edward to address issues of both functionality and aesthetic appearance. Michael is hoping to release a draft of the MusicXML 4.0 documentation for review by May 1, 2021. This draft will be missing a few examples for new features added in MusicXML 3.1 and MusicXML 4.0.

Because there needs to be some time to review the documentation and finish off some small details, Michael proposes that the planned release date for MusicXML 4.0 be pushed back by one month to June 1, 2021.

One remaining issue that Michael needs some assistance with concerns documenting some tips and tricks for using code generation tools (#280). If any community members have any tips and tricks they would be happy to share, please add some details to this issue as soon as possible.

Michael furthermore proposes that the DTDs should be officially deprecated as of MusicXML 4.0 in favour of the XSDs for future versions. He will create an issue for community discussion in due course.

MNX

Adrian has continued to work on the docgenerator tool to support the MusicXML 4.0 documentation. He plans to add a search feature to the docgenerator tool in due course, though all of the pages will also be very easily indexed by search engines such as Google so it should be easy to find individual pages within the published documentation from search engines, too.

The to-do list for the docgenerator tool is dwindling as the MusicXML 4.0 documentation nears completion, so the focus will soon return to completing the migration of the existing MNX spec from the old Bikeshed version to the new docgenerator version.

Next meeting

The next co-chairs’ meeting will be on Tuesday 11 May.

Co-chair meeting minutes: April 13, 2021

MusicXML 4.0

Michael proposes the addition of a new SMuFL attribute to the wavy-line element to allow the specification of specific glyphs from the Multi-segment lines range, and the co-chairs agreed that this would be a good addition, so Michael will add an issue for this and add it to the MusicXML 4.0 milestone.

Michael has also been testing the docgenerator system for developing the MusicXML documentation and has run into a few issues with the import of the existing MusicXML XSDs that need a bit more attention from Adrian before he can make further progress. Adrian will take care of these issues forthwith.

MNX

Adrian has continued to focus his efforts on the docgenerator tool for the MusicXML documentation, and these improvements will make the tool more robust for MNX in the process. Once the docgenerator tool is in good shape, Adrian will turn his attention to continuing to migrate the existing MNX specification to the tool.

Next meeting

The next co-chair meeting will be on Tuesday 27 April 2021.

Co-chair meeting minutes: March 30, 2021

MusicXML 4.0

MusicXML 4.0 is now feature-complete, with all of the in-progress issues now closed:

  • #203 and #204: for guitar bends
  • #281: cross-staff arpeggios
  • #297: increasing the number-level maximum value
  • #277: same stem appearing in multiple parts

Attention has now turned to building the MusicXML 4.0 documentation using the docgenerator tool, which has involved Michael and Adrian sharing feedback and progress – for more specific details, see below.

Michael welcomes feedback on the new features in MusicXML 4.0. If you want to build software or otherwise test against the new schemas, they are available here.

SMuFL 1.4

The final community report (FCR) for SMuFL 1.4 has been published (here and here) and work on this revision of the specification is now complete.

The SMuFL 1.4 FCR is released under the W3C Final Specification Agreement (FSA), under which members of the community group are asked to make a voluntary licensing commitment concerning the intellectual property they have contributed to the project. For more information, read a summary of the FSA.

When you are ready to make your voluntary licensing commitment for SMuFL 1.4, please click here.

There are no immediate plans to start work on SMuFL 1.5, but please feel free to continue to raise and discuss issues so that we can start to build a backlog of areas of future work.

MNX

Adrian has been expanding the MNX documentation tool to handle a variety of new concepts in its data model. All of these are a result of his work to make the tool able to handle the needs of MusicXML:

  • Multiple schemas (in order to handle MusicXML’s Score, Opus, Sounds, etc. schemas)
  • A concept of “site options” (a place to hold site-specific metadata that’s globally available; previously the site hard-coded MNX for this)
  • Ability to treat an element’s sub-elements as either an ordered sequence or a set of choices
  • HTML formatting support for all description text
  • Support for static pages and collections thereof (which will be used, e.g., for the MusicXML tutorial and other documentation pages that aren’t handled by the automatic “reference” part of the docs)

The README has been updated to provide instructions on how to import the MusicXML XSD into the docgenerator system.

Adrian and Michael have been working together to plan the logistics of migrating the MusicXML docs to this system. There are a few remaining technical to-dos, and then begins the process of data entry to get content copied over into the new system.

Next meeting

The next co-chairs’ meeting will be on Tuesday 13 April 2021.