OpenRift Posted December 26, 2020 (edited) A brief Foreword For those who don't know, the Roland Sound Canvas SC-55 was a popular MIDI module among PC game composers in the 90s. Seen in the hands of composers such as Bobby Prince and Lee Jackson, creators of the Rise of the Triad, Duke Nukem 3D, and most importantly, Doom soundtracks. The sound of this module was so influential that it would serve as the basis for Microsoft's GS Wavetable synth, first seen in Windows 98. However, there lies the problem. While the GS wavetable was based on SC-55 samples, the samples were far from the sound of the actual unit. For comparison: GS Wavetable SC-55 Now A while ago on VOGONS, various ROMs for the SC-55 were extracted and eventually decrypted, opening up the possibility of a soundfont. And that's exactly what @Trevor0402 did. Using tools made by VOGONS users NewRisingSun and Kitrinx, he converted the entire SC-55 MkII soundbank to a soundfont and carefully tweaked each instrument BY EAR to match his own SC-55 unit. Having helped him test the font during development, I can say with confidence that the differences between it and the real deal (based on SC-55 recordings from various soundtracks) are near indistinguishable. This font blows the attempts of Patch93 and EmperorGrieferus out of the water (though I still commend them for being the best options prior to this development, no shade on them). Without further ado, coming in at just under 10MB, the font itself. DOWNLOAD HERE NOTE FOR VIRTUALMIDISYNTH USERS The soundfont can be run in both Fluidsynth and VirtualMIDISynth as far as I'm aware (I personally use the latter). If you plan on using the latter, make sure you check the box for sinc-interpolated mixing in VMS's options (see below) so that the soundfont renders properly in playback. Now, with that being said, if anyone discovers any particular inaccuracies or quirks in the current soundfont, PLEASE reply to this thread and let us know. Edited March 26, 2022 by OpenRift 76 Share this post Link to post
Senor500 Posted December 26, 2020 Listening to it in your streams it sounded really good, felt very complete already, can't wait to try it out later today! 1 Share this post Link to post
wof8317 Posted December 26, 2020 This is incredible, no longer will I have to use the crappy GS Wavetable on Windows. Thanks @Trevor0402 for this wonderful, accurate piece of gaming history that will most likely be preserved for years to come. 2 Share this post Link to post
Chris Hansen Posted December 26, 2020 I just listened to some tunes using this and it sounds really, really good! Love it. 2 Share this post Link to post
Trevor0402 Posted December 26, 2020 (edited) Thank you everyone for your feedback! I've attached a hotfix below, the Saw Lead and Square were a bit out of tune. SC-55_SoundFont_v1.2a_(Hotfix).zip Then again, if anything sounds odd or wrong let me know, I will tackle it down and fix it entirely. @OpenRift Thanks for being one to test my Soundfont, you've helped me a good deal on this too pointing out things that were off. I would also recommend FluidSynth for this, but it sounds just as good with VirtualMIDISynth. 11 Share this post Link to post
OpenRift Posted December 26, 2020 16 minutes ago, Trevor0402 said: Thank you everyone for your feedback! I've attached a hotfix below, the Saw Lead and Square were a bit out of tune. SC-55_SoundFont_v1.2a_(Hotfix).zip Then again, if anything sounds odd or wrong let me know, I will tackle it down and fix it entirely. @OpenRift Thanks for being one to test my Soundfont, you've helped me a good deal on this too pointing out things that were off. I would also recommend FluidSynth for this, but it sounds just as good with VirtualMIDISynth. Updated OP with hotfix. 0 Share this post Link to post
Loud Silence Posted December 26, 2020 @TheUltimateDoomer666 @Doomkid must see this. @Trevor0402 Impressive soundfont. I will test it with many midis. 1 Share this post Link to post
THEBaratusII Posted December 26, 2020 As a brother of @Trevor0402, I am really proud of his work, he really did spent a lot of time working on this as well. He went from recording samples from his SC-55 unit (original idea years ago) to using the actual samples (Huge thanks to VOGON users, NewRisingSun and Kitrinx). Congratulations! 4 Share this post Link to post
Nevander Posted December 26, 2020 The SC-55 sound is by far my favorite soundfont or way to hear the classic Doom tunes (and the intended way from Prince?) Can't wait to give this a listen by playing through the games again! 2 Share this post Link to post
plums Posted December 26, 2020 Hi @Trevor0402, I noticed that all the instruments have a default Reverb and Chorus value of 50%. Is this accurate? It's particularly relevant for FluidSynth, since FS uses only those values for Reverb and Chorus, and ignores the specific settings in MIDI files. 0 Share this post Link to post
Trevor0402 Posted December 26, 2020 1 minute ago, plums said: Hi @Trevor0402, I noticed that all the instruments have a default Reverb and Chorus value of 50%. Is this accurate? It's particularly relevant for FluidSynth, since FS uses only those values for Reverb and Chorus, and ignores the specific settings in MIDI files. The reverb and chorus system on the unit has a default of 64 and 127 at max. I could only assume with that, that 50 would be normal. 1 Share this post Link to post
plums Posted December 26, 2020 (edited) 22 minutes ago, Trevor0402 said: The reverb and chorus system on the unit has a default of 64 and 127 at max. I could only assume with that, that 50 would be normal. Thanks. It's hard to compare this aurally since the chorus engines on different systems can differ so much. 64/127 is indeed 50% chorus according to the midi specs. 0 Share this post Link to post
NoXion Posted December 27, 2020 I am an idiot, how do I get this working in my GZDOOM? 0 Share this post Link to post
wrkq Posted December 27, 2020 8 minutes ago, NoXion said: I am an idiot, how do I get this working in my GZDOOM? If you have any version released in last 2 years or so, you should have a subfolder "soundfonts" inside the gzdoom folder. Put the .sf2 file in there. Start gzdoom, go to options. If you're running 4.5 you'll see simplified options screen, select to switch to full/advanced options. After that go to Sound Options. In the middle set "MIDI Device" to FluidSynth if not configured as such yet. Next, from the Sound Options screen again choose "Advanced Options" near bottom of list. Then select "Midi player options", then FluidSynth. First setting "Select configuration" should let you switch between the files that you put in "soundfonts" folder. "gzdoom" is the default soundfont, the new one will probably display as "SC-55 Soundfont v1" because the text stops on first dot in the filename. After you selected that, just hit ESC a bunch of times and you're good. 5 Share this post Link to post
Doomkid Posted December 27, 2020 (edited) The hotfix link seems to be broken - could anyone provide a mirror? Would love to hear this! Edit: Derp, looks like Rift updated the OP. Nice!! 0 Share this post Link to post
NoXion Posted December 27, 2020 (edited) 7 minutes ago, wrkq said: If you have any version released in last 2 years or so, you should have a subfolder "soundfonts" inside the gzdoom folder. Put the .sf2 file in there. Start gzdoom, go to options. If you're running 4.5 you'll see simplified options screen, select to switch to full/advanced options. After that go to Sound Options. In the middle set "MIDI Device" to FluidSynth if not configured as such yet. Next, from the Sound Options screen again choose "Advanced Options" near bottom of list. Then select "Midi player options", then FluidSynth. First setting "Select configuration" should let you switch between the files that you put in "soundfonts" folder. "gzdoom" is the default soundfont, the new one will probably display as "SC-55 Soundfont v1" because the text stops on first dot in the filename. After you selected that, just hit ESC a bunch of times and you're good. Awesome stuff. I got it working after I realised that for some reason the gain had been set to 0 when I changed the soundfont. 1 Share this post Link to post
wrkq Posted December 27, 2020 1 minute ago, NoXion said: Awesome stuff. I got it working after I realised that for some reason the gain had been set to 0 when I changed the soundfont. Ah yikes. Mouse wheel accident? :) Glad you got it to work though. 1 Share this post Link to post
⇛Marnetmar⇛ Posted December 27, 2020 (edited) Holy moly, this is the best Christmas present I've received this year! For the default Doom soundtrack it sounds awesome, but I have found that it doesn't behave particularly well with certain midis: in Drilling By Night by Stewboy the synth brass part that comes in at 0:55 sounds weird and way out of key in a way that I don't think has to do with the song itself being composed with another soundfont in mind. Edit: Also, it doesn't handle sustained Electric Grand notes well, they drop out after a couple of seconds. Edited December 27, 2020 by Marn 5 Share this post Link to post
punch you in the face man Posted December 27, 2020 Square wave sounds out of tune, it's very noticeable in Run Like Smeg from ROTT. Great to see this project though. 2 Share this post Link to post
TheUltimateDoomer666 Posted December 27, 2020 (edited) I didn't know about the SC-55 ROMs finally being decrypted; that's great news. Be aware, however, that Roland does not take kindly to their samples being ripped. Regardless, the SoundFont is very accurate indeed, and unlike VSC, MS Synth, and even the recent SCVA, the sweepy effects in the Halo and Synth Strings patches are actually present and fully audible (these differences are very noticeable in the DOOM and DOOM II intros). One thing I noticed, however, is that the pitch of the Synth Drum is off. This is noticeable in E1M8/"Sign of Evil" when comparing the SoundFont rendition to the SC-55 recording by MusicallyInspired. Edited December 27, 2020 by TheUltimateDoomer666 3 Share this post Link to post
lakersforce Posted December 27, 2020 Works well with Doom, not so well with everything else. 0 Share this post Link to post
Gez Posted December 27, 2020 Reading the linked thread on VOGONS, it's said that it's not possible to make a fully accurate SF2; this would require either extending the SF2 format (which isn't that hard, it's built around the RIFF standard so you can always add more chunks) and extending FluidSynth or other softsynths to take these extensions into account, or even a full-fledged MUNT-style dedicated emulator. After all, the SF2 format was originally developed for Creative soundcards, not for Roland ones. 1 Share this post Link to post
Rajerel Posted December 27, 2020 19 hours ago, OpenRift said: A brief Foreword For those who don't know, the Roland Sound Canvas SC-55 was a popular MIDI module among PC game composers in the 90s. Seen in the hands of composers such as Bobby Prince and Lee Jackson, creators of the Rise of the Triad, Duke Nukem 3D, and most importantly, Doom soundtracks. The sound of this module was so influential that it would serve as the basis for Microsoft's GS Wavetable synth, first seen in Windows 98. However, there lies the problem. While the GS wavetable was based on SC-55 samples, the samples were far from the sound of the actual unit. For comparison: GS Wavetable SC-55 Now A while ago on VOGONS, various ROMs for the SC-55 were extracted and eventually decrypted, opening up the possibility of a soundfont. And that's exactly what @Trevor0402 did. Using tools made by VOGONS users NewRisingSun and Kitrinx, he converted the entire SC-55 MkII soundbank to a soundfont and carefully tweaked each instrument BY EAR to match his own SC-55 unit. Having helped him test the font during development, I can say with confidence that the differences between it and the real deal (based on SC-55 recordings from various soundtracks) are near indistinguishable. This font blows the attempts of Patch93 and EmperorGrieferus out of the water (though I still commend them for being the best options prior to this development, no shade on them). Without further ado, coming in at just under 10MB, the font itself. DOWNLOAD HERE NOTE FOR VIRTUALMIDISYNTH USERS The soundfont can be run in both Fluidsynth and VirtualMIDISynth as far as I'm aware (I personally use the latter). If you plan on using the latter, make sure you check the box for sinc-interpolated mixing in VMS's options (see below) so that the soundfont renders properly in playback. Now, with that being said, if anyone discovers any particular inaccuracies or quirks in the current soundfont, PLEASE reply to this thread and let us know. Interesting, never expected something like this to happen, great work I say! 0 Share this post Link to post
Immorpher Posted December 27, 2020 Oh very interesting! I have been using a soundfont version of the SC-55 which is around 100 mb. It most likely did not use direct samples and was just recording off a Roland, which is why it is so big. Now with the direct samples it seems that file size is reduced to 10 mb. I am not sure the exact methods Microsoft used to make their soundfont, likely direct recording from a Roland and making samples that way. But this new soundfont, since its using direct samples (not recordings), sounds like the ultimate improvement. I will definitely try it out. 0 Share this post Link to post
Gez Posted December 27, 2020 16 minutes ago, Immorpher said: I am not sure the exact methods Microsoft used to make their soundfont, likely direct recording from a Roland and making samples that way. No, they licensed from Roland so it seems Roland gave them their samples, however the samples themselves are only a small part of the equation. The effects you apply to them to turn them into instrument sounds are very important, and this is where the MS Wavetable Synth and many others are falling short of a real SoundCanvas. Even Roland's own Virtual SoundCanvas falls short of the real hardware! 4 Share this post Link to post
TheUltimateDoomer666 Posted December 27, 2020 7 minutes ago, Immorpher said: I am not sure the exact methods Microsoft used to make their soundfont, likely direct recording from a Roland and making samples that way. Definitely not; many instrument-specific effects that would have been preserved in recordings are completely missing (e.g., Synth Bass 2 has an acidic/squelchy sound that is absent in MS Synth). MS Synth's sound bank, which is similar to the ones used by Virtual Sound Canvas, seems to have been made with an official set of the raw SC-55 samples, going by the samples' missing "effects". 19 minutes ago, Immorpher said: But this new soundfont, since its using direct samples (not recordings), sounds like the ultimate improvement. Yes, this new SoundFont is a definite improvement. However, keep in mind it still won't be exactly the same since even using direct samples alone is not enough to recreate the SC-55's sound. As Gez pointed out, there are parameters that the SC-55 uses that are simply not supported by the SF2 format. 1 Share this post Link to post
markanini Posted December 27, 2020 (edited) 2 hours ago, Gez said: Reading the linked thread on VOGONS, it's said that it's not possible to make a fully accurate SF2; this would require either extending the SF2 format (which isn't that hard, it's built around the RIFF standard so you can always add more chunks) and extending FluidSynth or other softsynths to take these extensions into account, or even a full-fledged MUNT-style dedicated emulator. After all, the SF2 format was originally developed for Creative soundcards, not for Roland ones. Only mapping the waveforms to a new format gets you part way there. All the atmosphere of famous game soundtracks come from making use of the SC-55's proprietary effects like filters and reverbs. For the latter part maybe the effort is better spent on creating a stand alone soft synth. Looking at SFZ documentation the filtering parameters look promising but reverb uses a single wet/dry parameter which isn't enough to approximate the SC-55 characteristics. Edited December 27, 2020 by markanini 2 Share this post Link to post
wrkq Posted December 27, 2020 (edited) 57 minutes ago, Gez said: No, they licensed from Roland so it seems Roland gave them their samples, however the samples themselves are only a small part of the equation. If you'll read through the Vogons thread, it seems that Roland was super protective of their samples and such, making sure their own hardware always sounds best. The version licensed to 3rd parties, Microsoft included was low quality (8 bit samples). The version in Sound Canvas was 12-bit - and that was dictated partially by the cost/power possibilities of the hardware chips made for it. In some more professional/expensive Roland products of the era the same samples were 16-bit. And clearly in all cases derived from some very high quality recordings stored in Roland's (not necessarily literal) vault. 52 minutes ago, TheUltimateDoomer666 said: MS Synth's sound bank, which is similar to the ones used by Virtual Sound Canvas, seems to have been made with an official set of the raw SC-55 samples, going by the samples' missing "effects". Roughly yes. The effects are added by Sound Canvas' audio processor, so they'd need to be re-created inside the MS synth's code, just playing the chopped/looped samples as specified isn't enough. Another piece of trivia from the Vogons thread - apparently the sources for MS Synth were included in this giant XPSP1 source code leak earlier this year, and it's written in large parts in 'clever' assembly with some "no idea what the original developers meant by this" comments added during the following decades. 0 Share this post Link to post
Dimon12321 Posted December 27, 2020 (edited) Doom 2 title theme sound much better than using original SC-55. Map 9 features some "brrr-brrr-brrr" background, however. Also, it sound a bit like subdued like there is a radio in the bathroom playing the music instead of the true music "in your head". Playing some outfield MIDI's music like Going Down The Fast Way definitely says that something is wrong with the soundfont. Here is the solution: it's like the first soundfont where mus_fluidsynth_chorus 1 (instead of 0) actually makes the music sound worse. Using PrBoom+ 2.5.1.7. Edited December 27, 2020 by Dimon12321 0 Share this post Link to post