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

Is there anyone here with experience modifying/creating soundfonts?

Recommended Posts

I've been trying to find a 100% accurate soundfont to the default Windows MIDI sound. Naturally, this soundfont comes with each install of windows and is super easy to find - it's a file called gm.dls that can easily be converted to .sf2 format using a program called Viena.

 

So obviously this would result in 100% accurate renditions of the music, right? Well... Oddly, no.

 

If you open up a MIDI file using Windows Media Player (Win7) it will sound exactly the same as it does in almost any source port, if the MIDI device is "Microsoft GS Wavetable Synth".

 

Zandronum offers FMOD as a device, which actually sounds better overall - The broken "Head Like a Hole" midi on map02 of DWANGO5 sounds totally fixed, it actually sounds just like it did on Windows95 and 98 to my recollection. From Vista/7 onward, the drums were broken but selecting FMOD for some reason fixes this. Sadly Zandronum is the only port I use that seems to have this option, most just either offer "Standard MIDI device" or "OPL emulation" which is understandable and would be no problem, if the Standard MIDI option didn't sometimes break things as demonstrated above. I wouldn't be surprised if most people didn't realize that the inbuilt midi playback on more recent versions of Windows had been gimped though, since it's pretty subtle most of the time.

 

I'm telling you all that crap to give some context: I wanted to convert some MIDIs I had ripped from wads to MP3 in a nearly-lossless way. When I convert these MIDIs to MP3 format, using the exact soundfont supplied with Windows, it still sounds somewhat different! For a brief second you wouldn't notice, but the levels are all over the place, not sounding like the "GS Wavetable Synth" or the FMOD output! Understandably, I expected it to sound exactly like one or the other, but it has produced a 3rd minorly-different sound yet again.

 

The side effects are a bit too annoying to look past: D_VICTOR uses a Clav as one of the instruments, which is supposed to have relatively little sustain. However, for some bizarre reason, it has FULL sustain after the conversion, really fucking up the sound of the song. Another example is E1M6, the 'war drums' are much quieter than they sound in-game or in Windows Media Player and the Saw wave is louder, totally messing up the sound of the song once again. It's not just the one converter doing this either, I tried another and the results were the same. Even SLADE sounds just the same, with the incorrectly sustaining Clav, when using gm.sf2 (the ripped Windows soundfont). So this isn't just limited to one program.

 

Would my only option for getting it to sound exactly like it does in-game be simply using screen recording software and muting the sound effects? There's potential for notable loss there, unless there's free screengrab software out there that gives you robust control over the audio quality in a recording. Still, even then, a hiccup in performance could cause a stutter in MIDI playback that would then be etched into the recording, exactly what I want to avoid.. It's the whole reason I sought out a converter in the first place!

 

This has been a strange mix of interesting, headache-inducing and fun, but I wanted to ask here for any help you guys might have for me. Luck totally shined on me too - A guy named Technomancer showed up in this thread, his one and only post here ever, sharing a SCC-1 based soundfont that sounds damn near identical to Windows Media Player/Most source ports playback, even after a MIDI to MP3 conversion! Hot damn!! All the levels are ~90% correct or more, certainly good enough for me! The only two instruments where I immediately noticed different samples were being used were the Overdrive Guitar and one or two Crash Cymbals. (Technomancer00 even noted it in his post - some of the other cymbals may have had a very very slightly different sound but it was too minor for me to perceive).

 

This is where Viena comes back into the picture. After a few minutes of looking around at the "gm.sf2" soundfont I ripped directly outta Windoze and the SCC-1 soundfont in Viena, I easily found the samples that were being used for each, and they mostly matched other than that. At a glance, the idea of simply copying a few samples looks easy. I can see each set of samples in each soundfont, I should just be able to cut-and-paste, and tell the instrument the new range of samples to use, right?.. Well, uh, no. It definitely IS possible, the program is making that clear to me, but for the life of me I cannot figure it out. If I could get those two swapped, I'd have exactly what I needed CON SARNIT RAAAAARRRHGhsdgkjs

 

All of this may seem strange and pedantic, but to me the idea that Windows and other operating systems may soon start being shipped without a basic soundfont included is not farfetched at all and I'd like one that's 90%-or-more accurate to the sound heard on Win95, 98 and XP by default, no matter what program is using said soundfont. I know this isn't even totally accurate to the intended sound (the SC-55) anyway, but it's a simplified derivative that represents how the majority of Doomers have heard the music over the years.

 

I'll go ahead and highlight @Patch93 since he's the only person I know with knowledge about soundfonts. Maybe Jimmy or Esselfortium could help me as well? The forum software decided I was only allowed to highlight Patch93 for some reason.. Who the heck knows why. Looks like rdwpa has already had this issue in the past but gm.sf2 was close enough, but I'm more of a pedant.

 

If you've made it this far, thanks for reading my wall and hopefully you can assist me in my goal.

Share this post


Link to post

That was really hard to read, and I still not get your main question. Like, you want to convert your favourite midis into MP3 without loosing the identity?

Share this post


Link to post

Basically, yes. I want to combine two soundfonts into one, using the 'best' instruments of each.

Share this post


Link to post

Thanks a lot for those links, Gez. Unfortunately the links on the first one seem to be dead, but the second one worked. I'll be checking them out!

Edited by Doomkid

Share this post


Link to post

The first link is to the thread in general, the second was to a post where you can find them reuploaded because it's on page 7 of the thread. (A couple posts above that second link, you can also find another download link that still works.)

Share this post


Link to post

Yeah, I don't know if I can offer much help. My guess is that the ASDR levels that are set in the GM.DLS file are handled in a different way by DirectMusic (Microsoft GS Wavetable Synth), which is why they sound incorrect when converted to the SF2 format. You'd have to recreate the ASDR values by ear.

 

In regards to the Victory music, that's not how the Clav should sound anyway, since the notes are supposed to slowly decay in volume as the sustain is held out. 

 

 

 

Share this post


Link to post

Gez had pointed out in another thread that fluidsynth added DLS support, which might also give a fighting chance for getting gm.dls renders just like Microsoft's General MIDI synth. Granted, there is a big difference between the sound font and synth itself... I don't have Windows and can't really directly compare them.

Share this post


Link to post

If it can be of any help, I made a post with notes on some common soundfonts. Scc1t2 is my go-to for almost complete MS MIDI Wavetable Synth emulation, the balance is near perfect. I believe the precision will depend on the synth that you are using the soundfont with.

https://www.doomworld.com/forum/post/2018746

 

If you want to 'combine' two soundfonts into one without much effort, you can use sflist. See more at https://www.foobar2000.org/components/view/foo_midi

Basically it's just a text file where you list your soundfonts. The one at the bottom will have more priority than the top one and will override their common patches.

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
×