fluid-dev
[Top][All Lists]
Advanced

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

Re: [fluid-dev] Limited dynamic in fluidsynth


From: S. Christian Collins
Subject: Re: [fluid-dev] Limited dynamic in fluidsynth
Date: Thu, 10 Jul 2008 01:23:23 -0500
User-agent: Thunderbird 2.0.0.14 (X11/20080514)

Senjin,

The dynamic range of a patch is controlled by a modulator at the SoundFont level (velocity -> attenuation).  This can be adjusted by a SoundFont editor that supports editing SoundFont 2.1 modulators (currently I only know of Creative Labs Vienna SoundFont Studio 2.3 or higher, which requires a SoundFont 2.1 capable card to allow modulator editing).  If unspecified, a patch's velocity -> attenuation modulator is set at 96 dB.  It can be set anywhere between 0 dB (no sensitivity) and 144 dB (maximum sensitivity).  FluidSynth doesn't seem to be sensitive enough at the default 96 dB attenuation, so I set it to 144 dB in the source code I gave you.  When I get more time, I really need to experiment with the different types of velocity curves available to see if the problem is with the scale used, or a curve that is too sharp.

Regarding the filter, I simply removed an incorrect interpretation of the default filter setting proposed by Creative Labs.  This was causing some instruments to sound overly muffled.  Filters are set at the preset level, but you can set modulators that interact with the filter in different ways (for example, mapping a MIDI controller to filter cutoff).

I am anxiously awaiting progress on the Swami project, since there are no other good SoundFont editors that work under Linux, and the only complete solution on Windows (Vienna SoundFont Studio) only works on Creative Labs cards and is buggy and clunky to use.

-~Chris


senjin wrote:
Hi,

I use archlinux, but your source compiled without problems.

It sounds better - finally I have feeling of playing musical instrument! ;) However it would be cool if there was a possibility for the user to modify the dynamic range - I think I would like to try even higher dynamic range.

One more question: is the filter (mentioned in point A) turned on by default? Is there any way to interact with its settings?


Thanks for help!
Senjin


S. Christian Collins pisze:
Senjin,

I have created a custom version of FluidSynth that includes the following modifications:

A) velocity-to-filter cutoff modification
B) fixed some crashes related to modulators
C) set default velocity-to-attenuation to 144 dB instead of 96 dB for increased velocity-to-attenuation sensitivity.  Note that some SoundFonts may override this setting.

Here's the source code:
http://www.schristiancollins.com/temp/fluidsynth-1.0.8-scc2.tar.gz

If you use Ubuntu, I have also created .deb files for easy installation (you'll want all three--use at your own risk):
http://www.schristiancollins.com/temp/fluidsynth_1.0.8-scc2_i386.deb
http://www.schristiancollins.com/temp/libfluidsynth1_1.0.8-scc2_i386.deb
http://www.schristiancollins.com/temp/libfluidsynth-dev_1.0.8-scc2_i386.deb

If you'd like a good GM/GS bank, here's one I custom-designed to work with this version of FluidSynth:
http://www.schristiancollins.com/temp/GeneralUser%20GS%20FluidSynth%20v1.43%20RC1.sf2.bz2

Enjoy :)
-~Chris


senjin wrote:
I'm new to the list, so hello everybody!
I'm not English native speaker so sorry for the mistakes...

I use fluidsynth 1.0.8 with qsynth 0.3.2. I noticed the following problem: When I play my electric piano connected via MIDI to the PC the dynamic range of the sounds played by fluidsynth is very low - much lower than of the sounds from the audio output of my piano. All the notes from fluidsynth have very similar loudness.

I noticed the problem using two popular soundfonts: naturalstudio ns_kit7free drumkit and FluidR3GM.SF2, so I doubt that this is a problem with my soundfonts.

I'm not soundfont expert, but some time ago I read that there are two ways of assigning sample dynamic to MIDI velocity values: linear and logarithmic. Some soundfonts require one, some another. Using the wrong one leads to wrong dynamic. I guess that this is the source of the problem.

However I couldn't find in qsynth nor in fluidsynth an option to chose the dynamic mode. Is it implemented?

----------------------------------------------------------------------
Galeria absurdow.
zobacz >>> http://link.interia.pl/f1e5e



_______________________________________________
fluid-dev mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/fluid-dev



----------------------------------------------------------------------
Najciekawsze miejsca w Polsce i na swiecie!
Zobacz >>> http://link.interia.pl/f1e60



reply via email to

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