Closed napulen closed 3 years ago
Hiya @napulen, doomscrolling on Github led me to happen across this. Clearly this is an issue in music21. You can raise it there if you like. music21 rips apart piano music into separate Part
objects, so you have gaps in the left hand. Those gaps then get filled on export to make a nicer display, but if you have a gap that happens to equal a 1.0 QL, you'll just get weird things like an incomplete tuplet (0.16 QL) followed by a quarter rest, then another incomplete tuplet (0.16 QL) -- and then when you open a musicXML reader, all bets are off with how they decide to display that. Finale's representation of this looks less like modern art, but it's still junk.
I've been tackling another broken-tuplet scenario in https://github.com/cuthbertLab/music21/pull/763, but that's moving slowly because it might create tuplets people don't want. There's a TupletFixer
in the duration module I haven't toyed with yet. Maybe that can help with this issue and with the PR I just mentioned. It would be great to see somebody work on this for v7 of music21.
The reason I looked into this was to verify my recent keyboard features didn't affect this -- "good" news is I can reproduce on 5.7.2, so it wasn't me!
Hey @jacobtylerwalls, sorry to hear you doomscrolled all the way here! But thanks for jumping in nonetheless.
I was briefly looking at the thread of issues you pointed to, it seems this is quite messy to fix. Keep pinging me on new things there, just in case I decide to be brave and open the code editor to help with this.
Thank you both, @napulen and @jacobtylerwalls !
This repo is fast becoming a tricky but useful testing suite for music21 in general, RomanText specifically, and more.
I'm focussing on the harmony side but am happy to roam into other areas if I can be helpful so do ask.
Thanks in any case for your help in flagging and and organising issues -- much appreciated!
This is related to
"Corpus/OpenScore-LiederCorpus/Hensel,_Fanny_(Mendelssohn)/6_Lieder,_Op.1/2_Wanderlied/score.mxl"
.There is a MusicXML (and MuseScore) score included for this annotation, which looks like this when opened on MuseScore
When parsing and
.show()
ing with music21, the resulting score has most duration values corrupted.It's difficult to tell what exactly went wrong, because it is a silent fail. The score doesn't show any warnings or errors when
show()
ed; one exception is when running.expandRepeats()
, in that case, it does crash with the following error:If I have to guess, it may be that the triplets on the right hand were moved to the lower staff at the beginning (in fact, I didn't know that was possible to encode in MuseScore!) and that's confusing music21.