VOGONS


First post, by n1mr0d

User metadata
Rank Newbie
Rank
Newbie

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

Reply 1 of 7, by PhilsComputerLab

User metadata
Rank l33t++
Rank
l33t++

And when you disable digital speech / sound effects then the bug disappears?

YouTube, Facebook, Website

Reply 2 of 7, by n1mr0d

User metadata
Rank Newbie
Rank
Newbie

Yes, it disappears:

Hexen -warp 02

90 28 69 1 E 2 Note On
90 69 69 1 A 7 Note On
90 69 00 1 A 7 Note Off

The strange thing is that a note off glitch note is sent immediately after the note off, but the note keeps hanging.

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

Reply 3 of 7, by PhilsComputerLab

User metadata
Rank l33t++
Rank
l33t++

Cool!

Choosing another Sound Blaster driver, like Pro or the basic one, will this also fix the issue?

YouTube, Facebook, Website

Reply 4 of 7, by n1mr0d

User metadata
Rank Newbie
Rank
Newbie

Nothing 'cool' about it. This is the reason a lot of SB16's are unusable with midi equipment.

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

Reply 5 of 7, by PhilsComputerLab

User metadata
Rank l33t++
Rank
l33t++
n1mr0d wrote:

Nothing 'cool' about it. This is the reason a lot of SB16's are unusable with midi equipment.

I was referring to you contribution.

YouTube, Facebook, Website

Reply 6 of 7, by Cloudschatze

User metadata
Rank Oldbie
Rank
Oldbie

The behavior of the spurious or "glitch" notes, whereby the velocity byte is "re-read/transmitted" during concurrent PCM playback operations, was noted a few years ago. If you haven't seen it, most of that information is documented in this thread, and might be helpful:

SB16 vs DBs (hanging / stuck / wrong notes in MIDI)

Reply 7 of 7, by n1mr0d

User metadata
Rank Newbie
Rank
Newbie

No haven't seen it before. Wow 5 consecutive glitch notes in a row.

The upside to all this is that the notes display a clear pattern, so it would be feasible to build a midi filter device that filters them.

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