Open infojunkie opened 1 year ago
This is great! Yes, I'm interested because no one is going to capture the intent of the spec better than the source itself.
If you don't already have a MusicXML conformance solution already in mind, you might find https://github.com/stringsync/musicxml useful. The caveat is that you will still need a way to bridge between the example root node and the generated classes in that library.
If you really have time, I would appreciate it if you found some order that prioritizes the most impactful engravings (in Western music). It doesn't have to be very scientific or complete. You don't have to rename the files — maybe just a comment?
My stab using GPT4:
Selecting the top 20 most impactful filenames for visual regression tests in the context of Western music involves considering the elements that are most commonly used and critical for the representation of a wide variety of musical pieces. Here is a prioritized list of the top 20 filenames based on their importance in Western music notation:
- treble-clef.musicxml
- bass-clef.musicxml
- alto-clef.musicxml
- tenor-clef.musicxml
- barline-element.musicxml
- time-modification-element.musicxml
- key-element-traditional.musicxml
- time-element.musicxml
- note-element.musicxml
- rest-element.musicxml
- chord-element.musicxml
- beam-element.musicxml
- tuplet-element-regular.musicxml
- slur-element.musicxml
- articulations-element.musicxml
- dynamics-element.musicxml
- accidental-element.musicxml
- tie-element.musicxml
- staccato-element.musicxml
- tenuto-element.musicxml
Just to add to the discussion, I found the W3C site also has MusicXML examples in the specs for MNX, a new proposed standard for representing music notation.
For each example, it shows the notation in MNX format, and a link to compare with MusicXML format. The links all go to heading anchors on the same page:
I don't know how they're generating this page from their repo (w3c/mnx), but it looks like a good collection of music notation examples in MusicXML, MNX, and PNG images.
@eliot-akira thanks for chiming in. This seems like a better option for a first pass, then the suite that @infojunkie is working on could be for comprehensive coverage.
The examples at https://github.com/infojunkie/musicxml-midi/tree/main/test/data/examples are now fully valid MusicXML. Feel free to reuse them as needed in your repo.
@infojunkie, thanks for doing the heavy lifting! I'll take a look when I'm finished with lilypond.
I thought I'd let you know that I wrote a script to scrape the MusicXML examples from the W3C site.
Here's the script and here are the saved examples.
Unfortunately, most of those are incomplete MusicXML fragments that lack the overall "score" or "measure" structures. I would be willing to modify the scraper to add those structures, if you are interested to incorporate them into your tests.