Findings from instrument priority investigation.

Subversion-branch: /research
Subversion-revision: 1667
This commit is contained in:
Simon Howard 2009-09-12 16:56:37 +00:00
parent d8df0ff0c0
commit 122074db7b
5 changed files with 8175 additions and 1 deletions

View file

@ -21,5 +21,10 @@ Findings so far:
* If no voices from lower priority channels are available, and none from
the same channel, the first voice in the list is discarded, ignoring
priority.
* The "total level" field for the instrument does NOT determine priority.
* Priority seems to be determined by MIDI instrument number - lower
instruments have a higher priority than higher instruments, so instrument
0 defeats 1, 1 defeats 2, etc.
* If a double voice instrument is played, and there are no free voices,
a voice will be sacrificed to play the first voice of the instrument,
but the second voice will not be played.

96
opl/novoices/gen-priorities Executable file
View file

@ -0,0 +1,96 @@
#!/usr/bin/env ruby
#
# Script to investigate priorities of different MIDI instruments,
# so that the factor used to determine priority can be identified.
#
# We go through each pair of MIDI instruments, ie. (0, 1), (1, 2), ...
# etc. We then set channel 1 and 2 to use each of the instruments.
# Then we play enough notes (9) to fill every OPL voice, so that the
# allocated voices linked list looks like this:
#
# (start)-> 1-2-1-1-1-1-1-1-1
#
# Once all voices are filled, try to play a note on channel 2. If
# channel 2 is a higher priority than channel 1, the first voice
# in the list (using channel 1) will be discarded for the new voice,
# but if channel 1 is a higher priority, the existing channel 2
# voice will be discarded to keep the channel 1 voice.
#
# From this we can work out how the priority of different instruments
# compares, and compare this to the instrument data to see if something
# fits.
def note_on(delay, channel, note, volume)
# note on
putc delay
putc 0x90 + channel
putc note
putc volume
end
def note_off(delay, channel, note)
# note on
putc delay
putc 0x80 + channel
putc note
putc 0x00
end
def program_change(delay, channel, instrument)
putc delay
putc 0xc0 + channel
putc instrument
end
def end_of_track
putc 0x00
putc 0xff
putc 0x2f
putc 0x00
end
# Turn off the note in e1m1-cropped.mid
note_off(0, 2, 40)
# Go through each pair in turn.
for i in 0..32
# Set the instruments for the two channels.
program_change(0x1, 1, i)
program_change(0x1, 2, i + 1)
# Play some notes.
note_on(0xf, 1, 0x40, 0x40)
note_on(0xf, 1, 0x41, 0x40)
note_on(0xf, 1, 0x42, 0x40)
note_on(0xf, 1, 0x43, 0x40)
note_on(0xf, 1, 0x44, 0x40)
note_on(0xf, 1, 0x45, 0x40)
note_on(0xf, 1, 0x46, 0x40)
note_on(0xf, 2, 0x47, 0x40)
note_on(0xf, 1, 0x48, 0x40)
# The overflow note:
note_on(0xf, 2, 0x49, 0x40)
# Turn off all the notes:
note_off(0xf, 1, 0x40)
note_off(0xf, 1, 0x41)
note_off(0xf, 1, 0x42)
note_off(0xf, 1, 0x43)
note_off(0xf, 1, 0x44)
note_off(0xf, 1, 0x45)
note_off(0xf, 1, 0x46)
note_off(0xf, 2, 0x47)
note_off(0xf, 1, 0x48)
note_off(0xf, 2, 0x49)
end
end_of_track

BIN
opl/novoices/priorities.mid Normal file

Binary file not shown.

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,951 @@
instrument 0, 1
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x398
Key on, channel 3: octave 4, freq 0x3cf
Key on, channel 4: octave 5, freq 0x204
Key on, channel 5: octave 5, freq 0x223
Key on, channel 6: octave 5, freq 0x244
Key on, channel 7: octave 5, freq 0x266
Key on, channel 8: octave 5, freq 0x28b
Key on, channel 0: octave 5, freq 0x2b1
Key off, channel 8
Key on, channel 8: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 0
Key off, channel 8
channel 2 sacrificed to keep channel 1
instr 0 > 1
--
instrument 1, 2(d)
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x398
Key on, channel 3: octave 4, freq 0x3cf
Key on, channel 4: octave 5, freq 0x204
Key on, channel 5: octave 5, freq 0x223
Key on, channel 6: octave 5, freq 0x244
Key on, channel 7: octave 5, freq 0x266
Key on, channel 0: octave 5, freq 0x28b
Key on, channel 8: octave 5, freq 0x28b # 2nd voice, chan2
Key off, channel 8
Key on, channel 8: octave 5, freq 0x2b1 # 2nd voice discarded for chan1
Key off, channel 0
Key on, channel 0: octave 5, freq 0x2da # 1st voice discarded for new note
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 8
Key off, channel 0
channel 2 sacrificed for channel 1
instr 1 > 2
--
instrument 2(d), 3(d)
Key on, channel 1: octave 4, freq 0x365 # 1
Key on, channel 2: octave 4, freq 0x365
Key on, channel 3: octave 4, freq 0x398 # 1
Key on, channel 4: octave 4, freq 0x398
Key on, channel 5: octave 4, freq 0x3cf # 1
Key on, channel 6: octave 4, freq 0x3cf
Key on, channel 7: octave 5, freq 0x204 # 1
Key on, channel 8: octave 5, freq 0x204
Key on, channel 0: octave 5, freq 0x223 # 1 - no 2nd voice
Key off, channel 0
Key on, channel 0: octave 5, freq 0x244 # 1 - no 2nd voice
Key off, channel 0
Key on, channel 0: octave 5, freq 0x266 # 1 - no 2nd voice
Key off, channel 0
Key on, channel 0: octave 5, freq 0x28b # 2 - no 2nd voice
Key off, channel 0
Key on, channel 0: octave 5, freq 0x2b1 # 1 - no 2nd voice
Key off, channel 0
Key on, channel 0: octave 5, freq 0x2da # chan2 note already discarded
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 8
Key off, channel 0
--
instrument 3(d), 4
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x366
Key on, channel 3: octave 4, freq 0x398
Key on, channel 4: octave 4, freq 0x39a
Key on, channel 5: octave 4, freq 0x3cf
Key on, channel 6: octave 4, freq 0x3d1
Key on, channel 7: octave 5, freq 0x204
Key on, channel 8: octave 5, freq 0x205
Key on, channel 0: octave 5, freq 0x223
Key off, channel 0
Key on, channel 0: octave 5, freq 0x244
Key off, channel 0
Key on, channel 0: octave 5, freq 0x266
Key off, channel 0
Key on, channel 0: octave 4, freq 0x28b
Key off, channel 0
Key on, channel 0: octave 5, freq 0x2b1
Key off, channel 0
Key on, channel 0: octave 4, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 8
Key off, channel 0
--
instrument 4, 5(d)
Key on, channel 1: octave 3, freq 0x365
Key on, channel 2: octave 3, freq 0x398
Key on, channel 3: octave 3, freq 0x3cf
Key on, channel 4: octave 4, freq 0x204
Key on, channel 5: octave 4, freq 0x223
Key on, channel 6: octave 4, freq 0x244
Key on, channel 7: octave 4, freq 0x266
Key on, channel 8: octave 5, freq 0x28b
Key on, channel 0: octave 5, freq 0x28b
Key off, channel 0
Key on, channel 0: octave 4, freq 0x2b1
Key off, channel 8
Key on, channel 8: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 0
Key off, channel 8
--
instrument 5(d), 6
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x365
Key on, channel 3: octave 4, freq 0x398
Key on, channel 4: octave 4, freq 0x398
Key on, channel 5: octave 4, freq 0x3cf
Key on, channel 6: octave 4, freq 0x3cf
Key on, channel 7: octave 5, freq 0x204
Key on, channel 0: octave 5, freq 0x204
Key on, channel 8: octave 5, freq 0x223
Key off, channel 8
Key on, channel 8: octave 5, freq 0x244
Key off, channel 8
Key on, channel 8: octave 5, freq 0x266
Key off, channel 8
Key on, channel 8: octave 5, freq 0x28b
Key off, channel 8
Key on, channel 8: octave 5, freq 0x2b1
Key off, channel 8
Key on, channel 8: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 0
Key off, channel 8
--
instrument 6, 7
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x398
Key on, channel 3: octave 4, freq 0x3cf
Key on, channel 4: octave 5, freq 0x204
Key on, channel 5: octave 5, freq 0x223
Key on, channel 6: octave 5, freq 0x244
Key on, channel 7: octave 5, freq 0x266
Key on, channel 0: octave 5, freq 0x28b
Key on, channel 8: octave 5, freq 0x2b1
Key off, channel 0
Key on, channel 0: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 8
Key off, channel 0
channel 2 sacrificed to keep channel 1
instr 6 > 7
--
instrument 7, 8
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x398
Key on, channel 3: octave 4, freq 0x3cf
Key on, channel 4: octave 5, freq 0x204
Key on, channel 5: octave 5, freq 0x223
Key on, channel 6: octave 5, freq 0x244
Key on, channel 7: octave 5, freq 0x266
Key on, channel 8: octave 4, freq 0x28b
Key on, channel 0: octave 5, freq 0x2b1
Key off, channel 8
Key on, channel 8: octave 4, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 0
Key off, channel 8
channel 2 sacrificed to keep channel 1
instr 7 > 8
--
instrument 8, 9
Key on, channel 1: octave 3, freq 0x365
Key on, channel 2: octave 3, freq 0x398
Key on, channel 3: octave 3, freq 0x3cf
Key on, channel 4: octave 4, freq 0x204
Key on, channel 5: octave 4, freq 0x223
Key on, channel 6: octave 4, freq 0x244
Key on, channel 7: octave 4, freq 0x266
Key on, channel 0: octave 4, freq 0x28b
Key on, channel 8: octave 4, freq 0x2b1
Key off, channel 0
Key on, channel 0: octave 4, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 8
Key off, channel 0
channel 2 sacrificed to keep channel 1
instr 8 > 9
--
instrument 9, 10
Key on, channel 1: octave 3, freq 0x365
Key on, channel 2: octave 3, freq 0x398
Key on, channel 3: octave 3, freq 0x3cf
Key on, channel 4: octave 4, freq 0x204
Key on, channel 5: octave 4, freq 0x223
Key on, channel 6: octave 4, freq 0x244
Key on, channel 7: octave 4, freq 0x266
Key on, channel 8: octave 5, freq 0x28b
Key on, channel 0: octave 4, freq 0x2b1
Key off, channel 8
Key on, channel 8: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 0
Key off, channel 8
channel 2 sacrificed to keep channel 1
instr 9 > 10
--
instrument 10, 11
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x398
Key on, channel 3: octave 4, freq 0x3cf
Key on, channel 4: octave 5, freq 0x204
Key on, channel 5: octave 5, freq 0x223
Key on, channel 6: octave 5, freq 0x244
Key on, channel 7: octave 5, freq 0x266
Key on, channel 0: octave 5, freq 0x28b
Key on, channel 8: octave 5, freq 0x2b1
Key off, channel 0
Key on, channel 0: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 8
Key off, channel 0
channel 2 sacrificed to keep channel 1
instr 10 > 11
--
instrument 11, 12
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x398
Key on, channel 3: octave 4, freq 0x3cf
Key on, channel 4: octave 5, freq 0x204
Key on, channel 5: octave 5, freq 0x223
Key on, channel 6: octave 5, freq 0x244
Key on, channel 7: octave 5, freq 0x266
Key on, channel 8: octave 5, freq 0x28b
Key on, channel 0: octave 5, freq 0x2b1
Key off, channel 8
Key on, channel 8: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 0
Key off, channel 8
channel 2 sacrificed to keep channel 1
instr 11 > 12
--
instrument 12, 13
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x398
Key on, channel 3: octave 4, freq 0x3cf
Key on, channel 4: octave 5, freq 0x204
Key on, channel 5: octave 5, freq 0x223
Key on, channel 6: octave 5, freq 0x244
Key on, channel 7: octave 5, freq 0x266
Key on, channel 0: octave 5, freq 0x28b
Key on, channel 8: octave 5, freq 0x2b1
Key off, channel 0
Key on, channel 0: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 8
Key off, channel 0
channel 2 sacrificed to keep channel 1
instr 12 > 13
--
instrument 13, 14
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x398
Key on, channel 3: octave 4, freq 0x3cf
Key on, channel 4: octave 5, freq 0x204
Key on, channel 5: octave 5, freq 0x223
Key on, channel 6: octave 5, freq 0x244
Key on, channel 7: octave 5, freq 0x266
Key on, channel 8: octave 4, freq 0x28b
Key on, channel 0: octave 5, freq 0x2b1
Key off, channel 8
Key on, channel 8: octave 4, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 0
Key off, channel 8
channel 2 sacrificed to keep channel 1
instr 13 > 14
--
instrument 14, 15
Key on, channel 1: octave 3, freq 0x365
Key on, channel 2: octave 3, freq 0x398
Key on, channel 3: octave 3, freq 0x3cf
Key on, channel 4: octave 4, freq 0x204
Key on, channel 5: octave 4, freq 0x223
Key on, channel 6: octave 4, freq 0x244
Key on, channel 7: octave 4, freq 0x266
Key on, channel 0: octave 5, freq 0x28b
Key on, channel 8: octave 4, freq 0x2b1
Key off, channel 0
Key on, channel 0: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 8
Key off, channel 0
channel 2 sacrificed to keep channel 1
instr 14 > 15
--
instrument 15, 16
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x398
Key on, channel 3: octave 4, freq 0x3cf
Key on, channel 4: octave 5, freq 0x204
Key on, channel 5: octave 5, freq 0x223
Key on, channel 6: octave 5, freq 0x244
Key on, channel 7: octave 5, freq 0x266
Key on, channel 8: octave 5, freq 0x28b
Key on, channel 0: octave 5, freq 0x2b1
Key off, channel 8
Key on, channel 8: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 0
Key off, channel 8
channel 2 sacrificed to keep channel 1
instr 15 > 16
--
instrument 16, 17
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x398
Key on, channel 3: octave 4, freq 0x3cf
Key on, channel 4: octave 5, freq 0x204
Key on, channel 5: octave 5, freq 0x223
Key on, channel 6: octave 5, freq 0x244
Key on, channel 7: octave 5, freq 0x266
Key on, channel 0: octave 4, freq 0x28b
Key on, channel 8: octave 5, freq 0x2b1
Key off, channel 0
Key on, channel 0: octave 4, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 8
Key off, channel 0
channel 2 sacrificed to keep channel 1
instr 16 > 17
--
instrument 17, 18(d)
Key on, channel 1: octave 3, freq 0x365
Key on, channel 2: octave 3, freq 0x398
Key on, channel 3: octave 3, freq 0x3cf
Key on, channel 4: octave 4, freq 0x204
Key on, channel 5: octave 4, freq 0x223
Key on, channel 6: octave 4, freq 0x244
Key on, channel 7: octave 4, freq 0x266
Key on, channel 8: octave 4, freq 0x28b
Key on, channel 0: octave 5, freq 0x290
Key off, channel 0
Key on, channel 0: octave 4, freq 0x2b1
Key off, channel 8
Key on, channel 8: octave 4, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 0
Key off, channel 8
--
instrument 18(d), 19
Key on, channel 1: octave 3, freq 0x365
Key on, channel 2: octave 4, freq 0x36c
Key on, channel 3: octave 3, freq 0x398
Key on, channel 4: octave 4, freq 0x3a1
Key on, channel 5: octave 3, freq 0x3cf
Key on, channel 6: octave 4, freq 0x3d8
Key on, channel 7: octave 4, freq 0x204
Key on, channel 0: octave 5, freq 0x209
Key on, channel 8: octave 4, freq 0x223
Key off, channel 8
Key on, channel 8: octave 4, freq 0x244
Key off, channel 8
Key on, channel 8: octave 4, freq 0x266
Key off, channel 8
Key on, channel 8: octave 5, freq 0x28b
Key off, channel 8
Key on, channel 8: octave 4, freq 0x2b1
Key off, channel 8
Key on, channel 8: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 0
Key off, channel 8
--
instrument 19, 20
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x398
Key on, channel 3: octave 4, freq 0x3cf
Key on, channel 4: octave 5, freq 0x204
Key on, channel 5: octave 5, freq 0x223
Key on, channel 6: octave 5, freq 0x244
Key on, channel 7: octave 5, freq 0x266
Key on, channel 0: octave 5, freq 0x28b
Key on, channel 8: octave 5, freq 0x2b1
Key off, channel 0
Key on, channel 0: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 8
Key off, channel 0
channel 2 sacrificed to keep channel 1
instr 19 > 20
--
instrument 20, 21(d)
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x398
Key on, channel 3: octave 4, freq 0x3cf
Key on, channel 4: octave 5, freq 0x204
Key on, channel 5: octave 5, freq 0x223
Key on, channel 6: octave 5, freq 0x244
Key on, channel 7: octave 5, freq 0x266
Key on, channel 8: octave 5, freq 0x28b
Key on, channel 0: octave 5, freq 0x288
Key off, channel 0
Key on, channel 0: octave 5, freq 0x2b1
Key off, channel 8
Key on, channel 8: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 0
Key off, channel 8
--
instrument 21(d), 22
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x361
Key on, channel 3: octave 4, freq 0x398
Key on, channel 4: octave 4, freq 0x395
Key on, channel 5: octave 4, freq 0x3cf
Key on, channel 6: octave 4, freq 0x3cb
Key on, channel 7: octave 5, freq 0x204
Key on, channel 0: octave 5, freq 0x202
Key on, channel 8: octave 5, freq 0x223
Key off, channel 8
Key on, channel 8: octave 5, freq 0x244
Key off, channel 8
Key on, channel 8: octave 5, freq 0x266
Key off, channel 8
Key on, channel 8: octave 5, freq 0x28b
Key off, channel 8
Key on, channel 8: octave 5, freq 0x2b1
Key off, channel 8
Key on, channel 8: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 0
Key off, channel 8
--
instrument 22, 23(d)
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x398
Key on, channel 3: octave 4, freq 0x3cf
Key on, channel 4: octave 5, freq 0x204
Key on, channel 5: octave 5, freq 0x223
Key on, channel 6: octave 5, freq 0x244
Key on, channel 7: octave 5, freq 0x266
Key on, channel 0: octave 5, freq 0x28b
Key on, channel 8: octave 5, freq 0x28b
Key off, channel 8
Key on, channel 8: octave 5, freq 0x2b1
Key off, channel 0
Key on, channel 0: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 8
Key off, channel 0
--
instrument 23(d), 24
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x365
Key on, channel 3: octave 4, freq 0x398
Key on, channel 4: octave 4, freq 0x398
Key on, channel 5: octave 4, freq 0x3cf
Key on, channel 6: octave 4, freq 0x3cf
Key on, channel 7: octave 5, freq 0x204
Key on, channel 8: octave 5, freq 0x204
Key on, channel 0: octave 5, freq 0x223
Key off, channel 0
Key on, channel 0: octave 5, freq 0x244
Key off, channel 0
Key on, channel 0: octave 5, freq 0x266
Key off, channel 0
Key on, channel 0: octave 5, freq 0x28b
Key off, channel 0
Key on, channel 0: octave 5, freq 0x2b1
Key off, channel 0
Key on, channel 0: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 8
Key off, channel 0
--
instrument 24, 25
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x398
Key on, channel 3: octave 4, freq 0x3cf
Key on, channel 4: octave 5, freq 0x204
Key on, channel 5: octave 5, freq 0x223
Key on, channel 6: octave 5, freq 0x244
Key on, channel 7: octave 5, freq 0x266
Key on, channel 8: octave 5, freq 0x28b
Key on, channel 0: octave 5, freq 0x2b1
Key off, channel 8
Key on, channel 8: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 0
Key off, channel 8
channel 2 sacrificed to keep channel 1
instr 24 > 25
--
instrument 25, 26
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x398
Key on, channel 3: octave 4, freq 0x3cf
Key on, channel 4: octave 5, freq 0x204
Key on, channel 5: octave 5, freq 0x223
Key on, channel 6: octave 5, freq 0x244
Key on, channel 7: octave 5, freq 0x266
Key on, channel 0: octave 5, freq 0x28b
Key on, channel 8: octave 5, freq 0x2b1
Key off, channel 0
Key on, channel 0: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 8
Key off, channel 0
channel 2 sacrificed to keep channel 1
instr 25 > 26
--
instrument 26, 27
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x398
Key on, channel 3: octave 4, freq 0x3cf
Key on, channel 4: octave 5, freq 0x204
Key on, channel 5: octave 5, freq 0x223
Key on, channel 6: octave 5, freq 0x244
Key on, channel 7: octave 5, freq 0x266
Key on, channel 8: octave 5, freq 0x28b
Key on, channel 0: octave 5, freq 0x2b1
Key off, channel 8
Key on, channel 8: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 0
Key off, channel 8
channel 2 sacrificed to keep channel 1
instr 26 > 27
--
instrument 27, 28
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x398
Key on, channel 3: octave 4, freq 0x3cf
Key on, channel 4: octave 5, freq 0x204
Key on, channel 5: octave 5, freq 0x223
Key on, channel 6: octave 5, freq 0x244
Key on, channel 7: octave 5, freq 0x266
Key on, channel 0: octave 5, freq 0x28b
Key on, channel 8: octave 5, freq 0x2b1
Key off, channel 0
Key on, channel 0: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 8
Key off, channel 0
channel 2 sacrificed to keep channel 1
instr 27 > 28
--
instrument 28, 29
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x398
Key on, channel 3: octave 4, freq 0x3cf
Key on, channel 4: octave 5, freq 0x204
Key on, channel 5: octave 5, freq 0x223
Key on, channel 6: octave 5, freq 0x244
Key on, channel 7: octave 5, freq 0x266
Key on, channel 8: octave 5, freq 0x28b
Key on, channel 0: octave 5, freq 0x2b1
Key off, channel 8
Key on, channel 8: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 0
Key off, channel 8
channel 2 sacrificed to keep channel 1
instr 28 > 29
--
instrument 29, 30
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x398
Key on, channel 3: octave 4, freq 0x3cf
Key on, channel 4: octave 5, freq 0x204
Key on, channel 5: octave 5, freq 0x223
Key on, channel 6: octave 5, freq 0x244
Key on, channel 7: octave 5, freq 0x266
Key on, channel 0: octave 5, freq 0x28b
Key on, channel 8: octave 5, freq 0x2b1
Key off, channel 0
Key on, channel 0: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 8
Key off, channel 0
channel 2 sacrificed to keep channel 1
instr 29 > 30
--
instrument 30, 31
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x398
Key on, channel 3: octave 4, freq 0x3cf
Key on, channel 4: octave 5, freq 0x204
Key on, channel 5: octave 5, freq 0x223
Key on, channel 6: octave 5, freq 0x244
Key on, channel 7: octave 5, freq 0x266
Key on, channel 8: octave 5, freq 0x28b
Key on, channel 0: octave 5, freq 0x2b1
Key off, channel 8
Key on, channel 8: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 0
Key off, channel 8
channel 2 sacrificed to keep channel 1
instr 30 > 31
--
instrument 31, 32
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x398
Key on, channel 3: octave 4, freq 0x3cf
Key on, channel 4: octave 5, freq 0x204
Key on, channel 5: octave 5, freq 0x223
Key on, channel 6: octave 5, freq 0x244
Key on, channel 7: octave 5, freq 0x266
Key on, channel 0: octave 5, freq 0x28b
Key on, channel 8: octave 5, freq 0x2b1
Key off, channel 0
Key on, channel 0: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 8
Key off, channel 0
channel 2 sacrificed to keep channel 1
instr 31 > 32
--
instrument 32, 33
Key on, channel 1: octave 4, freq 0x365
Key on, channel 2: octave 4, freq 0x398
Key on, channel 3: octave 4, freq 0x3cf
Key on, channel 4: octave 5, freq 0x204
Key on, channel 5: octave 5, freq 0x223
Key on, channel 6: octave 5, freq 0x244
Key on, channel 7: octave 5, freq 0x266
Key on, channel 8: octave 5, freq 0x28b
Key on, channel 0: octave 5, freq 0x2b1
Key off, channel 8
Key on, channel 8: octave 5, freq 0x2da
Key off, channel 1
Key off, channel 2
Key off, channel 3
Key off, channel 4
Key off, channel 5
Key off, channel 6
Key off, channel 7
Key off, channel 0
Key off, channel 8
channel 2 sacrificed to keep channel 1
instr 32 > 33