Skip to content

MrRedBeard/DotNet-MXL-Parsing-for-Arduino

Repository files navigation

DotNet-MXL-Parsing-for-Arduino

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

Working Arduino Demo https://github.com/MrRedBeard/Arduino-Music-Demo

This is simple solution with room left to improve.

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

App ScreenShot


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