I am a volunteer for the GNU LilyPond (lilypond org) open-source software project. This music engraving software uses a code language written as text files, from which it generates sheet music in PDF and other formats. It can also make MIDI files. There is a current development effort for its MIDI output, adding Sequencer-Specific Meta-Events identifying the text file and line-and-column position in it which produced a given audio event. This will aid code editors and MIDI players with highlighting and synchronizing code and its related audio and visual output.
Working example video: player vimeo com/video/1132810999
Development discussion: gitlab com/lilypond/lilypond/-/merge_requests/2790
In particular, there is a question about needing a System Exclusive ID for the Sequencer-Specific Meta-Events…
gitlab com/lilypond/lilypond/-/merge_requests/2790#note_2897970786
…as described on page 10 of the "Standard MIDI Files 1.0" specification (February 1996).
These IDs are available for a one-time $240 registration fee.
https://midi.org/new-midi-association-sysex-id-policies-as-of-oct-15-2025
There is the 0x7C Limited Non-Commercial ID, for which LilyPond seems to qualify. But it says "The Id… shall not be used… for any of the following mechanisms…" which include "System Exclusive messages with custom or manufacturer defined data format."
Then, found by forum search while writing this post:
If you don't think that your idea or product is worth $240 a year for a SysEx ID, then just give it away. If you want to just innovate and not sell products, there is a range of SysEx IDs available for research and non-commercial use. These have always existed and are documented in the MIDI 1.0 specification.
@"The MIDI Association" : Could this be clarified whether LilyPond needs a SysEx ID, or can use one reserved for non-commercial projects?
Assuming LilyPond needs the SysEx Id, a donor for the $240 can probably be found.
In that case, next question: there is not a legal entity for the LilyPond project. All the developers and community members are participating as individual persons. (As a GNU project, though, there is the upstream Free Software Foundation, a Massachusetts Non-Profit Corporation. How would the SysEx Id registration be expected to work for LilyPond?
Karlin,
this is a very good question 🙂
This music engraving software uses a code language written as text files, from which it generates sheet music in PDF and other formats. It can also make MIDI files. There is a current development effort for its MIDI output, adding Sequencer-Specific Meta-Events identifying the text file and line-and-column position in it which produced a given audio event. This will aid code editors and MIDI players with highlighting and synchronizing code and its related audio and visual output.
I really recommend that you look at UMP support which may cover a lot of your use-cases. I'd like to reach out and discuss this some more with you.
The MIDI Association is also working on a new SMF2 Container format that combines score with MIDI Clips - that may be of interest?
There is the 0x7C Limited Non-Commercial ID, for which LilyPond seems to qualify. But it says "The Id… shall not be used… for any of the following mechanisms…" which include "System Exclusive messages with custom or manufacturer defined data format."
Yes this is correct. The reason here is that if you use 0x7C for this - but then some other product also uses 0x7C in a similar way both products could have corrupt data.
@"The MIDI Association" : Could this be clarified whether LilyPond needs a SysEx ID, or can use one reserved for non-commercial projects?
If you need customised Sysex Data then yes you will need your own Sysex ID
In that case, next question: there is not a legal entity for the LilyPond project. All the developers and community members are participating as individual persons. (As a GNU project, though, there is the upstream Free Software Foundation, a Massachusetts Non-Profit Corporation. How would the SysEx Id registration be expected to work for LilyPond?
An indivdual can hold a Sysex ID, or the FSF maybe a good alternative.