GENMIDI Replacement for Ultimate Doom and Doom II ------------------------------------------------- File list for GENMID01.ZIP: GENMID01.TXT (this file) GENMID01.WAD GENTEST1.WAD GENTEST1.TXT D1MUSIC.TXT D2MUSIC.TXT --------------------------- What is this? GENMID01.WAD is a tiny Doom wad which contains a replacement for the GENMIDI lump in the Doom IWAD. This lump controls the FM music synthesizer on sound cards using the Yamaha OPL2/OPL3 chip. Examples of such cards are Soundblaster, Adlib, and Pro Audio Sound. This GENMIDI replacement is designed to make the Doom music sound better. How is this done? The GENMIDI lump conforms to the General MIDI instrument specification, the same specification which is used in the popular MIDI music file format (Doom uses a music format called MUS, which is merely a simpler version of the MIDI format). The General MIDI specification defines 128 melodic instruments (guitars, for example) and 47 percussion instruments (like drums and cymbals). The GENMIDI lump contains OPL2/OPL3 register values for each of these 175 instruments. These register values are transmitted to the hardware registers of the Yamaha chip in order to create the desired instrument sound. The quality of the sound heard from your sound card is directly dependant on these values. This GENMIDI lump replacement is designed to improve the sound of your FM music by introducing a new set of register values for Doom to use. Why bother? The original GENMIDI lump is a truly atrocious example of how not to program FM music. I have a great deal of respect for Yamaha's FM synthesizer chip but it has unfairly gotten a bad reputation over the years due to the extremely poor quality of the FM programming in numerous games as well as music software. I believe that the blame should fall on Yamaha for not publishing a standard set of register values for programmers to use with their chip. In any case, FM synthesis has lost favour with many people and been replaced with wave synthesis. I embarked on this project of improving the quality of the FM synthesis in Doom because, as a wad developer, I would like to be able to add my own music but the sound quality on my Soundblaster 16 was so awful that it severely limited my choices. This new GENMIDI lump aims to fix that. What can I expect? First of all, the quality of your FM music will improve tremendously. In fact, you will likely be astounded by the difference. Nevertheless, some problems remain. DMX is the component in the original Doom engine which is responsible for all of the sounds and the music in the game. DMX supports a number of sound cards, some of which use FM synthesis and some of which use wave synthesis. Unfortunately, DMX supports only the OPL2 chip for FM synth and not the OPL3. So even though you may have an OPL3 (which supports 18 voices), there will only be 9 voices available for music. That means just 9 instruments or 9 notes can be played at the same time without distortion. Of course, a single instrument playing 4 notes will use 4 voices so it doesn't take a very complicated piece of music to reach the limit. To be fair, DMX handles this rather well but it is nevertheless irritating. Fortunately, most of the original Doom music is relatively uncluttered and you won't notice dropouts very often. This may not be true for non-original music. Secondly, I haven't finished all of the instruments. With 175 of them to be done, I think I may have tinkered with half of those. Some I am extremely pleased with, others refuse to work properly despite much effort, and some are pretty decent but not great. That's why there is a version number on this work (version 01). I intend to release updates as work progresses. Thirdly, I am not using the DMX dual-voice capability nor does DMX support four-op synthesis since that is an OPL3 option. I am sticking with dual-op single-voice instrumentation. What is dual-voice? That is a DMX option which allows two voices to be employed for a single instrument. Many of the instruments in the original GENMIDI use this option. However, this puts a strain on the OPL2 9-voice limit and DMX doesn't handle dual-voice very well anyway (instruments have a tendency to disappear). What would be the advantage of dual-voice (or four-op synthesis) in any case? If done properly, the instruments would sound better (richer, mellower) but it would also be an order of magitude harder to achieve. I point this out only because some instruments may sound a bit harsher than they did originally, though the output will be much cleaner. What do I need? The GENMIDI wad, a sound card with a true OPL2/OPL3 chip, and a good set of speakers. You'll want a satellite speaker system with sub-woofer. Cheap speakers suffer badly from intermodulation distortion and they can't carry the bass. The best sound card to have is the Soundblaster 16. That's what I have and that's what this wad was developed on. The Vibra 16 doesn't quite cut it (it lacks bass and treble controls) but it'll do if that's all you've got. The only other card that I have tested is a no-name Taiwanese model with the Crystal chip. It sucks. Also, don't bother trying this with the FM emulation mode on a wave synth card. It MUST be a true OPL2/OPL3. What about the Doom source ports? Sorry. Boom and its descendants use the Allegro library (the DMX lib was never released by id) which includes its own FM tables. These source ports will ignore the GENMIDI lump. Additionally, Allegro uses different input frequencies on the FM chip so it wouldn't work anyway. I have not investigated further but I think it is safe to say that this will only work with the original Doom engine. Anything else? Not much. Though I've got lots of commentary on FM synthesis in general and MIDI music in particular, I'll leave that for next time. For now, I'll just talk about the other files you've downloaded. GENTEST1.WAD contains some cool music for you to test. In GENTEST1.TXT, I have listed the new songs and, for the MIDI-aware, I have also listed the instruments used. The wad will work for both Ultimate Doom and Doom II. These songs are MIDI files that I have downloaded off the net and modified. I have removed some of the original instruments, fixed broken passages, and paid special attention to the voice contention problem on the OPL2. I think you'll agree that these songs rock! Try them with the original GENMIDI or even with a source port but be ready to cover your ears! In D1MUSIC.TXT and D2MUSIC.TXT, you'll find the instrument listings for all of the Ultimate Doom and Doom II original music. Not at all interesting except for the MIDI-aware. Send mail to: dlecuyer@tbase.com -------------------------------------------