Event Encoding in Experiments in Musical Intelligence

Experiments in Musical Intelligence’s music encoding process takes a MIDI file and returns a list of events. Each event (itself a list) describes one note in its five basic parameters, respectively, from left to right, attack-time in milliseconds, MIDI key number (60 equals middle C), duration in milliseconds, MIDI channel (instrument or voicing), and note velocity. The following example shows how the first beat of Bach’s chorale no. 64 is encoded in EMI, with the soprano assigned to MIDI channel 1, alto to MIDI channel 2, tenor to MIDI channel 3, and bass to MIDI channel 4:

((0 60 1000 4 60)(0 64 1000 3 60)(0 67 1000 2 60)(0 72 1000 1 60))