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