I'd like to know how to completely extract the MIDI data from an SRB2.
When I play it with a MIDI player, it behaves as if the data is somehow corrupted.
I tested it with QuickTime Player 7.6.9 and MidRadio Player.
I can't post the file because I'm worried about copyright issues.
Post automatically merged:
If you're unsure how to proceed, first extract music.pk3 from the game files, change the extension to .zip, and unzip it.
Next, change the extension of the file containing your preferred song to .mid.
Make sure the file name starts with D_ . This indicates a MIDI file.
O_ indicates a digital sound source.
If you want to extract a digital file, change the extension to .ogg.
Post automatically merged:
Windows Media Player Legacy has the best playback compatibility, but I'm unsure about the accuracy of the sound and the level of detail in its compatibility.
I guess the best way to do that would be to use SLADE or something specifically meant for DOOM WAD and PK3 stuff. I've noticed that looking into a PK3 with just something like 7-Zip kind of just causes all the files to be read as generic files, not sure why. Perhaps PK3 files have some differences in how they format the files stored on them or something. In SLADE, if whatever device you're using can support that app, you can just right click on one of the D_ midi files then click Export on the pop-up. At least on the semi-recent version I have, the exported file just comes out as a .MID file which you can play on whatever kind of MIDI playing device or software you want.
Windows Media Player Legacy has the best playback compatibility, but I'm unsure about the accuracy of the sound and the level of detail in its compatibility.
From what I know, Windows Media Player defaults to using a 3MB Roland GS sample set (GM.dls) which dates back to the Windows 98 days, with its driver being called Microsoft GS Wavetable Synth, a MIDI driver and sample set which has essentially remained unchanged for the nearly 3 decades it's been in Windows. (GM.dls's instruments are all lower quality versions of various instruments from the Roland SC-55, SC-88, and some sample CDs that I forgot what they were all named)
It is very compatible in terms of General MIDI file playback, but given the weak hardware it was originally made for, its output is only 22KHz, it can only play 32 notes at once maximum, and it doesn't have any sort of external effect support like Reverb. Also, the sample set only actually supports the base GM "capital" tones as well as the Roland's original(ish) GS extensions from the Roland SC-55, so if you want to play a MIDI that uses MT-32 compatibility banks or Yamaha XG or the versions of Roland GS used in the SC-88, 88Pro, 8820, etc., it'll just fall back onto the base GM instrument equivalents, which technically works but isn't the same (MT-32 to GM fallback is completely wrong).
Most MIDIs, like the ones in DOOM or SRB2, typically only use the GM and SC-55 GS banks and are made with either the default Windows sample set or its original hardware synth equivalents in mind, so usually this isn't something you have to worry about a whole lot.
I think a more ideal program to use, or at least the ones I use, would either be Fluidsynth or CoolSoft VirtualMIDISynth, since you can specify any kind of soundfont you want them to use, either for preference or MIDI compatibility, as well as benefiting from their output being at a high quality and lower latency. There are numerous soundfont conversions of GM.dls out there, but the one that seems to be the closest to how the original sounds is one called microsoft_gm_3.sf2, so if you want the same Windows sounds but without it being muffled or limited in polyphony, you can have that.
Fluidsynth seems to be more accurate with playing back MIDIs using microsoft_gm_3.sf2, being basically the same as default Windows but cleaner, as VirtualMIDISynth plays some instruments slightly louder or slightly quiter than it should for some reason (Red Volcano Zone Act 2 (2.2) is a good example). Finding a program that uses Fluidsynth libraries that works as a background application that can be used for whenever a game or app needs to play back a MIDI from what I have last checked seems pretty difficult if you don't know how to code and compile stuff on your own. I found QSynth, but that app just kinda decided to just not output any sound anymore, and I have no idea what I did to cause that or how to fix it, so I just stick with VirtualMIDISynth.
Either one has more features, better clarity, and wider MIDI support than base Windows Media Player's default driver and sample set choice.
Post automatically merged:
I guess I forgot to specify that the alternative MIDI players I was talking about (QSynth and VirtualMIDISynth) are essentially alternate drivers, so you can still use Windows Media Player but, with the apps for those MIDI drivers, change the MIDI driver it uses from the base Microsoft GS Wavetable Synth to whatever alternate driver you installed, no dedicated MIDI playback app required.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.