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

Tutorial: Using Soundfonts for DOOM Midi Music

Recommended Posts

Created an account to thank you :) I was just looking for something like this yesterday.

 

Is there also a way to extract the MIDI signals (not sure what the correct name is) from wads so I can listen to them without launching doom?

Share this post


Link to post
14 minutes ago, auxo said:

Is there also a way to extract the MIDI signals (not sure what the correct name is) from wads so I can listen to them without launching doom?

MIDI music in Doom mods is typically either in MUS format or directly as standard MIDI files. Advanced music players can usually handle MUS files when they have their MIDI plugins, but you can also convert them to standard MIDI format with SLADE. Standard MIDI files obviously do not need conversion. In both cases, export them from the WAD with SLADE and there you go.

 

XMPlay can actually just open WADs directly if you get its WAD plugin. So with that and the MIDI plugin you don't even need to extract anything, you can just load the wad in XMPlay and listen to its soundtrack.

Share this post


Link to post
8 hours ago, Gez said:

MIDI music in Doom mods is typically either in MUS format or directly as standard MIDI files. Advanced music players can usually handle MUS files when they have their MIDI plugins, but you can also convert them to standard MIDI format with SLADE. Standard MIDI files obviously do not need conversion. In both cases, export them from the WAD with SLADE and there you go.

 

XMPlay can actually just open WADs directly if you get its WAD plugin. So with that and the MIDI plugin you don't even need to extract anything, you can just load the wad in XMPlay and listen to its soundtrack.

Thanks for the suggestions. I couldn't get the XMPlay WAD plugin to work, but I managed to extract the MIDI files using Slade. The MIDI plugin for XMPlay works like a charm so thanks for that. Now I can listen to the Eviternity soundtrack with some kickass drums :)

Share this post


Link to post

Great stuff, plums :D

 

What if I run FluidSynth daemonized? Is there a way to use ALSA instead, in Crispy Doom?

Share this post


Link to post

Thanks for this, was very helpful. I had tried a couple weeks back to do this when I was going through TNT with that midi pack that released recently. I was comparing music with the old ones, specifically Lets Kill at Will and I noticed all the videos on youtube used a different much better sounding soundfont than I used and I thought "damn I've been robbed of this". Tried to use virtualmidisynth but didn't use it correctly and it didn't quite work so I abandoned that.


Even really good midis get a bit stale when I'm stuck on a map for a while, so it'll be really nice to switch those out to keep it fresh.

Share this post


Link to post

Yep!

 

Over time I've switched from Arachno to eawpats.sf2 (SHA1 18b70011ba5858764793f8d3a98307ac90341a9d) to briefly Musyng Kite and now am on SGM. It's good to be able to switch soundfonts :)

 

Anyway, my original question still stands. Does Crispy Doom even have alsa-seq support?

I know I wrote PRBoom UM-fork's :P </self-plug state="embarassment">

Share this post


Link to post

Oh wait, it uses SDL_mixer. That does have Timidity playback, which is blergh, and also redundant since I have a daemonized Fluidsynth anyways.

 

In my searches I found this brief mailing lists thread. My hopes are low for being able to use "native MIDI" – or honestly, more like just being able to plug it to another running program via ALSA, like Fluidsynth at all lol – but they're not null! Do let me know if you guys find anything of use.

 

Crispy Doom could also implement ALSA separately, but I do wonder how much would cross the line and be considered tampering and un-Doom-like...

Share this post


Link to post

Sorry for the necro'ing, but:
Is there a way to use a soundfont in Eternity on a Windows system? The description above is only for Linux users. Is there no way to change MIDI synth in this port in general?

Share this post


Link to post
22 minutes ago, NightFright said:

Sorry for the necro'ing, but:
Is there a way to use a soundfont in Eternity on a Windows system? The description above is only for Linux users. Is there no way to change MIDI synth in this port in general? 

The only way I've gotten Eternity to use soundfonts or use a different device is to use Virtual Midi Synth and have it all set up beforehand.

Share this post


Link to post

Question in general. Why is using SoundFonts so difficult to simply play midis? How is this done?

I was trying to get Devilution's soundtrack extracted from the WAD file and played in Winamp in the same way as it plays in GZDoom. Oh heavens, this was not an easy task apparently! I was reading about all kinds of things like FluidSynth, QSynth, getting soundfonts, using alternate players, loading soundfonts. Jesus. How can someone just get the midis playing to sound the same as they do when GZDoom is playing them back (apparently it's using FluidSynth internally, and I found out as much as it uses a GZDoom.sf2 soundfont).

