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

Trevor0402's SC-55 soundfont

Recommended Posts

14 minutes ago, Dimon12321 said:

It's like the first soundfont where mus_fluidsynth_chorus 1 (instead of 0) actually makes the music sound worse.

Don't turn on reverb/chorus effects with FluidSynth; they are even broken on GZDoom's bundled soundfont.

Share this post


Link to post
1 minute ago, Cacodemon345 said:

Don't turn on reverb/chorus effects with FluidSynth; they are even broken on GZDoom's bundled soundfont.

 

It depends on the soundfont. For instance, on SCC1t2 it improves the music a little bit.

 

Share this post


Link to post
7 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.

What features does the SF2 format lack that prevents for a 'fully accurate' soundfont?

Share this post


Link to post
8 hours ago, lakersforce said:

Works well with Doom, not so well with everything else.

What are you using for playback? It sounds pretty damn good to me for other MIDIs.

Share this post


Link to post
35 minutes ago, OpenRift said:

What features does the SF2 format lack that prevents for a 'fully accurate' soundfont?

There are several pages of arguments I could be quoting from this thread, but I'll just cite one single post about it:

Quote

Fluidsynth envelopes are simpler than sc55, but not by a lot. The shape (linear or logarithmic) is not option in sf2, but both are possible with modification. Also envelopes don't allow levels to be set, but this can also be changed fairly easily. This is why I suggested a modified version of fluidsynth or a modified sf2 format. It would not take a lot of changes to make it pretty close to what sc55 needs to sound mostly correct. For things like chorus macros and specific sysex commands, a full emulator is needed, but I think it's possible with not much additional work to make existing sf2 engines play it well.

 

Share this post


Link to post
1 hour ago, OpenRift said:

What are you using for playback? It sounds pretty damn good to me for other MIDIs.

VLC. I was playing lucasarts midis. Perhaps 'everything else' is overstating it. It sounds great in Doom!

Share this post


Link to post
3 hours ago, OpenRift said:

What features does the SF2 format lack that prevents for a 'fully accurate' soundfont?

 

Real hardware synths do not just take a set of samples and spit out noises, they have unique internal logics with signal processing, sound composition, and analog processing (amplification etc.) that are unique to that individual machine and only emulatable using a full-blown custom midi driver, if at all. That said, for those people who aren't, like me, willing to drop a Benjamin on an old piece of Japanese electronics that may fail at any moment, a better SC-55 soundfont than other SC-55 soundfonts is just about the ideal midi solution for DOS games and pwads. But it can never be the same as the real thing. Even different soundfont-based digital synthesizers have different ways handling the samples and thus sound different--I always preferred BASSMIDI to FluidSynth (and Timidity just sucks) until I got a real Roland Sound Canvas. And my PC's Sound Blaster X-Fi card has two E-Mu hardware synths that use soundfonts (or more precisely, soundfonts were created for E-Mu/later Creative sound cards and only later used by soft synths), and I'm sure they sound different from either BASSMIDI or FluidSynth. Hmmm, maybe I should do a five-way comparison one day with my real SC-55, the SB Audigy synths, FluidSynth, BASSMIDI, and Timidity...

Edited by Woolie Wool

Share this post


Link to post
2 hours ago, Woolie Wool said:

 

Real hardware synths do not just take a set of samples and spit out noises, they have unique internal logics with signal processing, sound composition, and analog processing (amplification etc.) that are unique to that individual machine and only emulatable using a full-blown custom midi driver, if at all. That said, for those people who aren't, like me, willing to drop a Benjamin on an old piece of Japanese electronics that may fail at any moment, a better SC-55 soundfont than other SC-55 soundfonts is just about the ideal midi solution for DOS games and pwads. But it can never be the same as the real thing. Even different soundfont-based digital synthesizers have different ways handling the samples and thus sound different--I always preferred BASSMIDI to FluidSynth (and Timidity just sucks) until I got a real Roland Sound Canvas. And my PC's Sound Blaster X-Fi card has two E-Mu hardware synths that use soundfonts (or more precisely, soundfonts were created for E-Mu/later Creative sound cards and only later used by soft synths), and I'm sure they sound different from either BASSMIDI or FluidSynth. Hmmm, maybe I should do a five-way comparison one day with my real SC-55, the SB Audigy synths, FluidSynth, BASSMIDI, and Timidity...

Sounds like what you're describing is the very specific technique in which sound from a real module is produced. I understand that the way chorus and reverb are produced from VMS and FS are different, but aside from that, I can't tell very much difference aside from certain instruments that require tweaking.

Share this post


Link to post
11 hours ago, Dimon12321 said:

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.

