[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:34:18 -0600
User-agent: Thunderbird (X11/20090817)


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]