fluid-dev
[Top][All Lists]
Advanced

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

Re: [fluid-dev] framerate


From: Josh Green
Subject: Re: [fluid-dev] framerate
Date: Tue, 13 Dec 2005 12:16:45 -0800

On Mon, 2005-12-05 at 21:08 +0100, Antoine Schmitt wrote:
> Hello,
> a (maybe straightforward) question on framerate and smoothing in 
> fluid. Suppose that I use fluid as a library in a client application 
> (like Director or Virtools) which has an internal framerate (usually 
> 24 or 50 fps). If the client app continuously changes some parameter 
> in fluid (like volume, pan or any controller for that matter), this 
> "continuous" will only happen as fast as the client's frame rate, 
> resulting in potentially audible steps. The question is : is there 
> some automatic smoothing functionnality in fluid that filters out 
> abrupt changes in controllers or other parameters. The idea behind 
> this question is to ensure that sound will be processed as smoothiny 
> on slow systems where the client's framerate may be much slower than 
> on the development machine.
> If there is no such functionnality (which I suppose) :
> - is this is a non-problem really because it will never be audible...
> - if this is a problem, is there another solution than integrating 
> smoothing deep inside the fluid dps engine? Like having another 
> client thread, that is called as often as fluid's thread and that 
> does the smoothing for example...
> 
> Thanks for any hints or food for thought,

Hello Antoine,
I think FluidSynth processes controller changes per its internal buffer
size, which I believe is usually 64 samples.  So updating at only 24 or
50 fps I think would likely be very perceptible.  Of course it all
depends on how fast the controller is changing.  If you are using
FluidSynth as a library, you could provide this functionality yourself
of course.  You can render a buffer of audio at a time, of any length,
using fluid_synth_write_s16 and fluid_synth_write_float.  So you could
create your own thread at that point, and interpolate controller
changes.  Your software would likely have a better idea of the best way
to interpolate those values as well.  This type of functionality could
be nice in FluidSynth as well, but it probably wouldn't get added for a
while.  Best regards,
        Josh Green

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

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