Try using VirtualMidiSynth instead, that should yield better results than integrated Fluidsynth stuff in PrBoom+

Share this post


Link to post
6 hours ago, OpenRift said:

Try using VirtualMidiSynth instead, that should yield better results than integrated Fluidsynth stuff in PrBoom+

 

Thank you, but as far as I know, -viddump can't record PortMidi music. Can it?

Share this post


Link to post

Some more feedback (SoundFont used with VirtualMIDISynth):

The drums in game01.mid from Descent sound much weaker and narrower than they do on the real hardware.  Listen to MusicallyInspired's Descent SC-55 recordings for comparison.  Also, the Square still needs tuning.

 

The drums in game02.mid are also very thin.  Again, in MusicallyInspired's recording, the drums sound huge and bassy.

 

Game15.mid sounds completely wrong.  Several effects are missing.

Share this post


Link to post

Great stuff. I use it with VirtualMIDISynth and it works really well with both Chocolate, as well as GZDoom.

My only issue is with Doom Retro. When I launch it, all it's sounds are messed up, and I figure it must have to do with it's innate features.

Can any of you folks help me out?


EDIT: Apparently it was because of me trying to load Doom_Sound_Bulb.wad as well. My bad.

Edited by Adamast0r : My mistake.

Share this post


Link to post

Thanks again for the feedback, I am currently working on the next version, so stay tuned for that. I will be sure to fix whatever is mentioned. 

I did try to correct the pitches myself but that ended up being well, kind of a disaster. I'll have this sorted out though come the next release.

 

Plus, the instruments will have their normal and actual volumes then. 

Share this post


Link to post

You know, I tried playing a MIDI file using XMPlay and this soundfont, and the clarinet, or at least certain pitches of it, were out of tune. There are orchestral MIDIs. The rest of the sounds I could hear appeared to be correct.

Share this post


Link to post
20 hours ago, OpenRift said:

Sounds like what you're describing is the very specific technique in which sound from a real module is produced. I understand that the way chorus and reverb are produced from VMS and FS are different, but aside from that, I can't tell very much difference aside from certain instruments that require tweaking.

No, this has nothing to do with modules (which I know very little about), it has to do with MIDI synthesizers. Hardware or software, they're all different and have unique quirks, advantages, and limitations.

Share this post


Link to post
27 minutes ago, Woolie Wool said:

 No, this has nothing to do with modules (which I know very little about), it has to do with MIDI synthesizers. Hardware or software, they're all different and have unique quirks, advantages, and limitations.

Right, what quirks from the SC-55 (specifically the Mk II) are you referring to here? 

Share this post


Link to post
20 minutes ago, Woolie Wool said:

No, this has nothing to do with modules (which I know very little about), it has to do with MIDI synthesizers. Hardware or software, they're all different and have unique quirks, advantages, and limitations.

I get amazed by the the number of VST instruments and effects emulating hardware devices through meticulous analysis to the point where even the white noise and 60 cycle hum of the original unit has been recreated. Does it always have to be that ambitious? Probably not, but understanding how the steps in the signal chain effect the sound as a whole would help the dev focus on what's most important.

Share this post


Link to post
On 12/26/2020 at 11:12 PM, punch you in the face man said:

Square wave sounds out of tune, it's very noticeable in Run Like Smeg from ROTT. Great to see this project though.

This was fixed recently, click the link and try the latest version, let us know if that helps.

Share this post


Link to post
10 minutes ago, Pegg said:

Time to listen the Heretic midis in yet another soundfont! 

Bluroc sounds great in this font by the way ;)

Share this post


Link to post

Yes, the Square is still out of tune and sounds weird.  It's especially noticeable when you compare the Run Like Smeg MIDI rendered with the SoundFont to MusicallyInspired's SC-55 recording of the song.  Besides the tuning issue, the real SC-55's Square seems to have a more interesting/dynamic timbre.

 

Here's a comparison.  The first part is the real SC-55 and the second part is the SoundFont:

 

https://www.dropbox.com/s/qxfm4abnl557jba/rott - run like smeg - real sc-55 vs sf2 v1.2b.wav?dl=0

 

5 hours ago, OpenRift said:

Right, what quirks from the SC-55 (specifically the Mk II) are you referring to here? 

Compared to the original SC-55, the SC-55mkII has 18-bit audio-circuitry instead of 16-bit and slightly higher polyphony (28 voices instead of 24).

 

