How to change key label from major to minor
Hello everyone, I have a question: how to label the key signature as major or minor?
It's because when I save the score to midi file, synthesia recognizes it as a major song. But it's actually a minor song. Although the song play the sound as minor, the key label is wrong.
When I create the score, I don't find the feature which can label it as major or minor, neither in advanced edited. Maybe I find the wrong feature...
I upload an E-minor scale midi file. Hope somebody can help me. Thank you.
test.mid
Comments
MIDI doesn't carry this type of information. And if is set to unknown in MuseSAcore, even less so., but IIRC this setting was mainly for MusicXML im- and export
In reply to MIDI doesn't carry this type… by Jojo-Schmitz
I believe whether or not a key signature describes a major or minor key is specified in the last byte of the two-byte key signature meta-event "FF 59" defined by MIDI. Opening up a MIDI file generated by Musescore in a hex editor seems to always shows "FF 59 02 [XY 00]", where XY is a signed 8-bit number representing the number of sharps or flats. Here the last byte is 00 for major but should be 01 for minor.
In reply to I believe whether or not a… by jmensah
Interesting. Feel free to enter this into the issue tracker as a Suggestion.
Can that byte also carry the other possible types, dorian, phrygian etc.?
Hmm, apparently not
But indeed MuseScore's MIDI export explicitly sets that by to 0 (in audio/exports/exportmidi.cpp):
MuseScore seems to read them though on import, (in audio/midi/event.cpp):
(I wonder why it uses German notenames there? Seems it's been that way ever since, at least since 2012-05-26)
But is also has (in importexport/midiimport/importmidi.cpp):
Here ignoring the mode