Re: [linux-audio-dev] denormals or ... ?

From: Steve Harris <steve@email-addr-hidden>
Date: Tue Mar 13 2007 - 16:10:12 EET

Hi Dave,

To be getting problems from denormals you really need a stretch of
silence going into some effects processing. From your description it
doesn't seem like that's very likely. If you do have a stretch of
silence, add a small amount of noise to the track, and if it goes
away you have a denormal bug, and you can shoot the plugin developer :)

It could also be a NaN problem, which have similar symptoms but can
happen at any time. Their uncommon, but much nastier to find and fix.

If you skip forward to near the point where it jams and play from
there, does it still jam? Have you tried muting some tracks to see if
it still happens?

- Steve

On 13 Mar 2007, at 15:08, Dave Phillips wrote:

> Greetings:
>
> I have a problem with a piece I'm working on in Rosegarden 1.5.
> I've appended the text I sent to Chris Cannam, along with his
> response (I hope he doesn't mind). Btw, the machine is based on an
> AMD64 3200+, with 2G RAM and an 80G hard drive. Sound runs through
> an M-Audio Delta 66. Distro is 64Studio 2.0.
>
> My questions lead, Chris's replies follow :
>
>>> 2) I've written a piece consisting of six tracks with these specs:
>>>
>>> Tr.1 (audio) drum loop, repeated, 1 plugin (CAPS plate reverb 2x2)
>>> Tr.2 (MIDI) bass part, repeated, uses patch from 8mbgmsfx.sf2
>>> soundfont, no fx (part is rendered via QSynth which does have its
>>> reverb active)
>>> Tr.3 (audio) rhythm guitar loop, repeated, 3 fx (dj EQ mono, CAPS
>>> compress, CAPS plate 2x2)
>>> Tr.4 (audio) lead guitar, no repeats or copy, 4 fx (CAPS plate
>>> 2x2,
>>> AmpIV, AM pitch shifter, multiband EQ)
>>> Tr.5 (audio) riff loop, copied, 3 fx (dj EQ mono, CAPS compress,
>>> CAPS plate 2x2)
>>> Tr.6 (audio) another percussion loop, copied, no fx
>>>
>>> At 120 BPM the piece is 200+ measures long. It plays along
>>> swimmingly, but at m. 74 (about two minutes into the piece) the
>>> sound
>>> cuts out entirely. RG continues to run, but it pops up a message
>>> telling me that there's not enough CPU for realtime processing.
>>> Up to
>>> that point JACK reports approximately 33% CPU usage and no errors,
>>> but then it reports 0(1024) for xruns. I don't know what the second
>>> number (1024) means to JACK, but it keeps rising (with no sound)
>>> until I halt RG.
>>
>
> That sounds a bit like a plugin denormal problem. Although
> denormals are usually less of a problem on AMD64.
>
> The 0(1024) in qjackctl I think means that JACK has reported 1024
> xruns via the reporting API but they haven't been mentioned in the
> message log. I don't actually know what causes that. Does CPU
> usage (as reported by a plain old CPU usage reporting program)
> actually peak at that point?
>
>
>>> So my question is: Given my machine, should my CPU be topping out in
>>> this scenario ?
>>
>
> Probably not, or at least I wouldn't expect it to suddenly peak if
> usage has previously been on the low side.
>
> The only thing RG does that may affect CPU usage drastically during
> playback is that it doesn't start running plugins until they
> actually have something to work on, and it stops running them if
> they've fallen silent for a certain period and have no more input
> coming up (this is in contrast to e.g. Ardour which runs plugins
> all the time during playback, taking a more strictly correct view).
>
>
> So, if anyone has anything to add to Chris's assessment, I'd like
> to know about it. If the problem is indeed related to denormals, is
> there a way to fix it ? Comments and suggestions are most welcome.
>
> Best,
>
> dp
Received on Tue Mar 13 16:15:04 2007

This archive was generated by hypermail 2.1.8 : Tue Mar 13 2007 - 16:15:04 EET