[ardour-users] problem with Ardour, DSP creeps up to 100%
st444 at hszk.bme.hu
Sun Nov 7 11:14:29 PST 2004
On Sun, Nov 07, 2004 at 08:49:26AM -0600, Josh Karnes wrote:
> On one particular session, often (on playback) the DSP meter will go up to
> 100%, I get a lot of xruns, and eventually if I leave it all alone, Ardour
> gives the error that Ardour shut down because Jack is too slow.
> I suspect it has to do with plugins on a particular track. On one track I
> have TAP Equalizer, "tube amp emulation", TAP Dynamics (M), and "Feedback
> Delay Line (Maximum Delay 1s)", all in the pre-fader inserts. In fact I
> suspect it's the "tube amp emulation" causing the problem but I can't be
> sure... I use TAP Dynamics and TAP Equalizer all the time without problems
> so I don't suspect them.
It is definitely the plugins, one or more of them has denormal
bugs. The problem manifests itself in DSP code that implements
feedback loops (eg. IIR filters in TAP Eq, or short delay loops, or
things like that), which have an (theoretically) infinite long
decay. The problem arises when you stop feeding such a loop with
meaningful values (> -200 dB), eg. at the end of a session, but the
plugin continues processesing (as is often the case with Ardour). Then
the remainder signal in the loop becomes small, very very small, and
eventually so small that the machine FPU starts using a different
approach for storing it and working with it. Which is much slower than
operations with numbers in the reasonable amplitude range. So, in a
nutshell, that's why DSP creeps up infinitely.
There are workarounds for such problems, the first thing to do is
identify the offending plugin and contact its author... Yes, that
could be even me. Although I have made numerous tests with my plugins,
and as time passed, a significant number of such fixes were made. So I
would say TAP plugins are currently (as of 0.7.0) denormal bug free,
on _my_ sessions, with _my_ configuration, and _my_ computer.
Unfortunately I cannot say anything about yours. The severity of this
problem is *very* machine-dependent, you can find processors which are
almost unaffected, and others which are very sensitive (I think yours
is among the latter).
My advice is: please test each plugin separately, carefully, one after
another. Stop playback and make sure plugins are still plocessing
(Ardour->Stop_plugins_at_end_of_session: OFF), and wait. Watch the DSP
meter. In some cases I had to wait as long as 20-30 seconds before the
DSP meter started to rise noticeably. So be patient. At least one of
the plugins you use will be at fault. And keep in mind that the
phenomenon is not fully deterministic in its usual macroscopic sense,
so you will perhaps have to try a few times before it shows up once.
Another method could be that you run all your plugins as usual, and
wait for the DSP creeping to start. Then bypass each plugin, one after
another. When you bypass the offending plugin, the DSP meter should
drop back to normal value. Note, however, that the success of this is
dependent on the implementation of the plugin, but I think any sane
plugin will actually stop (or skip) its internal DSP working when it
If it turns out to be a TAP-plugin, contact me either here, on
linux-audio-dev, or offlist. Good luck with testing!
More information about the Ardour-Users