In the meantime, it has worked for us in the past to add just a tiny bit of noise~ to the freeverb~ input 100% of the time. I haven't tried in about a year so things may have changed.
Matt
On Fri, Aug 14, 2009 at 7:07 AM, Ed Kellymorph_2016@yahoo.co.uk wrote:
We have to sort this out!
The denormals bug in freeverb~ _seems_ to have been fixed by following Julius' advice. I made a makefile with
-fno-trapping-math
as a flag and so far so good. I haven't had a problem with the freeverb~ object pegging the CPU. May I advise that this is implemented in PD-extended, since it causes my patch to NOT WORK AT GIGS! I simply cannot take any more embarrassment. I want to play live, otherwise there's simply no point doing anything!
The second one I have discovered is in bsaylor/svf~ and there's no makefile for this in the subversion repository. I notice in the source code there is a FLUSH_TO_ZERO definition. Interestingly, when I try to compile this external using a bog-standard makefile on Ubuntu 8.10, it causes an error:
cc1: warnings being treated as errors svf~.c: In function ‘run_svf’: svf~.c:59: error: dereferencing type-punned pointer will break strict-aliasing rules svf~.c:60: error: dereferencing type-punned pointer will break strict-aliasing rules
Now, I'm trying to unpick the statement: #define FLUSH_TO_ZERO(fv) (((*(unsigned int*)&(fv))&0x7f800000)==0)?0.0f:(fv)
which is being called on lines 59 and 60 of bsaylor/svf~.c, causing the compiler to choke, and (perhaps) causing my drumsynths to break!
And by the way, where is the source code for the _other_ svf~ external?
Ed
--- On Wed, 1/7/09, Julius Smith jos@ccrma.stanford.edu wrote:
From: Julius Smith jos@ccrma.stanford.edu Subject: Re: [PD] bug in freeverb??? To: "Matt Barber" brbrofsvl@gmail.com Cc: pd-list@iem.at Date: Wednesday, 1 July, 2009, 8:22 PM Hmmm, this sounds like underflow traps ("denormals"). You should also be able to add a small constant to the input signal.
I notice gcc has the option
-fno-trapping-math
which may make the problem disappear if my theory is correct. (I hope the FPU simply sets underflows quietly to zero when no trap can be generated.) There is also
-ffast-math
which is more aggressive.
- jos
At 11:30 AM 7/1/2009, Matt Barber wrote:
We have also had this problem, and have found that
normally one can
avoid it by salting the [freeverb~] object with a
minuscule amount of
noise at all times.
Matt
Message: 5 Date: Wed, 1 Jul 2009 09:57:43 -0700 (PDT) From: Andres Ferrari anfex@yahoo.com Subject: [PD] bug in freeverb??? To: pd-list@iem.at Message-ID: 166347.29167.qm@web111408.mail.gq1.yahoo.com Content-Type: text/plain; charset=iso-8859-1
when is connected into freeverb any signal
multiplied by zero
the CPU usage begin to up and up to the limit,
and if the patch
is heavy by far exceeds the 100%....sound and
everything becomes a mess.
This happens to me only in leopard.
In osx 10.4 (ppc) and windows I've never had that
problem.
Andr?s Ferrari G.
Pd-list@iem.at
mailing list
UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Julius O. Smith III jos@ccrma.stanford.edu Prof. of Music and Assoc. Prof. (by courtesy) of Electrical Engineering CCRMA, Stanford University http://ccrma.stanford.edu/~jos/
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Send instant messages to your online friends http://uk.messenger.yahoo.com
Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev