VOGONS


ELI5 MIDI?

Topic actions

First post, by realbadpainting

User metadata
Rank Newbie
Rank
Newbie

Hey all, so I've got a Windows 98 system that I dropped a Sound Blaster Audigy Gold (SB0090) into and it works great. For DOS games, I use SoundBlaster 16 emulation and it's just OK. The thing is, MIDI hardware is really before my time when I started gaming on PC in the late 90s, so it's a blank spot in my knowledge. Let's say I wanted to keep the SB Audigy installed in the PC, is it possible to add a 2nd card for DOS gaming that will allow me to ditch SB16 emulation and get really good MIDI playback in games like Duke Nukem and Doom? If so what would you guys recommend?

Reply 1 of 7, by leileilol

User metadata
Rank l33t++
Rank
l33t++

That depends if your system has ISA and you're willing to put up with some additional aux wiring and IRQ management. (Can't personally speak about Yamaha PCI cards however), if OPL synthesized 'midi' is what you're after. OPL music isn't technically midi, unlike what one old popular misconception from around the dawn of CD audio made it to be.

Also there's the world of external midi modules. Some people swear by MT-32 (for 80s/90s Sierra stuff), SC-55 and SC-88, and/or swear at them when there's a leak or corrossion in them. I've personally never used them and I don't find them 'required' to have an authentic old computer experience. Back in the day, those were an extreme luxury thing (on top of already luxury computers before Cyrix did their thing)

apsosig.png
long live PCem

Reply 2 of 7, by dionb

User metadata
Rank l33t++
Rank
l33t++

Maybe a step back given the "ELI5".

First: what is MIDI?

It's basically a digital form of music notation - a stream of commands telling whatever is playing it which instrument is playing what note(s) at what volume. Very storage-efficient (extremely important when hard drives were much smaller than the storage on a CD) and flexible - which is why the music industry used it.