As for SC-55 quirks in general vs the SF2 format, there are several (these were already mentioned by NewRisingSun in the VOGONS thread):

  • Five envelope periods instead of four
  • Sample-looping modes other than forwards
  • Attack ramping convex in amplitude instead of decibels
  • Ignoring Note Off events for drum notes instead of using Release period durations
  • A bunch of LFO and filter stuff

 

Edited by TheUltimateDoomer666

Share this post


Link to post
12 hours ago, TheUltimateDoomer666 said:

Yes, the Square is still out of tune and sounds weird.  It's especially noticeable when you compare the Run Like Smeg MIDI rendered with the SoundFont to MusicallyInspired's SC-55 recording of the song.  Besides the tuning issue, the real SC-55's Square seems to have a more interesting/dynamic timbre.

 

Here's a comparison.  The first part is the real SC-55 and the second part is the SoundFont:

 

https://www.dropbox.com/s/qxfm4abnl557jba/rott - run like smeg - real sc-55 vs sf2 v1.2b.wav?dl=0

 

Compared to the original SC-55, the SC-55mkII has 18-bit audio-circuitry instead of 16-bit and slightly higher polyphony (28 voices instead of 24).

 

As for SC-55 quirks in general vs the SF2 format, there are several (these were already mentioned by NewRisingSun in the VOGONS thread):

  • Five envelope periods instead of four
  • Sample-looping modes other than forwards
  • Attack ramping convex in amplitude instead of decibels
  • Ignoring Note Off events for drum notes instead of using Release period durations
  • A bunch of LFO and filter stuff

 

I can see what you're talking about now with the square wave, yeah... I talked to Trevor today and he said he has a new fix coming today.

 

As for the quirks of the SC-55:

  • I know about the polyphony thing, Trevor told me about that, as he has an SC-55 Mk1 and wanted to upgrade a while back, citing that as one of his reasons.
  • I don't know what envelope periods are
  • Are these other sample-looping modes triggered by the MIDIs themselves or is it done on the module?
  • I don't really know what attack ramping is, could you explain that point a little more?
  • Can you show an example of ignoring note-off events for drums?
  • Are LFOs and Filters something that's controlled by the module itself?

Share this post


Link to post
3 hours ago, OpenRift said:
  • Are these other sample-looping modes triggered by the MIDIs themselves or is it done on the module? 
  • Are LFOs and Filters something that's controlled by the module itself?

The latter.

So, you know that each MIDI synthesizer - Roland, Yamaha, Moog, Fluidsynth, MSsynth, whatever - just reads commands like "play note E5 using instrument 'Distorted Guitar' with 30% reverb" , right. They're free to "build" the sound in any way they choose.

 

"True synthesizers", hardware and software, do all the magic with oscillators and filters and effectors and stuff.

Sample-based synthesizers work by taking a tiny bit of a recorded sound as a base and run it through a blender to stretch/squeeze/mix/modify.

 

The Sound Canvas' internal "sound recipes" are like "in order to create General MIDI instrument 'Distorted Guitar' take sample 35, loop it in this mode, with that effect, with filter driven like that, mix with sample 130 looped from this point to that point."

 

So even when you extract the original "sample 35" and "sample 130" you need to be able to execute the whole "recipe" to recreate the SC-55 sound.

 

The SF2 format was designed by Creative for their MIDI samplesynth engine.

So it can only do the sound transformations that Creative synthesizer could, roughly speaking.

And that's not equivalent to how Sound Canvas did them.

 

So you can't just take the SC-55 samples, stuff them into an SF2 and get the same result.

In some cases you may be able to approximate them with the effects/transformations that are available in SF2 format.

Sometimes it might also help to change the start/input point, by putting in the SF2 copies of the samples with some edits/effects already "baked into" the sample using some external audio processing tool, to replicate the effect that that SC-55 would put on the original samples "live" as needed.

But sometimes you just can't get the same result, period.

Share this post


Link to post
1 hour ago, wrkq said:

The latter.

So, you know that each MIDI synthesizer - Roland, Yamaha, Moog, Fluidsynth, MSsynth, whatever - just reads commands like "play note E5 using instrument 'Distorted Guitar' with 30% reverb" , right. They're free to "build" the sound in any way they choose.

 

"True synthesizers", hardware and software, do all the magic with oscillators and filters and effectors and stuff.

Sample-based synthesizers work by taking a tiny bit of a recorded sound as a base and run it through a blender to stretch/squeeze/mix/modify.

 

The Sound Canvas' internal "sound recipes" are like "in order to create General MIDI instrument 'Distorted Guitar' take sample 35, loop it in this mode, with that effect, with filter driven like that, mix with sample 130 looped from this point to that point."

 

So even when you extract the original "sample 35" and "sample 130" you need to be able to execute the whole "recipe" to recreate the SC-55 sound.

 

