Open MIDI file - very odd spelling of notes!

• Jul 18, 2012 - 02:33

I created a MIDI file in Reaper and exported the MIDI to a midi file. The piece was in D minor, and it was all diatonic to that key (i.e., there were no accidentals at all).

But when I opened the MIDI file in Musescore, it decided to use a key signature of C# minor (or E major) and is spelling all the notes with crazy accidentals. For example, it's spelling:

D as Cx
C as B#
F as E#


I've tried adjusting the key signature to D minor, and that didn't change anything. Then I tried transposing the notes up a minor 2nd and then back down to see if they would readjust themselves, now that the key sig. is one flat. But that didn't work either.

How do I fix this? There has to be a way other than adjusting each and every note. It would probably be faster to input the entire piece than do that.



Well, I found a pretty easy fix for this. Once I had set the key signature, I selected all the notes, pressed the up arrow key, and then pressed the down arrow key. (Or I may have pressed up twice and then down twice.) That seemed to do it; it started spelling the notes the right way then.

Very strange. There seems to be no rhyme or reason with regards to which key signature it chooses when opening a MIDI file. After I did that, I opened another instrument part from the same piece, which was also in D minor with no accidentals, and it decided to put it in G major and spell all the notes correctly.

Go figure.

DId you tell Reaper what key signature to use? Did Reaper include that information in the file? Can you post it? What version of MuseScore? What OS?

BTW, in addition to the arrow method, simply selecting all and using the Transpose command would have done the trick, and it would have updated the key signature for you.

In reply to by Marc Sabatella

I had a similar problem, but the MIDI file I imported wasn't one I had created, and I didn't know the proper key of the piece. I had heard it before, however, and noticed that where semitones were normally heard, some of the accidentals were missing. MuseScore didn't show them, and so was not playing them, either. I tried the note speller, and wound up with the key note spelled as D Flat. Well, the actual pitch of the key note was coming out as C, and in fact, the whole piece was playing in C Major, with a D Flat Major key signature! It sounded correct, however, so I decided to leave it that way, since my only reason for importing the MIDI was to create a .WAV file and convert that to an MP3.

There were no bar lines, by the way, but I fixed that by adding a time signature. Even then, every quarter note appeared as two eighth notes tied together, or sometimes a dotted eighth followed by a sixteenth, the two tied together. This didn't affect playback, however.

In reply to by Marc Sabatella

Did you tell Reaper what key signature to use? No I didn't. To be honest, I didn't even know that MIDI sequencers dealt with key signatures at all.

My MuseScore is version 1.2
Windows XP SP3

I tried the transpose command before I did the arrow thing, and I couldn't get it to work. When I moved the notes back down, they were still all funky. Maybe I didn't do something right.

When you say "can you post it," to which file are you referring?


In reply to by famous beagle

My point was to not transpose and the transpose back down - just tranpose to the desired key. I am not fully understanding why you are transposing twice. When I say you should attach a score if you need further help, I mean the MSCZ file itself. Possibly also the MIDI file you are starting with.

In reply to by Marc Sabatella

If I understand correctly, transposing to the 'desired' key is not working in this case.

The piece (in all its avatars: in Reason, as a MIDI file, as imported in MuseScore) already is in D minor; but, along the way the key signature got lost and MuseScore reconstructed a C# minor signature, whence 'wrong' note spellings.

Transposing it into D minor would not fix anything: each note would be raised by one semitone, the piece would become a piece in D# minor notated as it would be a piece in D minor and wrong spellings would remain.

I am not familiar with MIDI internals, but I am not sure MIDI can store key signature info. OTOH, there seem to be problems in MuseScore ability to either retrieve this info or to reconstruct the key of the piece (or both).

I suspect that for an automatic process determining the correct key of a piece of music is more complex than for humans.

So I wonder if simply adding the choice of destination key signature in the MIDI Importing dlg box would solve (reduce?) problems, at least when the key is known in advance or can be determined after a first, tentative, import. Not the final solution, but a step forward anyway.

How do other notation programs address this point?


In reply to by Miwarre

Yes, this is correct. Transposing to the key of D minor did not fix the problem. When I did this, the notes actually changed pitch---they all raised a half step (I'm not sure why). The first note became D#, and the rest continued with odd spellings like E#, etc.

When I tried to "transpose by interval" and select minor 2nd down, everything went back to the way it originally was, using Cx's.

I tried every combination in the "Transpose" menu I could find, including Transpose Key, Transpose Interval, and the options "Transpose Key Signatures" (checked or unchecked) and Use Double Sharps and Flats or Single Sharps and Flats Only. I couldn't get it to work with any of those methods.

The only fix I found was to select all the notes, move them up a half step with the up arrow key, and then move them back down a half step with the down arrow key. At that point, D was actually written as D, and all the other notes were written normally as well. This worked whether I had already changed the key signature to D minor or left it as C# minor (as it became when I opened the file). When I had left it as C# minor and did the arrow trick, the notes were spelled correctly with the appropriate accidentals added (a natural on a C or F note, etc.). When I then switched the key signature to D minor, those accidentals went away, and I was left with a perfect score in D minor.

Here is the MuseScore file. If you can find another fix in the "Transpose" menu, please let me know. However, the arrow trick is very fast, so I'm not too worried about it now. I do wonder if, as Miwarre suggested, a key signature choice upon the opening of a MIDI file would help.

And here is the original MIDI file as well.

In reply to by Miwarre

Sorry, I wasn't clear at all. I meant to first arrow them down so they match the existing key signature, then use the transpose feature to move both the notes and key signature to the correct key at once. The point being there should be only steps needed, not the three or four originally described.

As far as I know, a MIDI file *can* contain a key signature, and generally should if you intend to convert to notation. if the file contains the wrong key signature, I imagine handstands would probably be needed in case of mismatch in any program.

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