[PD] [PD-dev] denormals: svf, freeverb (was Re: bug in freeverb???)

Matt Barber brbrofsvl at gmail.com
Fri Aug 14 14:11:01 CEST 2009


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 Kelly<morph_2016 at 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 at ccrma.stanford.edu> wrote:
>
>> From: Julius Smith <jos at ccrma.stanford.edu>
>> Subject: Re: [PD] bug in freeverb???
>> To: "Matt Barber" <brbrofsvl at gmail.com>
>> Cc: pd-list at 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 at yahoo.com>
>> > > Subject: [PD] bug in freeverb???
>> > > To: pd-list at iem.at
>> > > Message-ID: <166347.29167.qm at 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.
>> > >
>> > > http://www.myspace.com/anfex
>> > >
>> >
>> >_______________________________________________
>> >Pd-list at iem.at
>> mailing list
>> >UNSUBSCRIBE and account-management ->
>> >http://lists.puredata.info/listinfo/pd-list
>>
>>
>> Julius O. Smith III <jos at ccrma.stanford.edu>
>> Prof. of Music and Assoc. Prof. (by courtesy) of Electrical
>> Engineering
>> CCRMA, Stanford University
>> http://ccrma.stanford.edu/~jos/
>>
>>
>> _______________________________________________
>> Pd-list at 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 at iem.at
> http://lists.puredata.info/listinfo/pd-dev
>




More information about the Pd-list mailing list