[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fluid-dev] Fluidsynth's volume is too "dynamic"

From: S. Christian Collins
Subject: Re: [fluid-dev] Fluidsynth's volume is too "dynamic"
Date: Wed, 27 Jan 2010 09:47:10 -0600
User-agent: Thunderbird (X11/20090817)

As a further follow-up to this issue, I was wondering if the default velocity-to-attenuation scale (96 dB) could be user-adjustable.  For those that like less dynamic disparity between loud and soft notes, they can change this value to the desired amount.  This would only affect the default, so if a SoundFont specifically assigns a velocity curve to a patch, the SoundFont designer's intentions would override the default.  However, as I mentioned previously, most SoundFonts just use the default.

The value is set in line 188 of fluid_synth.c:
fluid_mod_set_amount(&default_vel2att_mod, 960.0);
Of course, 960.0 refers to 96 dB default velocity-to-attenuation.

S. Christian Collins wrote:

If you want to resort to the old way of scaling attenuation/velocity/volume, change line 36 in fluid_conv.h from:
#define FLUID_ATTEN_POWER_FACTOR  (-200.0)
#define FLUID_ATTEN_POWER_FACTOR  (-531.509)

The new way of handling volume/velocity is correct.  However, E-MU should have probably chosen a less dynamic default for the velocity curve.  The default is 96 dB, but some instruments respond more naturally with 70-80 dB instead.  I have addressed this in many of my SoundFont banks by manually setting the velocity curve within the SoundFont.

However, the problem with manipulating FluidSynth's attenuation power factor is that it messes with the sound designer's intentions when he/she wants to have full control over the volume scaling of an instrument, which is why we changed it.  SoundFont designers should set the desired velocity scaling within each patch of their SoundFont, but most of them don't.


Sebastian Biallas wrote:

I'm using fluidsynth to play piano using rosegarden and an old MIDI
keyboard (technics KN440).

Since fluidsynth 1.0.9 the sound output is way too dynamic. If I press a
key soft it's barely hearable and if I press it hard it's way to loud.
The corresponding changelog entry of version 1.0.9 seems to be:

"Volume attenuation SoundFont generator now behaves more like EMU10K1"

I have a EMU10K1 and indeed, the asfxload sound behaves like the new
fluidsynth. Unfortunately I prefer the old behaviour...

Is there any switch to change this? I might have a crappy keyboard (I
only recognized 7 different volumes looking at the MIDI traffic), but
the old sound dynamic of fluidsynth was really good.

Best wishes,

fluid-dev mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]