pnlong / PDMX

PDMX: A Large-Scale Public Domain MusicXML Dataset for Symbolic Music Processing
https://pnlong.github.io/PDMX.demo/
MIT License
35 stars 2 forks source link

Support for loading MusicXML #1

Closed leleogere closed 5 days ago

leleogere commented 1 month ago

Hello,

Thank you for your work on this dataset!

I can see that you provide a function to load Musescore scores, but I can't seem to find one to load simple MusicXML files as MusicRender objects, neither in the readme nor in the code.

As PDMX stands for "Public Domain MusicXML", I was expecting it to contain MusicXML files, but it seems that the scores are provided as JSON MusPy-compatible files.

Is it possible to load a MusicXML for which I do not have a corresponding JSON file? I guess that I should be able to do it by converting it into mscz with MuseScore, and then using your read_musescore function, but I feel that there must be an easier way as scores are more often distributed as MusicXML than mscz.

Thank you for your help!

pnlong commented 1 month ago

Hi, Our main focus of the paper was parsing our dataset of MuseScore files, which are very similar to the MusicXML files (most changes are in fact just variable name differences). We are actively working on getting the direct MusicXML parsing code implemented for our dataset (hopefully in the next few weeks). Note that the default MusPy does contain an implementation for reading MusicXML files (with muspy.read_musicxml), but this does not include the additional functionality for parsing score-level attributes yet.

leleogere commented 1 month ago

Thank you for your answer! I knew that MusPy was able to ready MusicXML, but I wanted to take advantage of your MusicRender object. I'll wait for your parser then!

pnlong commented 2 weeks ago

Hi, sorry for the delay. I have finally implemented the read_musicxml() function, which can read all sorts of performance directives (much like the read_musescore() function). However, I struggled to find actual MusicXML files as a test bed, so please let me know if you encounter any issues.

leleogere commented 5 days ago

Thank you for you work!