Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
The_MártonJános

What doom music formats are likely to be compiled into WADs?

Recommended Posts

90% of them are midi music, but there are quite a couple which are not compatible with the midi playback.

For example:
- various Memento Mori tracks (MAP02, MAP06, MAP10, etc.)
- Memento Mori II: Give In (MAP03 music)
- Claustrophobia 1024's MAP17 track
- Kama Sutra Doom's MAP23 track
- NDCPII's MAP10 track
- HR2's MAP12, MAP13 and MAP16 tracks
- ... and I can list them until Infinity.

Ought this to be a "security lock" which blocks the unfortunate ripper to have entire lists of soundtracks or just a malforming amongst the Wads' music formats? It became rather suspicious to me that sometimes there is only one "odd-one-out" which doesn't play its role as a midi.

Share this post


Link to post

Well the only other obvious format is MUS, and if you extract a raw MUS lump and try to play it as a MIDI, obviously you might run into problems there. Other popular non-vanilla formats are mp3, ogg vorbis, and tracker modules, although these probably aren't what's causing you problems. I'd say it's a problem with the program you're using to extract and convert the lumps (that or they are MUS and you're failing to properly convert them to MIDI). Although it might technically be possible, a "security lock" sounds like you're reading too much between the lines, though.

Share this post


Link to post
EarthQuake said:

that or they are MUS and you're failing to properly convert them to MIDI

This. The MUSes listed are tracks which are particularly problematic when being converted to MIDI. But this is not the fault of the user - there's just something wrong with the files... either they're too big for a converter, or just malformed MUS. (Especially MM2 MAP03, which, while an awesome song, sadly often fails to retain the proper timings of its notes.)

To properly convert them, you need MMUS2MID. :)

Share this post


Link to post

Whatever. The music I'm ripping is usually a MUS one, but does play as a midi as well in most of the cases. I suppose the rest of them which shows up as having 0:00 in Winamp are MUS files decoded more forcefully than it can be written as a midi, too.

Thanks for the advices, but... does that MMUS2MID have a Windows-compatible version, too? I'm not keen on these command-line thingies.

Share this post


Link to post

Gez: In my experience, MMUS2MID has always worked as it should, converting MUSes into MIDIs exactly as they sound in-game. I wasn't aware of QMUS2MID - I take it's a slightly more efficient converter than the other two?

TNT MAP02, as you said in that thread, is a terrible, malformed MUS anyway... looks like MMUS2MID chokes on that. Didn't Xaser say he had a fixed version of the MUS itself?

Anyway Cell, MMUS2MID is Windows-compatible. You just click and drag the MUS files in question onto the EXE and it's done. :)

Share this post


Link to post
Jimmy91 said:

Didn't Xaser say he had a fixed version of the MUS itself?

Fark. I do, and someone PM'd me about it a little while back about it. My apologies for forgetting...

http://ionline.vectec.net/music/D_CORPSE.mid
http://ionline.vectec.net/music/D_CORPSE.MUS

These should work, I think. All I did was convert the original .MUS, fix the volume issue (resulting in the linked midi), and convert it back to MUS (also linked). Hope someone finds this useful. ;)

Share this post


Link to post
Jimmy91 said:

Gez: In my experience, MMUS2MID has always worked as it should, converting MUSes into MIDIs exactly as they sound in-game. I wasn't aware of QMUS2MID - I take it's a slightly more efficient converter than the other two?


I've looked a little into it since my last post. MMUS2MID is based on QSMUS2MID, and is apparently what the SDL ports (PrBoom and Eternity at least) use internally to feed MIDI data to SDL. It is presumably a bit more accurate than QMUS2MID (otherwise, why bother changing it?) but not enough to handle that one song as intended.

Moar looking into it: this is interesting.

    if (mem_fwrite(&working, 1, 1, midioutput) != 1) 
    {
        return 1;
    }
    // Quirk in vanilla DOOM? MUS controller values should be 
    // 7-bit, not 8-bit.

    working = value;// & 0x7F; 

    // Fix on said quirk to stop MIDI players from complaining that 
    // the value is out of range:

    if (working & 0x80) 
    {
        working = 0x7F;
    }
So apparently there's a MUS2MID by a Ben Ryves that's even more accurate than MMUS2MID. However said quirk is commented out. Hmm...

Re-edit: Yep. I've empirically confirmed that D_STALKS from TNT.wad has at several places a value on 0x87 in its "change control" events.

I even built myself a custom version of ZDoom where the fix (assigning 0x7F to the value if it is at least 0x80) can be toggled on or off with a console variable, and then tried with and without it in the same session (using the snd_reset command to force a refresh of the song since it's cached otherwise) and yeah, with MIDI players that didn't work correctly before (e.g. TiMidity++) it now works.

Share this post


Link to post
Jimmy91 said:

You just click and drag the MUS files in question onto the EXE and it's done. :)

Thanks for the advice. I wouldn't even have imagined that it works in this way.

Share this post


Link to post

Followed: I suggested patches to both Eternity and ZDoom; and SLADE 3 r890 (available on the DRD Team SVN site) now features an adaptation of Chocolate Doom's MUS2MID code instead of the older QMUS2MID. :)

(PrBoom+ could probably use the same patch as Eternity, I think they use the same MMUS2MIDI code.)

Share this post


Link to post
Xaser said:

Fark. I do, and someone PM'd me about it a little while back about it. My apologies for forgetting...

http://ionline.vectec.net/music/D_CORPSE.mid
http://ionline.vectec.net/music/D_CORPSE.MUS

These should work, I think. All I did was convert the original .MUS, fix the volume issue (resulting in the linked midi), and convert it back to MUS (also linked). Hope someone finds this useful. ;)


Thanks a bunch Xaser! I think I'm gonna use this in an upcoming map (a credit of course).

Share this post


Link to post
Gez said:

(PrBoom+ could probably use the same patch as Eternity, I think they use the same MMUS2MIDI code.)

Hahaha. After 4 years, ZDoom finally catches up. (And Chocolate did it even earlier.)

r2410 | entryway | 2007-01-29 10:17:16 +0000 (deleted) | 2 lines

New mus -> mid conversion code thanks to Ben Ryves <email deleted>
This plays back a lot of music closer to Vanilla Doom - eg. tnt.wad map02
BTW, D_STALKS@killadve.wad plays back correctly now.

Share this post


Link to post

Oh, it's been in Choco since 2006. :p I didn't check the PrBoom+ source, but Eternity doesn't have fixed sound either.

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
×