David, and all:

Regarding the following paragraph in an e-mail from David:

This is controlled by the synth.overflow.* parameters which I 
implemented a while ago to give you others some room for experimenting 
with which settings work best. I don't remember if I got any feedback 
for changing the default parameters.

It may well be that the implementation of the "overflow" parameter
functionality was the beginning of when fluidsynth lost its ability to
successfully play my compositions.  

I would like to experiment with the parameter, but in looking at the
help info from fluidsynth, it is not self-evident (to me) how to use it,
or what it does.  

Here is the information I got from the help:

synth.overflow.age       FLOAT [min=-10000.000, max=10000.000,
def=1000.000]
synth.overflow.percussion FLOAT [min=-10000.000, max=10000.000,
def=4000.000]
synth.overflow.released  FLOAT [min=-10000.000, max=10000.000,
def=-2000.000]
synth.overflow.sustained FLOAT [min=-10000.000, max=10000.000,
def=-1000.000]
synth.overflow.volume    FLOAT [min=-10000.000, max=10000.000,
def=500.000]

I searched for more documentation, but didn't find it.  

Could you please explain the various overflow parameter settings, and
what they do?  

Also, is it possible to specify the overflow parameters in Qsynth?  

-- 

Thank You,
Aere


-----Original Message-----
From: David Henningsson <di...@ubuntu.com>
To: FluidSynth mailing list <fluid-dev@nongnu.org>
Subject: Re: [fluid-dev] problems with fluidsynth 1.1.6 on a raspberry
pi
Date: Tue, 20 Nov 2012 22:57:39 +0100


On 11/20/2012 08:58 AM, Jan Newmarch wrote:
> Hi
>
> I recompiled 1.1.6 with polyphony set to 64. There doesn't seem to be a
> command line option to reset parameters like this, but it shouldn't be
> too hard to add one. Yes I know, use fluid_settings_setXXX in the code...

The option is:
"fluidsynth -o synth.polyphony=64"
see "fluidsynth -o help" for more settings.

Unfortunately it does not seem like the interpolation method is settable 
in the same way, which seems strange to me. You have to do it inside the 
shell.

Turning off reverb and chorus, as suggested by others, is done by "-o 
synth.reverb.active=False" and "-o synth.chorus.active=False", which 
might also speed up fluid_rvoice_buffers_mix (no need to render into 
reverb and chorus buffers).

> Anyway... no better. Still hits CPU above 99% (!) and distorts
> accordingly.
>
> (The pidstat command I used was
>       pidtat -C fluidsynth - u -r 5
> for 5 second periods.)
>
> David gives perf figures of
>
>          30% - fluid_rvoice_dsp_interpolate_4th_order
>          27% - fluid_rvoice_buffers_mix
>          13% - fluid_iir_filter_apply
>            9% - fluid_revmodel_processmix
>
> I ran perf (from linux-tools Debian pkg) on the RPi for nightsin.kar using 
> two soundfonts and got
>
>      32.07%   fluid_rvoice_buffers_mix
>      26.89%   fluid_rvoice_dsp_interpolate_4th_order
>      12.99%   fluid_iir_filter_apply
>      11.00%   fluid_revmodel_processmi
>
> for the FluidR3_Gm  and
>
>      29.49%   fluid_rvoice_buffers_mix
>      23.71%   fluid_rvoice_dsp_interpolate_4th_order
>      14.89%   fluid_revmodel_processmix
>      12.53%   fluid_iir_filter_apply
>
> for the GeneralUser soundfont (which sounds a bit better).
> No significant difference.

Thanks, seems like the statistics are about the same; with 
fluid_rvoice_buffers_mix being on the top.

Are you running this with floats or doubles, (-Denable-floats=on when 
compiling for single-precision floats) and is there a significance in 
performance?

>
> Jan
> --
>
> On Sun, 2012-11-18 at 08:31 -0700, Aere Greenway wrote:
>> Jan & David:
>>
>> In my opinion, limiting the polyphony (I presume that is what you mean
>> by "limiting the voices") does not adversely affect the sound.
>>
>> What is using up the CPU, is voices still being 'sounded' that have
>> long before faded to where they are inaudible.  sysstat
>
>>
>> If Fluidsynth works similarly to the EMU10K1/2 (Soundblaster & Audigy)
>> chip, it should 'take-out' the oldest voices first, though I don't
>> know if that is actually the case.

This is controlled by the synth.overflow.* parameters which I 
implemented a while ago to give you others some room for experimenting 
with which settings work best. I don't remember if I got any feedback 
for changing the default parameters.

// David

_______________________________________________
fluid-dev mailing list
fluid-dev@nongnu.org
https://lists.nongnu.org/mailman/listinfo/fluid-dev

Reply via email to