MIDI text events

• Jul 8, 2014 - 16:03

Hi. I'm trying to use Musescore to create MIDI files that will be consumed by a program I am writing. I want to add extra meaning to the MIDI so that the program can move between sections of the piece to create adaptive music. The simplest solution is to make use of MIDI text events. However I can't figure out how to get any Musescore text object to get converted into MIDI text events on save. Is this possible? I'm willing to write code myself if this doesn't exist.


I presume that you are referring to one of the MIDI meta events? Specifically FF 01 ?

Currently the export of such events is way beyond the current scope of MuseScore.

The only workaround I can suggest is to export from MuseSCore in SMF format and then use MIDI sequencer software to add the text events.

You don't say what OS platform you are working on, but I suspect that the handling of such exotic stuff as meta events is unlikely to be present in a free MIDI sequencer unless you are working on Linux.


No disrespect intended to ChurchOrganist, but to say that for MuseScore to export text events to a MIDI file "is way beyond the current scope" and "exotic stuff" is a bit to dramatic. I agree that it is TOTALLY reasonable to hope that MuseScore would export text events.

Seven years after the original post, I can confirm that MuseScore 3.6.2 still does not export these events to a MIDI file. This is not just FF 01 (text), but also FF 05 (lyrics), FF 06 (marker), and FF 07 (cue point).

Perhaps the MuseScore developers want to encourage us to switch to MusicXML. I see that at least some types of text events are exported to this format.

I have found a workaround. It is not perfect, but it suits my purposes. In MuseScore, I create an additional staff. After I place notes in this staff, I select each note, and in the Inspector (View > Inspector), I set the Velocity Type to "User" and Velocity to a custom number. In my program, I don't play that track as music, but interpret the velocity values. It's not text, but a number between 1 and 127 is adequate.

Do you still have an unanswered question? Please log in first to post your question.