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

Adlib Tracking with Doom OPL instruments

Recommended Posts

I have been trying to learn FM synth lately and I wondered if it would be possible to extract the OPL timbres from the Doom WAD file and load them into something like Adlib Tracker II.

Looking at the info in the lump and the parameters for AT2 instruments, the data seems to correspond.
* http://doom.wikia.com/wiki/GENMIDI
* http://www.adlibtracker.net/images/at2_02.png

Before I go ahead and spend the time, has anyone done this already and has the A2I files sitting around?

I see CSG has done the reverse: (ie. loading A2Is into GENMIDI)
* http://www.doomworld.com/vb/freedoom/58121-genmidi/

Share this post


Link to post

Ask fraggle, I think he happens to have some code to split them up, and he wrote csonicgo's code to make the a2i's to sbi to genmidi

Share this post


Link to post

Yeah, I'm working on making a new GENMIDI. thing is, I've been busy with college (I'm getting a music technology degree) and I've been working on real projects. when I get some time maybe this summer, I will finish it up. honestly, I was 1/2 way through already, when the OPL2 limitation kicked me in the nads. Since then it's been sticking to 4 waveforms, working with opl2 limitations, getting somewhat similar results. OPL2 is much harder to make good sounds with than OPL3, obviously.

Share this post


Link to post

With the code I've written for Freedoom you can do exactly this. If you look in the genmidi directory there is a script called dumpgenmidi, which will write a bunch of SBI instrument files out, and output a config to stdout that matches the contents of config.py. You can load the SBI instruments using AT2.

Share this post


Link to post

I'm interested in making Adlib Tracker sound like Doom, not the other way round :P

Seriously tho give me a yell on on IRC, I'll help out if I can.

Fraggle: After fixing some indent errors I get

$ ./dumpgenmidi.py
File "./dumpgenmidi.py", line 67
return "Instrument(%s)" % (", ".join(args))
SyntaxError: 'return' outside function

Share this post


Link to post

Disregard, I'm an idiot. It helps if I clone your git instead of copy-pasting.

Currently rocking Doom pianos in AT2. Thank you so much :)

Share this post


Link to post

Cool! Glad to hear it.

And if you're interested at all in helping to improve Freedoom's GENMIDI lump it would be greatly appreciated. There's a guide in README (HTML version here). I also drew up a list of things that need doing.

Share this post


Link to post

Alternatively if you can just view the info/settings for the patches you can then recreate them in any FM software. This is how I can very accurately mimic any Genesis/Mega Drive sounds I want in FM8, and since Doom has 2op that makes it twice as easy to recreate.

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
×