Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

better default reverb & chorus settings #6

Closed
mrbumpy409 opened this issue Mar 22, 2024 · 6 comments
Closed

better default reverb & chorus settings #6

mrbumpy409 opened this issue Mar 22, 2024 · 6 comments

Comments

@mrbumpy409
Copy link

mrbumpy409 commented Mar 22, 2024

FluidSynth's default reverb and chorus settings are... kind of gross. Fortunately, it is possible to alter these in the plugin GUI, but why not also make them better out-of-the box? Here are the settings I will be suggesting for use with all of my SoundFonts:

synth.reverb.damp = 0.3
synth.reverb.level = 0.7
synth.reverb.room-size = 0.5
synth.reverb.width = 0.8
synth.chorus.depth = 3.6
synth.chorus.level = 0.55
synth.chorus.nr = 4
synth.chorus.speed = 0.36

Here is audio comparing the original with my revised settings. The instrument featured is the FM Electric Piano from my upcoming Fluidity GM, and the reverb and chorus levels are set as CC91 = 117 and CC93 = 87.

Note that default reverb & chorus.flac had to be attenuated 6 dB to avoid clipping due to the massive amount of volume that the default chorus adds.

@prof-spock
Copy link
Owner

Hello @mrbumpy409,

thanks for your input!

But I am a bit hesitant to change the default settings of the plugin and I'll try to explain my reasons.

The central idea of the FluidSynth plugin is that - according to the documentation - it tries to

exactly reproduce an external fluidsynth rendition

Once I am changing the defaults of the plugin to some more "convenient" values, this is hard to do: when I wanted to mimic the external fluidsynth command line processor, I would have to override settings in the plugin to compensate those changes. Another way would be to use some settings file for fluidsynth with the exact same settings.

Both variants are not very practical.

And normally when you are working in a DAW, you have plugins available that are much more elaborate than the built-in reverb or chorus of FluidSynth. Examples are the free chorus Azurite or the ReaPlugs stock plugins of Reaper with Reaper ReaVerb even using impulse responses. And if you really need DAW plugins that have command-line counterparts, my notorious SoXPlugins could also be helpful (although there is no chorus there...).

Chains of specialized plugins can be tuned to your individual instrument much better; I guess that some standard one-size-fits-all fluidsynth setting will not be very helpful once you are trying to optimize the sound for an electric bass or a pad synth.

So my standard technique is even to switch off reverb and chorus completely in the FluidSynth plugin and in the external rendering chain (via synth.chorus.active = 0 and synth.reverb.active = 0) and then use other means to produce audio enhancements.

If you really want to use the fluidsynth chorus and reverb, you could - as a workaround - take your settings and make a preset of them for initialization. The disadvantage of that approach is that once you load that preset, all other data is dismissed. Another strategy is to just use copy-and-paste: this strategy benefits from the simplistic text interface... Or even combine both approaches by temporarily cutting the text parts you want to keep and then load your preset.

So this time it seems I have to pass on your request.

But maybe you have further convincing arguments I cannot refuse...

Best regards
Prof. Spock

@mrbumpy409
Copy link
Author

I cannot argue with your logic. Also, it appears that FluidSynth will be changing the default reverb and chorus to settings similar to mine in version 2.4 anyway. I don't mind pasting my custom settings into each plugin instance where I want to use them. I just figured the change might be nice for newcomers to the plugin wondering why the default fx engine sounds so gnarly.

Peace 😄

@prof-spock
Copy link
Owner

Hello @mrbumpy409,

well, whenever Fluidsynth 2.4 comes out, you simply drop in the DLL or SO file and the settings you obviously recommended upstream will be available as the new default. And then, of course, this will be the new mandatory reference for the FluidSynth plugin.

Be aware that fluidsynth has a different usage profile, because people use it to just render complete MIDI files to audio. On the other hand a DAW plugin normally transforms a single voice in a DAW having a multitude of other plugins available for postprocessing.

Nevertheless I have no problem with that upcoming change at all, but probably I shall also shut those off by silencing chorus and reverb for the reasons given.

I only want to ensure that the FluidSynth plugin is - as much as possible - conforming to the fluidsynth command-line program. This was the original intention: a "bit-exact" reproduction of fluidsynth in a DAW...

The only problem I am going to have is that people will complain that version X of the FluidSynth plugin will not sound identical to version X+1 when using default settings, although I have not changed anything.

But I can live with that 😉

Best regards,
Prof. Spock

@mrbumpy409
Copy link
Author

well, whenever Fluidsynth 2.4 comes out, you simply drop in the DLL or SO file and the settings you obviously recommended upstream will be available as the new default.

Well, they didn't end up using my settings, but their settings are pretty close. Well enough to make a huge improvement anyway. I like the final iteration of their reverb, but the chorus is a bit too tame for my taste.

Nevertheless I have no problem with that upcoming change at all, but probably I shall also shut those off by silencing chorus and reverb for the reasons given.

I will also frequently shut them off to use DAW plugins instead.

I only want to ensure that the FluidSynth plugin is - as much as possible - conforming to the fluidsynth command-line program. This was the original intention: a "bit-exact" reproduction of fluidsynth in a DAW...

I will be recommending FluidSynthPlugin in my documentation as the best way to experience my SoundFonts in a DAW. Some people may still want something like juicysfplugin due to the GUI, but that plugin's timing resolution is limited to the current ASIO buffer size, it can't adjust reverb/chorus/interpolation settings or load only the active preset to memory, and it appears to have been pretty much abandoned. There's also no working Linux version. All of which just makes me all the more appreciative of your efforts!

@prof-spock
Copy link
Owner

[juicysfplugin has] also no working Linux version.
All of which just makes me all the more appreciative of your efforts!

Thanks for your kind words, that's music to my ears 😄
And there is even a MacOS AU version 😉, so the main x86-64 platforms are covered (but I have to admit that there is no MacOS ARM version, which is somewhat careless).

@prof-spock
Copy link
Owner

prof-spock commented Nov 24, 2024

Hello mrbumpy409,

the new release v0.7.5 provides the fluidsynth library 2.4.0 (at least for Windows and MacOSX, see your issue #17).

Since the FluidSynth team has added your issue FluidSynth/fluidsynth#1282 to that release, the problem should be solved.

Please let me know, whether this is correct or not.

Best regards,
Prof. Spock

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants