First post, by n1mr0d
First of all i want to propose to give a different name to what was referred to as hanging notes bug type 1: glitch notes. This better
reflects what they are: notes not part of the soundtrack. Type 2 notes are simply notes omitted.
I hooked the midi out from my CT2940 to the midi in from my EMU 1616m 'card', and captured the stream with MIDI-OX until the first
sounding glitch note:
STATUS DATA1 DATA2 CHAN NOTE EVENT
99 31 70 10 A3 Note On
99 70 00 10 E8 Note Off
91 28 6F 2 E2 Note On
91 6F 00 2 Eb8 Note Off
91 34 72 2 E3 Note On
91 72 00 2 F#8 Note Off
91 2E 72 2 Eb2 Note On
91 72 00 2 F#8 Note Off
91 28 6F 2 E2 Note On
91 6F 00 2 Eb8 Note Off
91 28 72 2 E2 Note On
91 72 00 2 F#8 Note Off
91 28 6C 2 E2 Note On
91 6C 00 2 C8 Note Off
91 28 6C 2 E2 Note On
91 6C 6C 2 C8 Note On
The STATUS above is the status byte, and the DATA1 and DATA2 are data bytes. According to the midi specification if the
STATUS byte is the same for the next note it can be omitted. With Note On events the DATA1 corresponds to the note played,
DATA2 to the note velocity. A velocity of 0 is interpreted as a note off. Velocity is an expression type, how fast/hard a key is
pressed down.
As you can see glitch notes occur more often than you can hear, because they are mostly Note Off events. After a legitimate
Note On event, for example an E2 with a velocity of 72 (hex), is followed by a glitch note, with the velocity now send
as DATA1. The velocity is now 0. So it it sent to the sound module like this: 91 28 72 72 00. Sometimes DATA2 also contains
the velocity information of the previous legitimate note, resulting in the dreaded high pitched notes we are familiar with.
VooDoo Power Asus CUBX-E 440BX PIII 1.4GHz GF4 Ti 4600 Voodoo2 SLI 12MB SBLive!+Drive SB16 CT2230 + NEC XR385
Nostalgia pc Vtech Laser Slimline DX4-100 16MB Acumos AVGA1 AWE32 CT3980 Roland MPU 401 MT32 SC88