Jump to content

GENMIDI


Csonicgo

Recommended Posts

Freedoom's GENMIDI lump is, imho, horrible. It's so bad that I have to load a pwad with the original doom's GENMIDI lump to be able to tolerate the music. I know it may not be completely kosher, but it's grating to the ears if I don't.

The problem is finding a replacement, or making another one. How would one go about this? There's no tool that I know of for accomplishing this. Anyone have any ideas?

Share this post


Link to post

The GENMIDI patches are from the OpenBSD kernel. I know they're horrible, but I didn't have anything better that was useable, and frankly I didn't put a lot of thought into it because most source ports don't even use GENMIDI.

One thing that I have thought of in the past is to split out the GENMIDI lump into separate SBI files, and build GENMIDI from the individual SBI files as part of the build process. People could then submit replacement SBI instruments (you should be able to use Adlib Tracker to make them). It's such a niche interest that I haven't bothered to do it, though. I'd have to be convinced that there were people genuinely interested in submitting improvements to convince me that it would be worth the effort to implement.

Share this post


Link to post

Please pardon the bump and my ignorance on this question.
Just curious to what the GENMIDI lump does exactly and why it needs to be replaced/changed.

Sorry, I should know this by now.

Share this post


Link to post

it's for General MIDI controlled OPL synthesis, which is slowly gaining support in ports (or I hope, since Zdoom and now Chocolate doom have support for it somewhat). It gives that nostalgic sound some of us remember best when playing. The problem: it's probably Paul Radek's patch set, and therefore not distributable.

also Fraggle I would love to help assist in that. I would need a better interface (AT3 is apparently in the works) and support for 4op or double-voice patches.... or I could suck it up and learn ATII's instrument editor.

Share this post


Link to post
sgtcrispy said:

Please pardon the bump and my ignorance on this question.
Just curious to what the GENMIDI lump does exactly and why it needs to be replaced/changed.

Back when people all had "SoundBlaster-compatible" sound cards, Doom's MIDI music was played back using the OPL synthesizer chip found on the SoundBlaster (and all its successors and clones). The OPL chip isn't a MIDI chip, it's essentially just 11 FM synthesizers (basically, programmable noise-making boxes).

So to play a MIDI note, you program the chip with a set of register values that will make a noise that sounds like the appropriate instrument, at the frequency corresponding to the note that's being played. The GENMIDI lump is a table of these register values, one for each of the instruments in the General MIDI instrument set. So for example, suppose the MIDI file says to play a guitar note, you might look up entry #25 in the table, program the OPL chip with those values, and it makes a noise somewhat reminiscent of a guitar.

Doom's GENMIDI lump is particularly good compared to other sets (as used by other games, etc). The one in Freedoom is converted from the instrument set used by the OpenBSD kernel (mainly because the license matched up with Freedoom's license), and it's pretty horrible. Ideally it would be nice to have some better instruments, but most source ports nowadays don't even support OPL playback - probably because most sound cards don't even have an OPL chip any more and there are much higher quality options for MIDI playback (Timidity, etc).

Csonicgo said:

also Fraggle I would love to help assist in that. I would need a better interface (AT3 is apparently in the works) and support for 4op or double-voice patches.... or I could suck it up and learn ATII's instrument editor.

If you can put together a few instruments that you think are better, I'll be more inclined to put in the effort. I don't want to go to the effort just to end up having my time wasted :-)

EDIT: There seem to be some more instrument editors linked here (I haven't tried them)

Share this post


Link to post

The GENMIDI lump didn't sound too bad when I last tried it out. It sounded like sound blaster to me. If you want real MIDI you'd attach a keyboard to your blaster.

Share this post


Link to post

Well, Freedoom used to have a different lump that I thought was free to use, but was actually derived from the Doom one. I can tell you that the new one is pretty horrible (but at least is free). You might have been using the old lump.

Also, there's no such thing as "real MIDI". Playback using FM synthesis via an OPL chip is one way of playing back MIDI; there is no standard for how MIDI playback is supposed to sound.

Share this post


Link to post
fraggle said:

Also, there's no such thing as "real MIDI". Playback using FM synthesis via an OPL chip is one way of playing back MIDI; there is no standard for how MIDI playback is supposed to sound.

Au contraire, "real MIDI" is when the data flows over a MIDI cable between MIDI-capable hardware devices, which predated the current custom of storing that data stream in files.

Share this post


Link to post

WEll, I know ATII has some great patches that come with the program. however, it's really hard to pin down who owns these, if anyone. Plus, the values used to make them are so simple it'd be like claiming ownership of a simple math problem. There's only so many ways to make a flute sound, and they're pretty much all been done. So I guess I'll recreate from those values (no way to really check that that but whatever) and use those. the patches so old now and owner-less that I guess you could slap any license on it you want. No one could really prove that they were "copied", as copies are copies are copies. If anything, if I actually get along to do this (spring break yay!) it'll probably sound close to the YAMAHA's patch set I remember on my old OPL3 Keyboard.

Share this post


Link to post
andrewj said:

Au contraire, "real MIDI" is when the data flows over a MIDI cable between MIDI-capable hardware devices, which predated the current custom of storing that data stream in files.


That is what I said.

But yeah, I listened to it a long time ago.

Share this post


Link to post
andrewj said:

Au contraire, "real MIDI" is when the data flows over a MIDI cable between MIDI-capable hardware devices, which predated the current custom of storing that data stream in files.


Sure. But correct me if I'm wrong, if I were to pass the MIDI conversions of the doom MUS music to my alesis micron, the noise that is produced would be entirely unpredictable, as each patch is programmable and could be set to anything.

Share this post


Link to post
Jon said:

Sure. But correct me if I'm wrong, if I were to pass the MIDI conversions of the doom MUS music to my alesis micron, the noise that is produced would be entirely unpredictable, as each patch is programmable and could be set to anything.

Depends if your alesis micron supports General Midi, that standard set of 128 instruments which DOOM MUS files use (I'm not sure if the drums are included in the GM standard though).

Share this post


Link to post

drums are included. But drums in midi history have been weird: the first GM spec only had one drumkit, and that was "percussion". now there are several kits to use, including power, orchestra, standard, 808, etc etc.

Share this post


Link to post
Csonicgo said:

drums are included. But drums in midi history have been weird: the first GM spec only had one drumkit, and that was "percussion". now there are several kits to use, including power, orchestra, standard, 808, etc etc.


And Analog, that kit sounds nice.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...