Is there no program out there which just let's you simply load this SF2 file via a gui interface, and then load the midi and plays it? I am having great difficulty just accomplishing this.

Share this post


Link to post
32 minutes ago, Sirius104x said:

Question in general. Why is using SoundFonts so difficult to simply play midis? How is this done?

I was trying to get Devilution's soundtrack extracted from the WAD file and played in Winamp in the same way as it plays in GZDoom. Oh heavens, this was not an easy task apparently! I was reading about all kinds of things like FluidSynth, QSynth, getting soundfonts, using alternate players, loading soundfonts. Jesus. How can someone just get the midis playing to sound the same as they do when GZDoom is playing them back (apparently it's using FluidSynth internally, and I found out as much as it uses a GZDoom.sf2 soundfont).

Is there no program out there which just let's you simply load this SF2 file via a gui interface, and then load the midi and plays it? I am having great difficulty just accomplishing this.

 

VLC lets you do this. Also, pretty sure Windows Media Player can still play them out of the box.

 

 

Capture.JPG

Share this post


Link to post
8 hours ago, Sirius104x said:

Question in general. Why is using SoundFonts so difficult to simply play midis? How is this done?

I usually just start VMS (Virtual MIDI Synth), make sure the correct soundfont is loaded, then double-click the MIDI and it plays in Windows Media Player with the selected soundfont. VMS does have a "configuration/MIDI mapper" tab where you set it to use your soundfont rather than the built-in Windows one, but you only need to do this once.

 

It really shouldn't take more than 5 mins to set up, then should be ready forever from that moment on.

 

EDIT: Just realized, the first 1 minute and change shows you all you need to know for Windows Media Player and any MIDI sequencer like Sekaiju.

 

Is there any reason you have to use Winamp specifically? SynthFont seems to have a plugin for Winamp where you can select soundfont.

Share this post


Link to post

Using Polyphone, I made a .sf2 file using each song from the Bucket Head Sigil soundtrack as instruments. Then using FL Studio, LMMS, and SynthFont. I made midi's out of it. All the midi's are is just 1 extended note for the entire duration of the songs. I'm hoping I can get this working on the unity port by replacing the midi's in the wad using slade with these ones I made. Though, If it doesn't end up working. That'll suck.

Edit: Didn't work on the unity port, but it was still fun to make anyhow.

Edit 2: So uhh, kinda embarrassing, you can just import OGGs to the unity port and they just work, though the main menu is bugged out for some reason; all episodes show up as normal DOOM Episodes till you start and then back out to the main menu, if you load up the game choosing any of the episodes it still loads SIGIL with all the music. My apologies for derailing, just didn't think it would be this easy.

Edit 3: I figured out why the main menu was bugging out, it was due to the intro skip mod, having mp4's with a really small length skips to the game before it can load everything. I replaced DLegal with a 5 second blank mp4 and it fixed the problem entirely.

Edited by DeathWrench : update to avoid double posting

Share this post


Link to post

Thank you to Dasho and Doomkid both. VLC player playing soundfont midis, who'd have thought! And I don't need Winamp specifically, but it's just what I use normally for all my music. The Synthfont plugin worked and it's playing the files with various soundfonts I've tested. Still can't quite get it to sound exactly as they do playing it inside GZDoom itself. They are likely tweaking some custom settings within FluidSynth in the game to get it to sound just the way they want. Which I would say sound by far the best compared to any soundfont or player outside of the game, including using the gzdoom soundfont.

I may just sit in the game and record the windows audio directly for these, as it seems to be the best sounding for these tracks (Anion Rings from map 12 for example).

Share this post


Link to post
18 minutes ago, Sirius104x said:

Still can't quite get it to sound exactly as they do playing it inside GZDoom itself. They are likely tweaking some custom settings within FluidSynth in the game to get it to sound just the way they want. Which I would say sound by far the best compared to any soundfont or player outside of the game, including using the gzdoom soundfont.

 

It's probably just stuff like chorus and reverb being disabled by default in GZDoom. For strange reasons most software defaults these to on, while switching them off generally sounds a lot better.

But no, appearently these are being considered essential parts of the experience.

 

One thing about gzdoom.sf2: This sound font was chosen as a default because it is small, free and doesn't sound like shit. It surely is not the best one avaialble and I'd encourage anyone to try out others - and also try them not only with FluidSynth but also with Timidity++.

 

 

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
×