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

Dave Phillips dlphillips at woh.rr.com
Tue Mar 13 15:08:47 UTC 2007


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.



More information about the Linux-audio-dev mailing list