SDL_mixer
SDL_mixer copied to clipboard
Fluidsynth default settings can sound quite bad.
This bug report was migrated from our old Bugzilla tracker.
Reported in version: 2.0.4 Reported for operating system, platform: Linux, x86_64
Comments on the original bug report:
On 2020-03-23 19:56:58 +0000, wrote:
Hi, I am from the Doom community. Most Doom source ports (modernized engines) use SDL2 and for many of them, Fluidsynth is the simplest way to use a soundfont for MIDI music playback, by setting SDL_SOUNDFONTS.
Unfortunately some of the Fluidsynth default settings can sound quite bad with lots of community-created music. In particular, Fluidsynth's chorus effect makes any instrument that uses it MUCH LOUDER than it ought to be. This generally makes using it unsuitable for anyone trying to do more than play the original levels.
It would be great if the user could set the values for Fluidsynth parameters themselves, either through another environment variable, or some config file. An alternative solution would just be to set more conservative values for the effects. Here is what I use for myself:
fluidsynth.fluid_settings_setnum(settings, "synth.chorus.depth", (double) 5); fluidsynth.fluid_settings_setnum(settings, "synth.chorus.level", (double) 0.35); fluidsynth.fluid_settings_setnum(settings, "synth.reverb.damp", (double) 0.4); fluidsynth.fluid_settings_setnum(settings, "synth.reverb.level", (double) 0.15); fluidsynth.fluid_settings_setnum(settings, "synth.reverb.width", (double) 4); fluidsynth.fluid_settings_setnum(settings, "synth.reverb.room-size", (double) 0.6);
A simple better-than-nothing solution would just be to allow disabling of the chorus effect.
I also find Fluidsynth to be much louder than other MIDI playback engines. Currently SDL2_mixer just adjusts Fluidsynth's gain between 0 and 1.2; it would be nice if it took a user set "master volume" into account.
A test I have been using is the song "Drop the Wombat" by James Paddock, a prolific composer in the Doom community. The MIDI is available at http://jamespaddockmusic.com/midi-files/SpeedMIDIs/30in30/3/Drop%20the%20Wombat.mid, and you can listen to a rendered version of it with the Windows GM synth at https://jamespaddock.bandcamp.com/track/drop-the-wombat. If desired I can provide renders with default and adjusted FluidSynth settings.
Hello! I accidentally found this, and just now I reminded that I made the ability to change these settings and the extra gain factor (independent to the global music volume factor) at my MixerX fork via the path arguments thing in a condition when my FluidLite is got been used: https://github.com/WohlSoft/SDL-Mixer-X/blob/master/src/codecs/music_fluidlite.c#L572-L581 For the mainstream Mixer would be an option to add an external API that would help to set up the reverb and chorus settings.
the chorus effect is so fucking bad i just want to change my soundfont, and it also changing the midi engine is so horrible
the chorus effect is so fucking bad i just want to change my soundfont, and it also changing the midi engine is so horrible
Maybe just disable any reverbs and choruses by default? As I said above, default settings are a mess, and output will suck.