Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Breeder

DOOM I & II Sound Track Recorded From Adlib?

Recommended Posts

Has anyone ever recorded the sound track from the first two DOOMs as it was being played through and Adlib card?

I am trying to find this in MP3 or OGG somewhere but am having no luck.

I found a program to convert MIDI to MP3, but it sounds about what DOOM would sound like under DosBOX.

Thanks in advance.

Share this post


Link to post

You could try recording your own, using a player that supports the AdPlug plugin and outputting audio through an MP3 encoder plugin. Winamp or XMPlay are probably your best bet.

Incidentally, the sound code from VDMSound (an Adlib/Soundblaster emulator) has been incorporated into DOSBox, so any MP3 which sounds like Doom under DOSBox can't be far from the mark.

Share this post


Link to post

It won't sound quite right unless Doom is playing it using Doom's instrument set (the GENMIDI lump). Other players will sound different, either because they use different sets of instrument patches, or because of subtle differences in how they do the playback. If you really want to do this properly then you need to record an actual OPL playing back what Doom would give it.

Share this post


Link to post

Meaning I need a 485 with said sound card plugged into my Tascam recorder.
I was hoping someone else had done this already. :)

Share this post


Link to post

A while back I was going to build an Arduino-based OPL rig that would let me play back music through a real OPL chip. I acquired all the components but never spent the time to actually build the thing. Theoretically it would be possible to do what you want using that, but I doubt I'll get round to it at this stage.

DOSbox has fairly good OPL emulation, but I assume that isn't good enough for you?

Share this post


Link to post
Breeder said:

Meaning I need a 485 with said sound card plugged into my Tascam recorder.
I was hoping someone else had done this already. :)

I did some experimental recordings from a Pentium 2 based system last year, but ideally I'd like some way to prevent the tracks from looping.

Any suggestions?

Share this post


Link to post

DOSbox has a feature that lets you record raw OPL output (.dro files). In the Chocolate Doom source there's a program called droplay that lets you replay these, and if you set it up right you can play back to a hardware OPL device. So you could record Doom's music with DOSbox, crop your .dro to length and play it back on the P2 that way.

Share this post


Link to post

You guys keep bringing up DosBOX. Honestly I have not ran DOOM in DosBOX in a long while, so I'll run it again and see what all has changed in the most recent version. Maybe that and Chocolate DOOM will set me straight.

Share this post


Link to post

Maybe it can be simpler to use ZDoom?

There is the writeopl console command which you can use to export MUS or MIDI files into raw OPL files which you can then accurately convert to MP3 in some other program.

Share this post


Link to post
Breeder said:

You guys keep bringing up DosBOX. Honestly I have not ran DOOM in DosBOX in a long while, so I'll run it again and see what all has changed in the most recent version. Maybe that and Chocolate DOOM will set me straight.

DOSbox adopted a new OPL emulator a couple of years ago which is a big improvement. But my last comment was just answering GreyGhost's question of how to deal with tracks looping.

Gez said:

Maybe it can be simpler to use ZDoom?

There is the writeopl console command which you can use to export MUS or MIDI files into raw OPL files which you can then accurately convert to MP3 in some other program.

How close is ZDoom's OPL playback to Vanilla Doom? I doubt it's anywhere near as accurate as Chocolate Doom (I put a lot of effort into reverse engineering the exact behavior of DMX's MIDI code).

Share this post


Link to post

I've started this a few times but when I get about halfway in I decide to change one soundcard or the other or the conditions of recording or something and give up for a couple years.

Last time I used musplay which solves the looping problem but I'm not sure of its accuracy. I also used an SB16 I got from a friend but right now I'm uncertain if it's an early model with a real OPL3 or not. Next time I'll have to try droplay...

fraggle said:
A while back I was going to build an Arduino-based OPL rig that would let me play back music through a real OPL chip.

Someday I'd like to combine this with an Arduino with programmable USB (like the Uno I already have; maybe the Leonardo would work too). I need to find an ISA backplane since I'd rather not tear apart a motherboard or solder directly to my SBPro...

Share this post


Link to post
CODOR said:

I've started this a few times but when I get about halfway in I decide to change one soundcard or the other or the conditions of recording or something and give up for a couple years.

Last time I used musplay which solves the looping problem but I'm not sure of its accuracy. I also used an SB16 I got from a friend but right now I'm uncertain if it's an early model with a real OPL3 or not. Next time I'll have to try droplay...

The musplay code is what NWT and CDoom use, and I'd guess ZDoom does as well. It's quite good but there are some things it does get wrong.


Someday I'd like to combine this with an Arduino with programmable USB (like the Uno I already have; maybe the Leonardo would work too). I need to find an ISA backplane since I'd rather not tear apart a motherboard or solder directly to my SBPro...

I got an old SoundBlaster card off eBay and removed the chip from it. It's easy to find ones with OPL3 chips but what you really want is an old one with an OPL2 chip, since they're DIL packages, which makes them easy to remove and plug into a prototype board without any need for messy soldering work.

Share this post


Link to post
fraggle said:

How close is ZDoom's OPL playback to Vanilla Doom? I doubt it's anywhere near as accurate as Chocolate Doom (I put a lot of effort into reverse engineering the exact behavior of DMX's MIDI code).

I'm not the most knowledgeable in this domain so correct me if I'm wrong, but aren't there basically two different steps for playing MIDI music as OPL?
Step 1: convert MIDI instructions to OPL instructions (using the GENMIDI lump)
Step 2: convert OPL data into actual sounds

I assume maybe incorrectly that step 1 is the easy part and the results shouldn't really differ between ports.

As for step 2, I believe it has improved recently (if you use GZDoom 1.7.1 or SVN builds of ZDoom), since the OPL emulation code has been thoroughly rewritten, starting with r3939 and ending with r3972. There are more details here and there so I won't get too verbose; but ZDoom can now emulate OPL2 and OPL3 both. It also optionally supports some non-vanilla-OPL stuff such as stereo panning or using eight OPL3 cores if so you want. ;)

fraggle said:

The musplay code is what NWT and CDoom use, and I'd guess ZDoom does as well.

Partly, though it has been updated several times since. For instance in r872 and r1195. You can look at the full log.

Share this post


Link to post
Gez said:

I'm not the most knowledgeable in this domain so correct me if I'm wrong, but aren't there basically two different steps for playing MIDI music as OPL?
Step 1: convert MIDI instructions to OPL instructions (using the GENMIDI lump)
Step 2: convert OPL data into actual sounds

I assume maybe incorrectly that step 1 is the easy part and the results shouldn't really differ between ports.

Broadly, yes. The OPL chip does not play MIDI - it is just a machine that makes noises. To do MIDI playback, you need some code that will read MIDI instructions and program the OPL to make appropriate noises for each instrument.

Doom's GENMIDI lump is a big table of OPL register values, one set for each MIDI instrument. When you want to play, eg. a finger plucked electric bass, the MIDI code looks up the entry for instrument #33, loads it into the OPL and makes it make a noise. Incidentally, this is why Boom's OPL playback sounded different to Doom - it used the Allegro sound library that had its own table of instruments.

You can get 90% of the way to sounding like Doom just by using Doom's instrument set, but there are still lots of subtle things you have to get right to sound just like Doom. For Chocolate Doom I used a precise analytical approach, where I used a modified version of DOSbox to dump all the OPL register writes to a log, then did the same for Chocolate Doom and compared the differences. So I can prove that, for some songs at least, the behavior is identical to Vanilla.

Partly, though it has been updated several times since. For instance in r872 and r1195. You can look at the full log.

Interesting, thanks!

Share this post


Link to post

Didn't we have a thread some time back where a member recorded the music through the proper soundcard? Sadly I lost those loss less recordings.

Share this post


Link to post
Breeder said:

First of all, I assume by "do this" you just mean "buy an old sound card so I can make some recordings". Bear in mind you'll need an old computer to put it into - one with ISA slots.

Pro-tip: Google Image Search can help you find high-resolution photos of the sound cards you find on eBay. Here's the card you've linked to. It doesn't have an OPL2 chip, so no, that card isn't any good. You want to find a card that has "YM3812" (OPL2) or "YMF262" (OPL3) written on the top.

Share this post


Link to post

I got an ISA SB16 and a computer with ISA Slots. Don't know if the SB16 card actually works and how to get it to work on Win98 or DOS.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×