Csound:MIDI File Player
The MIDI File Player Activity presents the user with folders full of MIDI files to perform. The first version is designed to play simple melodic songs (e.g. children's nursery rhymes).
Once the user selects a MIDI file, the activity parses the MIDI file into tracks. The user may select and view each track as a piano roll. Tracks may also be muted or soloed. Program changes recorded in the MIDI tracks automatically change the General MIDI program for each track.
When the user presses the play button, the selected track begins to scroll along with the music as it performs the file. Both the piano roll keyboard and the on screen QWERTY keyboard keys light up as the song is played. Both keyboards may be played with the mouse, however, once selected, the QWERTY keyboard allows the user to press keys on the XO's keyboard to play along. The display reveals the mapping of keyboard keys to notes.
The Activity uses Csound as the sound engine. Csound uses the XO's General MIDI soundfont to generate the sound. (currently bundled with the Activity)
Credits
Initial Design and Development: Greg Thompson
Idea: Dr. Richard Boulanger