[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [fluid-dev] Multi-kernel system test
Re: [fluid-dev] Multi-kernel system test
Sun, 03 Oct 2010 05:20:15 +0200
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:220.127.116.11) Gecko/20100922 Thunderbird/3.1.4
I've been puzzled when you describe that the sound changes when you
change the number of FS instances, but now I have a theory of what might
be going on...
If you have a sound and you play it back in the left and right channel,
and you do so at exactly the same point in time, the result will be one
sound only, coming from the center. However, if you delay one of the
sounds by a few samples, the result is some kind of "stereo effect",
some would say it almost sounds like a chorus effect, you might call it
a "widescreen stereo effect".
Now when you put one sound in the first instance of FS and the other
sound in the second instance, these FS instances are not completely
synchronised, which leads to the "widescreen stereo effect" discussed
I bet jOrgan starts up the FluidSynth instances one after another (and
to complicate matters, each FS instance starts up rendering threads,
which are scheduled asynchronously by the OS...). So whenever the speed
of "startup" changes somehow - due to e g different hardware, or me
changing something in how quick FS starts up, or even in jOrgan - you
will go something like "oh, the sound just is amazing now" or "oh, the
sound just doesn't sound as rich anymore", and we will think you're
nuts, because we haven't even changed the sound! :-)
So, given that my theory is true: since your organ won't sound the same
anywhere else than on your computer, I'd advise you to have FS instance
only, then experiment with delaying the different voices in a few
samples (and I don't have a good estimate of how many "a few" actually
is, but at least a few milliseconds) and see if you can can accomplish
the same effect that way.
On 2010-10-01 12:33, Bernd Casper wrote:
many thanks for the recommendations.
I've tested the most various combinations for buffers/buffer
size/polyphony/kernels, also 2/1024/1024/1 and 2/1024/1024/2, and those
setting increased the latency to a kind of "echo". In a real-time
scenario, I cannot use a buffer size bigger than 512 (in respect to my
>It is not intended to use more than one instance of FS. This means more
than one reverb engine, which in turn would consume more CPU in total.<
I don't use the FS reverb engine at all, in my personal setup.
number of instances:
I already expected you to mention the number of instances. I experienced
absolutely no slowdown of my system when using up to 20 instances of FS.
There wasn't any noticeable change in FS reaction, when using just one
I'd enjoy to use one single instance of FS only. For several reasons
this isn't possible presently.
- Technical reasons:
One important reason is that I separate the divisions of my instrument
to output into different soundcards.
- Sound quality reasons:
I continue to use more than one instances of FS, since usage of only one
instance of FS (and increase polyphony 8 times instead, to compensate)
delivers no identical sound result - even if I know it should,
theoretically. The stereo horizon is not the same, as well as the
transparency of sound (in admiration for the great improvement the sound
has taken with FS 1.1.2). If the number of samples increases over a
certain point (no influence, how high I set the polyphony number), the
"widescreen stereo" sound seems to change to a kind of "joint stereo"
sound, what I want to avoid in any case.
----- Folgende Nachricht wurde empfangen -----
*Absender:* David Henningsson <mailto:address@hidden>
*Empfänger:* bca <mailto:address@hidden>
*Zeit:* 2010-10-01, 09:25:27
*Betreff:* Re: [fluid-dev] Multi-kernel system test
On 2010-09-30 13:23, Bernd Casper wrote:
> Hi David,
> this is quite interesting.
> In a real-time scenario using two kernels *slows down* latency and
> overall performance here, when using many programs
> seemingly increases polyphony performance at te same moment (personal
> impression of my ears - stereo horizon is enlarged). I use
> buffers/size/polyphony 6/384/1024, and 8 instances of FS.
> Is this what's intended?
It is not intended to use more than one instance of FS. This means more
than one reverb engine, which in turn would consume more CPU in total.
So in theory, for best performance, I would recommend you to
1) use only one instance of FS (and increase polyphony 8 times instead,
2) use 2 buffers only - and increase size to 1024 to compensate. You
then might be able to decrease size to "trim" your system for better
3) experiment to see if increasing the "kernels" parameter, gives
or worse performance. Extending it beyond the number of physical CPU
cores should give worse performance.
So if this gives the best performance in practice is more than I know -
I'm not a computer scheduling expert, especially not on Windows.
(Btw, a few weeks ago I tried to set up jOrgan on Ubuntu Maverick here,
but I never got any sound output. I had to use jdk though, since
sun-java wasn't available for Maverick. Perhaps you or Sven could help
me out some day.)
fluid-dev mailing list