That means that the basic melody will be the same regardless of what you play it back on, but the sound can (and will) differ very significantly. In the early days of MIDI there was no standard for which instrument mapped to which MIDI code, so games had to specify the exact device to be used for playback (Roland's MT-32 was the most common). From the early 1990s onward, the industry converged on the "General MIDI" standard, which at least standardized the instruments so you could just compose for GM. Even so, tunes will sound different on each playback device and to get the sound the way the composer intended, you still want to find the same device they used, or something using the same sample set. Specific hardware matters. A lot.

Then regarding that hardware - fundamentally you need two things:
- a MIDI interface that gives software something to talk to. The standard here is MPU-401, from the Roland interface card of the same name. Most sound cards had an MPU-401 compatible interface built in - but not all, not all features of the original Roland MPU-401 were supported and in some cases (most famously on all the Soundblaster 16 cards) it could be buggy. Separate MPU-401 compatible interfaces also exist, both vintage (the MPU-401 itself and MusicQuest clones) and modern replica (HardMPU)
- a MIDI synthesizer that turns the codes it gets from the MPU-401 over the MIDI interface into sound. This can be onboard on the sound card, it can be an external module (=box with at least MIDI in port and audio out) or it can be a "Wavetable" daughterboard that connects to the sound card via Wavetable header. Potentially it could also just be software; Windows includes a software MIDI synth, as do various card drivers. This is one of the reasons dedicated hardware MIDI synths started disappering after the mid 1990s. Unfortunately, software MIDI synths aren't an option under DOS.

Your first choice should be what kind of MIDI playback you want. Basically 99% of people with MIDI hardware back in the day had cheap nasty stuff that didn't sound too good. But if that's what you played on, you could be nostalgic for it. Even if you didn't, to get the real 1990's experience, you'd want something like that. Alternately, you could be looking for the best MIDI sound exactly as the composers intended. That's not as hard as it sounds, as basically everybody composing for games back then used the Roland SC-55 module, so getting something that sounds just like it would do the trick.

Then you should choose what form factor you want it in - on the sound card, on a Wavetable daughterboard to stick onto the card, or an external module.
- Getting it on the card is the simplest option, but the most limited, and if you want the high-quality stuff, the cards with something like SC-55 sounds can be VERY expensive - and even lesser cards with onboard wavetable aren't likely to be cheap. Moreover, you need an ISA bus for this option, as PCI cards with onboard wavetable that will work under DOS are basically non-existant.
- Wavetable daughterboards used to be very expensive and hard to find, but if you're willing to go for modern replicas, Serge has affordable, available options, both for 'authentic' crappy stuff and the Dreamblaster X2GS which has official Roland sound banks. Downside is that you need to open up the case to swap daughterboards
- external modules look really cool and offer a lot of flexibility: you can easily hook up different ones, and Serge (same link as above) even has an enclosure to turn Wavetable daughterboards into standalone modules. Downside is that these things can be pretty expensive, as leileilol already hinted, there can be hardware/battery issues and they take up space.

If you really don't know, I'd probably recommend going with Wavetable daughterboards as the sensible option. That means that your sound card will need to have a Wavetable header and an MPU-401 interface, preferably not buggy.

Fully agreed that ISA is best, but even if you don't have an ISA slot, there are better options than SB emulation on a live/audigy, specifically ones that would support wavetable daughterboards.

One to look at in that case is the ESS Solo chip, one of the least troublesome PCI chips under DOS. Moreover, at least one card - the Terratec Solo-1 - is widely and cheaply available and either come with a wavetable header, or one can easily be added (it's literally as simple as soldering the missing 26-pin header block, no further hardware or software modifications needed).

If you do have an ISA card, you have *lots* of options. My only recommendation would be to steer clear of the Soundblaster 16 (and AWE32) models with all their bugs. You also don't need SB16 as you can always fall back on the emulation from the Audigy there. I personally like cards based on Aztech AZT2320 chips as a low-cost, easily available bug-free option, but there are equally effective options with chips from Crystal, ESS, OPTi and Yamaha. If you have two ISA slots you could also consider a standalone MPU card, although it will increase cost, but let you use sound cards without good MPU-401 and/or wavetable header.

So, tell us more about your system and its slots, and what type of MIDI devices you'd want, then we can give more specific tips.

Last edited by Stiletto on 2022-02-15, 05:44. Edited 2 times in total.

Reply 3 of 7, by realbadpainting

User metadata
Rank Newbie
Rank
Newbie
dionb wrote on 2022-02-05, 01:31:
Maybe a step back given the "ELI5". […]
Show full quote

Maybe a step back given the "ELI5".

First: what is MIDI?

It's basically a digital form of music notation - a stream of commands telling whatever is playing it which instrument is playing what note(s) at what volume. Very storage-efficient (extremely important when hard drives were much smaller than the storage on a CD) and flexible - which is why the music industry used it.

That means that the basic melody will be the same regardless of what you play it back on, but the sound can (and will) differ very significantly. In the early days of MIDI there was no standard for which instrument mapped to which MIDI code, so games had to specify the exact device to be used for playback (Roland's MT-32 was the most common). From the early 1990s onward, the industry converged on the "General MIDI" standard, which at least standardized the instruments so you could just compose for GM. Even so, tunes will sound different on each playback device and to get the sound the way the composer intended, you still want to find the same device they used, or something using the same sample set. Specific hardware matters. A lot.

Then regarding that hardware - fundamentally you need two things:
- a MIDI interface that gives software something to talk to. The standard here is MPU-401, from the Roland interface card of the same name. Most sound cards had an MPU-401 compatible interface built in - but not all, not all features of the original Roland MPU-401 were supported and in some cases (most famously on all the Soundblaster 16 cards) it could be buggy. Separate MPU-401 compatible interfaces also exist, both vintage (the MPU-401 itself and MusicQuest clones) and modern replica (HardMPU)
- a MIDI synthesizer that turns the codes it gets from the MPU-401 over the MIDI interface into sound. This can be onboard on the sound card, it can be an external module (=box with at least MIDI in port and audio out) or it can be a "Wavetable" daughterboard that connects to the sound card via Wavetable header. Potentially it could also just be software; Windows includes a software MIDI synth, as do various card drivers. This is one of the reasons dedicated hardware MIDI synths started disappering after the mid 1990s. Unfortunately, software MIDI synths aren't an option under DOS.

Your first choice should be what kind of MIDI playback you want. Basically 99% of people with MIDI hardware back in the day had cheap nasty stuff that didn't sound too good. But if that's what you played on, you could be nostalgic for it. Even if you didn't, to get the real 1990's experience, you'd want something like that. Alternately, you could be looking for the best MIDI sound exactly as the composers intended. That's not as hard as it sounds, as basically everybody composing for games back then used the Roland SC-55 module, so getting something that sounds just like it would do the trick.

Then you should choose what form factor you want it in - on the sound card, on a Wavetable daughterboard to stick onto the card, or an external module.
- Getting it on the card is the simplest option, but the most limited, and if you want the high-quality stuff, the cards with something like SC-55 sounds can be VERY expensive - and even lesser cards with onboard wavetable aren't likely to be cheap. Moreover, you need an ISA bus for this option, as PCI cards with onboard wavetable that will work under DOS are basically non-existant.
- Wavetable daughterboards used to be very expensive and hard to find, but if you're willing to go for modern replicas, Serge has affordable, available options, both for 'authentic' crappy stuff and the Dreamblaster X2GS which has official Roland sound banks. Downside is that you need to open up the case to swap daughterboards
- external modules look really cool and offer a lot of flexibility: you can easily hook up different ones, and Serge (same link as above) even has an enclosure to turn Wavetable daughterboards into standalone modules. Downside is that these things can be pretty expensive, as leileilol already hinted, there can be hardware/battery issues and they take up space.

If you really don't know, I'd probably recommend going with Wavetable daughterboards as the sensible option. That means that your sound card will need to have a Wavetable header and an MPU-401 interface, preferably not buggy.

Fully agreed that ISA is best, but even if you don't have an ISA slot, there are better options than SB emulation on a live/audigy, specifically ones that would support wavetable daughterboards.

One to look at in that case is the ESS Solo chip, one of the least troublesome PCI chips under DOS. Moreover, at least one card - the Terratec Solo-1 - is widely and cheaply available and either come with a wavetable header, or one can easily be added (it's literally as simple as soldering the missing 26-pin header block, no further hardware or software modifications needed).

If you do have an ISA card, you have *lots* of options. My only recommendation would be to steer clear of the Soundblaster 16 (and AWE32) models with all their bugs. You also don't need SB16 as you can always fall back on the emulation from the Audigy there. I personally like cards based on Aztech AZT2320 chips as a low-cost, easily available bug-free option, but there are equally effective options with chips from Crystal, ESS, OPTi and Yamaha. If you have two ISA slots you could also consider a standalone MPU card, although it will increase cost, but let you use sound cards without good MPU-401 and/or wavetable header.

So, tell us more about your system and its slots, and what type of MIDI devices you'd want, then we can give more specific tips.

This is absolutely fantastic stuff, thank you so much for this write up on the subject. Should be stickied and made into a Wikipedia entry honestly! I realize that it would have been extremely helpful to have described my system before asking this question: PIII 800, 384mb SDRAM, DFI CA61 so it does have 3 ISA slots available, and a GeForce 256 SDR. My idea with this system was to put together something about as quick as you could get in December 1999 since I've just got a lot of love for building computers and that would've been around the time I was getting heavily into PC gaming!

I don't think going for a cheap, garbage sounding solution is where I want to go with it. That's almost certainly what my Dad's PC had when he'd load up Duke Nukem for us in 96, but I hardly remember that well enough to be nostalgic for shitty audio 🤣. Of the different options you've suggested which of them would allow me to keep using the audio out of the Audigy? I'm confused if by adding a second ISA Sound Card that means I'll need to unplug my speakers from the Audigy every time, going back and forth? I think that's one of the main things I'd like to avoid if possible. From there, just having excellent sound quality with coverage of early 90s titles I think is what I'm looking for

your sound card will need to have a Wavetable header and an MPU-401 interface

I don't know - I guess that the Audigy does not have this? It's got a Joystick/MIDI header on it internally. I think you're suggesting here that I buy a 2nd ISA sound card that has the Wavetable header and MPU-401 interface, and both of these plug into a daughterboard (the synthesizer). I would run this setup alongside the Audigy? I think my question there is again if I'd have to unplug my speakers and plug them into the ISA sound card, and if so, is there a solution that sounds equally as good but doesn't make me get off my ass and unplug things when I decide to play an early 90s game? 🤣

Last edited by Stiletto on 2022-02-15, 05:44. Edited 1 time in total.

Reply 4 of 7, by stamasd

User metadata
Rank l33t
Rank
l33t

I recommend a Yamaha ISA sound card, that you'd be running alongside the other sound card in your system. Those are based on YMF-718 or YMF-719 chips, have true OPL3 synthesis, and almost all have wavetable headers. I use them in most of the retro computers I build, along with either Dreamblaster S1 or X2 wavetable modules.
And you can plug the output of one sound card into the line input of the other sound card to avoid having to disconnect and reconnect things. And from the second sound card the output goes to the speakers. This way both cards' outputs are available. Of course, both cards have to be configured and working in the OS. I'd recommend plugging the output of the Audigy into the input of the ISA card - this way, in Windows where both the Audigy and the Yamaha are easy to configure, you can choose which card to use by software; and in DOS you can simply ignore the Audigy and just use the Yamaha for sound.

(edit) another good option for a ISA sound card to run this way are ESS cards, based on ES1868 or 1869 chips. They are also easy to configure, have good SB compatibility, more than decent OPL3 emulation and wavetable headers.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 5 of 7, by dionb

User metadata
Rank l33t++
Rank
l33t++
realbadpainting wrote on 2022-02-05, 04:32:

[...]

This is absolutely fantastic stuff, thank you so much for this write up on the subject. Should be stickied and made into a Wikipedia entry honestly! I realize that it would have been extremely helpful to have described my system before asking this question: PIII 800, 384mb SDRAM, DFI CA61 so it does have 3 ISA slots available, and a GeForce 256 SDR.

Good solid board with lots of room and choice for expansion. Very suitable for most of what you want.

My idea with this system was to put together something about as quick as you could get in December 1999 since I've just got a lot of love for building computers and that would've been around the time I was getting heavily into PC gaming!

If you really want THE fastest you could have gotten at that time you would want a different motherboard as the ApolloPro 133 is relatively slow. That said, the faster options are not that much faster and would add all kinds of complexity (overclocking FSB on i440BX, no ISA on i820 or i840 etc) which would not help for DOS. You are new to the game, keep it simple until you hit the limits of what you have now. If you ever decide to do separate DOS and Dec 1999 Win98 systems, that would be the time to look into this.

I don't think going for a cheap, garbage sounding solution is where I want to go with it. That's almost certainly what my Dad's PC had when he'd load up Duke Nukem for us in 96, but I hardly remember that well enough to be nostalgic for shitty audio 🤣.

Clear. That helps in narrowing down the options. You can choose ISA cards, but ones with onboard wavetable of that quality are hideously expensive. Look up Roland SCC-1 (basically an SC-55 on an ISA card) and weep. Some other synths come close, particularly the "Dream" ones, but here again the cards with them are hard to find and generally cost more than a simple card with wavetable header and a good synth on that.

A second card adds a second audio output. A third card or external module would add a third. From here on it's just a general audio issue of combining those outputs.

Quick and dirty solution is to route the line out from one card into the line in on the next. Personally I don't like that as aside from card initialisation stuff mentioned above I find it always introduces noise into the signal. The alternative is a little (or if you go far down rabbit hole less little) audio switch or mixer. Mixer is nicest as you can have separate output from two sources for MIDI and digital audio and listen to both at the same time. You plug your speakers into the mixer and are set from there on.

The Audigy doesn't have it. Suggestion is to get an ISA card with good MPU-401 and a wavetable header, and a nice Dreamblaster to stick onto that. You don't need separate connections for MPU401 as both MIDI and audio signals go over the Wavetable header. No additional cables or complexity over the second card itself, as detailed above.

As for which card... There you have a lot of options and there are a lot of - sometimes conflicting- opinions on what would be best. Knowing your budget would help, as which part of the world you live in (both availability and relative cost can differ a lot).

Apart from that, what is absolutely needed is the good MPU401 and wavetable header. Perhaps in addition: a tall card with the header high up on it is better, as some daughterboards won't fit on smaller cards.

Beyond that it's a matter of details and preferences. Creative cards tend to be priced higher and have buggy MIDI, Yamaha chips give good sound but are sometimes found on crappy (noisy) cards and have some SB compatibility issues (Duke Nukem2 springs to mind), ESS 1868 cards are totally bulletproof and very compatible, but the FM synthesis (another rabbit hole) is a bit off etc etc etc

Last edited by dionb on 2022-02-06, 23:57. Edited 2 times in total.

Reply 6 of 7, by stamasd

User metadata
Rank l33t
Rank
l33t

Yeah on Yamaha cards always disable the on-board amplifier (most have a jumper for that) and use good external amplified speakers. This keeps the noise nicely down.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 7 of 7, by SScorpio

User metadata
Rank Member
Rank
Member

Are you going to be using real DOS mode, or are you running the games through Windows?

If through Windows the DOS emulation of the SB16 is fine, it's the Adlib/OPL that's lacking. But since this is a thread on MIDI, load up the 8MB Sound Font, or even a different one from the Internet, and use that. Real MIDI modules can apply additional effects compared to Sound Fonts, but a good Sound Font will sound better than what's included with most sound cards. So give that a try before buying anything else, you might find you like.

I use an Audigy Gold in my 98se machine, I'm targetting pre-XP 9x 3D Windows games with it. That means I want something more powerful so I have an Athlon 64. This makes it unsuitable for older DOS games, but newer games with 640x480 high-quality modes run well on it, and those games generally target General MIDI or CD audio. I have a different computer targetting DOS and Win95 that has a YMF719 for anything that uses Adlib.