The talk is, in case it wasn’t clear, about the Kurzweil VGM MIDI synthesizer board. The two larger synthesizer chips are named Homer and Marge, and the three smaller ROM chips are Bart, Lisa, and Maggie. The VGM looks a lot like a typical Wave Blaster compatible daughterboard, but it’s not, and it wasn’t designed as such. It was in fact designed an expansion board for the Kurzweil PC88 keyboard, providing additional voices (the ‘V’) and General MIDI compatibility (the ‘GM’).
The VGM has a Wave Blaster style 26-pin connector, but can’t be attached to a standard WB-compatible sound card. The connector is the original mirrored version used by the E-mu Soundengine. The VGM can obviously be plugged into the PC88 keyboard. Which I don’t have. What I do have is the Soundengine module, and although the VGM does not really fit inside the chassis, it works just fine.
Actually, no, it doesn’t. The VGM in fact behaves rather strangely. Some MIDI sequences play more or less normally. Some sound wrong. Some produce no sound, and seem to completely turn the VGM off. What the heck is going on?
Fortunately, Kurzweil is nice enough to provide the PC88 documentation for download. The PC88 manual also explains the VGM expansion, and contains valuable hints.
The source of the odd behavior is that after power-up, the VGM does not start in General MIDI mode, although it does start with General MIDI instrument mapping. One notable difference is that by default, VGM does not play percussions on MIDI channel 10; the channel behaves just like any other and defaults to the Grand Piano patch. That is barely noticeable on some MIDI sequences and very disturbing on others.
The other big issue is that some MIDI sequences completely disable the VGM. Upon closer examination, it turned out that the troublemakers were MIDI files with embedded Bank Select controller messages. Setting the bank to zero (as these sequences do) disables the VGM… because the GM instruments are in bank 1 and other instrument sets are in banks 2 and 3. But in bank 0, there’s nothing… so selecting bank zero produces no output, and playing another sequence which leaves the bank selection alone also produces no output.
This is an interesting problem because a General MIDI sequence should really not transmit any Bank Select messages. The GM specification does not define instrument banks at all, and the implementation notes warn that when in GM mode, some devices may exit GM mode upon receipt of a Bank Select message. It is possible that this questionable practice was designed for GS (Roland Sound Canvas) or XG (Yamaha) devices which heavily utilize instrument banks.
How to get out of this predicament? It’s actually very easy—all it takes is sending a GM Reset sysex to the VGM. Once that is done, the VGM will play percussions on channel 10 and ignore bank select messages. The PC88 manual obliquely says as much when it mentions that the keyboard must perform a “GM On” command in order to render General MIDI data correctly, and said command must be sent after every power-up. Interestingly, the manual also says that the PC88 does not react to a GM Reset sysex, even though we now know that the VGM board itself does.
There are at least two variants of the VGM itself. Around 1994-1995, the VGM boards housed the entire Simpsons family. In the late 1990s, the VGM was redesigned for newer, physically larger instrument ROMs (now with generic Young Chang labels and no longer Bart/Lisa/Maggie). The newer PCB is laid out very differently but the components are largely the same. Compare the two:
There is also a very close relative, the AVM Summit. The Summit utilizes the same Homer/Marge synth, although the instrument ROMs look different again. It is unclear just how different the AVM Summit and Kurzweil VGM are. The Summit has clearly different firmware and, among other things, starts out in GM mode. The Summit also has a MT-32 instrument bank, which the VGM does not have.
Experimentation shows that for General MIDI sequences, the Kurzweil VGM and AVM Summit sound identical. The AVM Summit was highly rated back in the mid-1990s. Here is a classic DOOM track played by the Kurzweil VGM:
And here is the same track rendered by the AVM Summit:
The VGM is fairly closely related to the Kurzweil K2000 synthesizer as well.
There are also two slightly more distant relatives in the form of Turtle Beach sound cards: The Pinnacle and Malibu. Neither of these sounds quite like the VGM (and Summit), but both are distinctly similar, with some of the instruments sounding the same and some instruments different. More about those some other day.
Thanks to Daniel Siebler for loaning an older VGM specimen and providing the AVM Summit recordings.