Closed giamic closed 1 year ago
Thanks for flagging this.
These are the DCML quartet scores with the analysis on score as chord labels and I'm guessing it's raising an error on the first such label encountered in each file? If so, likely to have the same issue with their other corpora.
In v1 they had the format .e.I
(i.e., with leading dot). This music21 (and also MuseScore for that matter), knew to not try and parse as an actual chord label. I think the change to e.I
is associated with the move from code symbols to Roman numerals. Right, @johentsch?
Several possible solutions:
Hi, good timing, I've just thrown out v2 of the Mozart sonatas and ABC is the next thing I'm tackling.
@giamic I'm missing the context of what you're trying to achieve but this branch has a more up-to-date version of the ABC which I'm transforming into the next release these day.
Thanks @johentsch !
I think it's a question of your musescore converting your files to mxl fine but including in those mxl files the analyses in a way that music21 will then not parse. We get the analysis from your tsp files, so don't need them on the score.
I'm open to any of the workarounds sketched above, e.g., if your parser can provide MuseScore-to-musicxml conversion, and also (optionally) remove the labels, then that would be as about as efficient as realistically possible here, right? We could even slip the DCML-to-rntxt conversion into that process and drop the tav files altogether?
Just to confirm that the problem is exactly what Mark said.
An update on testing this issue ... I've checked:
F.I
and also a (manual change to) the previous one .F.I
mxl
files here, and also from the DCML mscx
originals.Every case raises an error:
music21.harmony.HarmonyException: not a valid pitch specification
music21.harmony.HarmonyException: not a valid pitch specification
music21.pitch.PitchException: Cannot make a step out of
I'm eager to see the new version of the data!
For the time being, I think that removing the analysis from the score is the way to go in my opinion; we could easily update the score files in our repo to remove the lyrics line I guess
Interesting. I just checked and it seems I have been parsing these files with the corresponding annotations without a problem.
Important note, I am using music21==6.7.1
. In which version are you getting this error? Would you be able to try 6.7.1
?
Also, I have always relied on the (converted) mxl
files rather than the tsv
files for DCML datasets. The location of the annotation is not always encoded in the MusicXML, but this can be fixed by adding an additional staff with rests and cut-and-pasting the annotations into that staff. An example is available here for Mozart sonatas: https://github.com/napulen/mozart_piano_sonatas/blob/0df9971d37ff28bee2b5e564c0dba562c2fab443/mxl/K279-1.mxl
In my experience, this has always lead to an easier alignment and easier detection of misalignments.
I'm eager to see the new version of the data!
@giamic, version 2.0 is out, check it out....
Issue:
Status:
Action:
The score of the Beethoven quartets can't be parsed. I receive the following error:
Different scores give similar errors, with the pattern being that the pitch specification
key.degree
is not valid