Vanessa’s Status 2/23

Vanessa’s Status 2/23

Design review presentation

Our team created design review presentation for next Wednesday and I worked on slides for application area, block diagram, and metrics/validation. While doing this, we’ve talked about and decided some of the implementation details of our project, but some of them still require more research such as parsing MIDI files and calculating their performance scores within Raspberry Pi.

MusicXML

I have finished writing generateMusicXml.py that takes an attribute dictionary and a measures list as input and outputs a converted musicXML file. I’ve created a general structure of attribute dictionary like the example below, basically following what I planned last week:

{“divisions”: “1”,

“key”: {“fifths”: “0”,

“mode”: “major”},

“time”: {“beats”: “3”,

“beat-type”: “4”},

“staves”: “2”,

“clef”: [{“sign”: “G”, “line”: “2”}, {“sign”: “F”, “line”: “4”}]}

and measuresList is a list of measures, which is a list of sequential notes. Note structure looks like this:

{“pitch”: {“step”: “C”, “octave”: “4”},

“duration”: “1”,

“voice”: “1”,

“type”: “quarter”,

“stem”: “up”,

“staff”: “1”

}

Example output MusicXML

MIDI

I’ve researched a bit more about MIDI output, and ordered a MIDI cable to actually try parsing the MIDI output file from the keyboard. There are MIDI-compatible parts of MusicXML (https://www.musicxml.com/tutorial/the-midi-compatible-part/) which makes it possible to convert musicXML to MIDI, so I am researching how I can do that from the other way.

I am on schedule and will work on parsing MIDI files next week along with creating specific criteria for performance score calculation.

Leave a Reply

Your email address will not be published. Required fields are marked *