style question about dotted notes in 6/8 time
I ran into this question by accident. I was reading in other posting here that an imported midi score usually needs a lot of clean-up, so I tried an experiment; I saved a MS score as midi and then opened the midi output in MS to see what differences would show up. I happened to chose a piece in 6/8 where I had used a fair number of dotted quarters/halfs for the three- and six-beat durations. The notes MS interpreted from the midi output have no dotted quarters/halves -- instead the notes are tied. I've attached a MS file showing both versions (I pasted the midi-interpreted notes into the second staff). This leads to my question: Is one of these two versions better notation? (as in more concise/readable or otherwise stylistically better?)
Attachment | Size |
---|---|
test1.mscz | 2.07 KB |
Comments
Conventionally your original is more correct.
I'm a bit puzzled though as to why a) you're using tied quavers instead of crotchets, and b) why the MIDI export has interpreted them as 2 quavers without a tie.
Regards
Michael
In reply to Conventionally your original by ChurchOrganist
thanks for info ... and oops: the "tied" notes in the original are (were) actually slurs/ligados. I forgot to remove those when I normalized the notes to same pitch--sorry for that confusion (I've attached a corrected file)
Am now wondering whether this is a sort of a deficiency in MS's midi import for 6/8 time? It seems that the midi importer could become "smarter" about dotting notes in these cases -- maybe not a huge issue, but also maybe not too difficult to fix?
In reply to thanks for info ... and oops: by mtherieau
A MIDI file has a lot less information than the music score. When Musescore reads a MIDI file all it
sees are Note On/Note Off events with a time offset (ticks).
It would be interesting to learn more about the algorithms used by Musescore to "guess" the score.
Your example suggests that Musescore should try and use the longest note duration instead of ties, unless the note
is across a measure. Therefore, a dotted half note (minim) is better than a half note tied to a quarter note.
I tried to "reverse engineer" a score from a MIDI file I found on the web, and the effort involved appeared to be too much.
MIDI files don't have phrasing, dynamics, slurs.
Maybe it is possible to write a plugin to do some cleanup?
Charles
In reply to MIDI to notation is non-trivial! by ozcaveman
I'm also interested in what MS's midi translation algorithm is. In this particular case, I suspect that the algorithm is not fully taking into account the 6/8 time signature, where beats 1 and 4 should be strong and 2,3,5,6 are weak. One way to find out is empirically, by trying combinations of time signatures and note durations, another is to look at the code. If I can figure it out, I'll report back here.
In reply to I'm also interested in what by mtherieau
MuseScore is open source :) The algorithm used to import GM files is in importmidi.cpp (this is the branch version, the one used in 1.1). It depends on the MIDI file parsing in midifile.cpp
In reply to MuseScore is open source :) by [DELETED] 5
heh -- of course it's open source! ;-) Thanks for the pointers lasconic. After wading through importmidi.cpp, I think I have the answer and it has absolutely nothing to do with 6/8 time signature! Apparently when importing from midi , MS never creates dotted durations (at least this is true for MS 1.1 -- haven't checked trunk/2.0). I'm sure lasconic knows this already, but am adding some notes to explain...
The algorithm goes along like this: After quantization the midi importer converts each midi note event to an equivalent group of tied notes, The group starts by placing the largest possible (undotted) note that fits within the midi event duration and then increasingly smaller notes are tied in until the full duration is achieved. In some cases, this can result in 3 (or more) tied notes. A similar set of steps is done for groups of rests, but of course, without the ties. As I found in my original experiment, the result can have a group of two tied notes that could be more concisely shown as a dotted note, but the midi importer never chooses this dotted note option. Also, it's important to mention that after import, it's easy to change the tied notes to dotted, if the dotted notes are preferred.
Interestingly, the midi importer uses a utility function, toDurationList(), that supports an option for using dotted notes to form the group of tied notes, but using that option as it currently stands may have some undesirable consequences. When the "dotted" option is requested, toDurationList() first attempts to place double-dotted notes. I imagine that getting double-dotted notes after a midi import would be undesirable most of the time.
Anyway, my curiosity here is satisfied. If anyone else cares enough to really want dotted durations from midi imports, it seems technically possible with some tweaks, but would require some thought about whether it should be a setting that could be changed when the import is run, similar to the "Shortest note on import" setting.