Parses MXL to an output to be used on Arduino
Thanks to Shvelo who's Ruby code got me pointed in the right direction https://github.com/shvelo/musicxml_to_arduino
This is not a pretty or complete solution. It was just enough to get what I wanted done and was written in a very short amount of time.
MXL is an XML format for sheet music. The code allows you to parse the notes, duration and tempo information from the MXL in a format that is easy to place in your Arduino code.
MXL is sometimes PKZipped - app contains neccessary code to unpackage
MXL files often contain multiple voices or sets of notes played together - app accounts for this
Arduino Uno has a limit of file size - app allows you to control how many notes are generated
Arduino Setup
Simple Piezo from an old walkie on pin 8
MXL Sheet Music Source for the sample
https://musescore.com/user/2141731/scores/2462606
Click the following link for a short audio demo via YouTube
https://www.youtube.com/watch?v=GPvD2ShnI3s
MP3 Audio Sample (Download to play)
https://raw.githubusercontent.com/MrRedBeard/DotNet-MXL-Parsing-for-Arduino/master/audioSample.mp3