The SF2 format was designed by Creative for their MIDI samplesynth engine.

So it can only do the sound transformations that Creative synthesizer could, roughly speaking.

And that's not equivalent to how Sound Canvas did them.

 

So you can't just take the SC-55 samples, stuff them into an SF2 and get the same result.

 In some cases you may be able to approximate them with the effects/transformations that are available in SF2 format.

Sometimes it might also help to change the start/input point, by putting in the SF2 copies of the samples with some edits/effects already "baked into" the sample using some external audio processing tool, to replicate the effect that that SC-55 would put on the original samples "live" as needed.

But sometimes you just can't get the same result, period.

I think you may have misinterpreted what I was asking.

 

What I mean to ask is, in a midi, is there certain code in the file that's tells a sound canvas to use certain filters, sample-looping modes, and LFO settings?

Share this post


Link to post
31 minutes ago, OpenRift said:

What I mean to ask is, in a midi, is there certain code in the file that's tells a sound canvas to use certain filters, sample-looping modes, and LFO settings? 

 

Sorry if I went too verbose, it's kind of a problem of mine. The answer is "well yes but actually no.jpg".

 

The MIDI file chooses an instrument to use. So in the end, the sound occurs because of what MIDI file wants.

But the looping method, envelope, etc etc is all an "implementation detail" of what SC-55 does to its samples to create the sound of the requested MIDI instrument.
 

There's some effects/variations the MIDI file can request to be applied, as defined by General MIDI standard.

Again, "implementation detail" of what SC-55 does internally to create the sound of those effects.

 

The sound of SC-55 is:

- the samples

- plus the recipes on how to modify the samples for each instrument (the "block 1" of mattw's posts on Vogons)

- plus the actual hardware behavior in following those instrument-synthesis recipes and in applying MIDI effects.

Another synth would do it differently.

 

Side note, that's the primary difference between MIDI and a classic tracker format - tracker module music includes the samples, their tuning, envelopes, looping etc along the MIDI-ish note patterns to play.

Of course just like SF2 has hard limits on what types of sample twists can be described, each tracker format has its own list of supported features.

Share this post


Link to post
10 hours ago, OpenRift said:
  • I don't know what envelope periods are

Something like this:

 

Spoiler

adsr.png

 

Here's a more complex envelope:

 

Spoiler

Envelopes-Multi.jpg

 

10 hours ago, OpenRift said:
  • Are these other sample-looping modes triggered by the MIDIs themselves or is it done on the module?

It is done by the module.  It wouldn't make any sense for MIDIs to trigger that since if a sample is not looped as intended by the module, then it is not going to sound correct, period.

 

10 hours ago, OpenRift said:
  • I don't really know what attack ramping is, could you explain that point a little more?

How quickly and in what manner an instrument sample will reach its full volume when a key is pressed.  A slow attack makes an instrument fade in, while a fast attack makes an instrument reach its full volume quickly, resulting in a more aggressive sound.

 

10 hours ago, OpenRift said:
  • Can you show an example of ignoring note-off events for drums?

It means the percussion sample will continue to play as it should and then fade out correctly even after the note is finished.  That way percussion samples do not get cut off too early in MIDIs that use short notes on channel 10.  With SF2, the way the sample fades out may not exactly match how it sounds on the real hardware.

Edited by TheUltimateDoomer666

Share this post


Link to post
10 minutes ago, TheUltimateDoomer666 said:

Here's a more complex envelope:

 

One thing I read in the Vogons thread is that apparently the internal SC-55 envelope format also does not require the whole envelope graph to start and end at 0-crossing, it can be at arbitrary signal level.

Share this post


Link to post

More observations:

 

The Electric Grand Piano does not sound correct.  The samples seem harsh and low quality, and the notes cut off too abruptly (release is too short).  On the real SC-55, the patch sounds much smoother and closer to a real piano.

 

Here's a comparison with the main theme from Apogee's Hocus Pocus (the real SC-55 is first, and as before, credit for its recording goes to MusicallyInspired):

 

https://www.dropbox.com/s/nfjbnheqg8pcj88/hocus pocus - gloom - real sc-55 vs sf2 v1.2b.wav?dl=0

 

Pad 6 (metallic) is not looped correctly.  The samples sound static and repetitive, and overlapping notes sound somewhat cacophonous (perhaps a tuning issue?).

 

Here's a comparison with the opening theme to Apogee's Rise of the Triad:

 

https://www.dropbox.com/s/ptafsp8b9dwo8e5/rott - rise - real sc-55 vs sf2 v1.2b.wav?dl=0

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
×