<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">This might be a noobish question, but is removing denorms, infs, and NaNs also the purpose of PD_BIGORSMALL()?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 8, 2016 at 10:13 AM, Ivica Ico Bukvic <span dir="ltr"><<a href="mailto:ico@vt.edu" target="_blank">ico@vt.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
I thought this, too. I seem to (mis)remember somewhere that -O2
optimization at compile-time would help with this, which is what
pd-l2ork's freeverb~ uses and still exhibits previously reported
behavior. That said, I wonder if denormals would also solve
potential NaNs. At any rate, I've updated freeverb~ to explicitly
use denormal function's return value in pd-l2ork and will run some
tests and let you know. If you'd like to test it out, download the
latest deb dated 20160208 (64bit build only for the time being).<br>
<br>
Best,<br>
<br>
Ico<div><div class="h5"><br>
<br>
<div>On 2/8/2016 4:44 AM, Kjetil Matheussen
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>Regarding denormals, if that's the problem, shouldn't it be
good enough</div>
<div>to compile with -fpmath=sse -msse2 and run the following
code one time in the dsp thread?</div>
<div><br>
</div>
<div>#ifdef __SSE__</div>
<div> #ifdef __SSE2__</div>
<div> #define AVOIDDENORMALS _mm_setcsr(_mm_getcsr() |
0x8040)</div>
<div> #else</div>
<div> #define AVOIDDENORMALS _mm_setcsr(_mm_getcsr() |
0x8000)</div>
<div> #endif</div>
<div>#else</div>
<div># error "must compile with -fmpath=sse"</div>
<div>#endif<br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Mon, Feb 8, 2016 at 10:28 AM, Kjetil
Matheussen <span dir="ltr"><<a href="mailto:k.s.matheussen@gmail.com" target="_blank">k.s.matheussen@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">You could use the faust version of freeverb
and compile it for pd. It's probably less likely to have
bugs.
<div>
<div>For instance by pasting <a href="http://sourceforge.net/p/faudiostream/code/ci/master/tree/examples/freeverb.dsp?format=raw" target="_blank">http://sourceforge.net/p/faudiostream/code/ci/master/tree/examples/freeverb.dsp?format=raw</a></div>
<div>into <a href="http://faust.grame.fr/onlinecompiler/" target="_blank">http://faust.grame.fr/onlinecompiler/</a></div>
<div><br>
</div>
</div>
</div>
<div>
<div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Sun, Feb 7, 2016 at 4:08
AM, Ivica Bukvic <span dir="ltr"><<a href="mailto:ico@vt.edu" target="_blank"></a><a href="mailto:ico@vt.edu" target="_blank">ico@vt.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<p dir="ltr">Thank you, Katja. Is there a newer
version than this out there?</p>
<span>
<p dir="ltr">Best,</p>
<p dir="ltr">-- <br>
Ivica Ico Bukvic, D.M.A.<br>
Associate Professor<br>
Computer Music<br>
ICAT Senior Fellow<br>
Director -- DISIS, L2Ork<br>
Virginia Tech<br>
School of Performing Arts – 0141<br>
Blacksburg, VA 24061<br>
<a href="tel:%28540%29%20231-6139" value="+15402316139" target="_blank">(540)
231-6139</a><br>
<a href="mailto:ico@vt.edu" target="_blank">ico@vt.edu</a><br>
<a href="http://www.performingarts.vt.edu" target="_blank">www.performingarts.vt.edu</a><br>
<a href="http://disis.icat.vt.edu" target="_blank">disis.icat.vt.edu</a><br>
<a href="http://l2ork.icat.vt.edu" target="_blank">l2ork.icat.vt.edu</a><br>
<a href="http://ico.bukvic.net" target="_blank">ico.bukvic.net</a></p>
</span>
<div>
<div>
<div class="gmail_quote">On Feb 6, 2016 10:25
AM, "katja" <<a href="mailto:katjavetter@gmail.com" target="_blank">katjavetter@gmail.com</a>>
wrote:<br type="attribution">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">If the
freeverb~ version you use looks like the
one in<br>
<a href="http://sourceforge.net/p/pure-data/svn/HEAD/tree/trunk/externals/freeverb%7E/freeverb%7E.c" rel="noreferrer" target="_blank">http://sourceforge.net/p/pure-data/svn/HEAD/tree/trunk/externals/freeverb~/freeverb~.c</a>,<br>
there's a function 'fix_denorm_nan_float()
defined starting at line<br>
154. The function is called later (in line
225 and others) but the<br>
return value is never stored. Therefore
freeverb~ doesn't flush<br>
denormals.<br>
<br>
On Sat, Feb 6, 2016 at 3:34 PM, Ivica
Bukvic <<a href="mailto:ico@vt.edu" target="_blank">ico@vt.edu</a>>
wrote:<br>
> Thank you all. Looks like I've got
some troubleshooting to do and will<br>
> report what I find.<br>
><br>
> Best,<br>
><br>
> --<br>
> Ivica Ico Bukvic, D.M.A.<br>
> Associate Professor<br>
> Computer Music<br>
> ICAT Senior Fellow<br>
> Director -- DISIS, L2Ork<br>
> Virginia Tech<br>
> School of Performing Arts – 0141<br>
> Blacksburg, VA 24061<br>
> <a href="tel:%28540%29%20231-6139" value="+15402316139" target="_blank">(540)
231-6139</a><br>
> <a href="mailto:ico@vt.edu" target="_blank">ico@vt.edu</a><br>
> <a href="http://www.performingarts.vt.edu" rel="noreferrer" target="_blank">www.performingarts.vt.edu</a><br>
> <a href="http://disis.icat.vt.edu" rel="noreferrer" target="_blank">disis.icat.vt.edu</a><br>
> <a href="http://l2ork.icat.vt.edu" rel="noreferrer" target="_blank">l2ork.icat.vt.edu</a><br>
> <a href="http://ico.bukvic.net" rel="noreferrer" target="_blank">ico.bukvic.net</a><br>
><br>
> On Feb 6, 2016 9:20 AM, "IOhannes m
zmölnig" <<a href="mailto:zmoelnig@iem.at" target="_blank">zmoelnig@iem.at</a>>
wrote:<br>
>><br>
>> On 02/06/2016 10:29 AM, katja
wrote:<br>
>> > Possibly an inf or nan
recirculating in the delay lines? It seems
that<br>
>> > freeverb~ calls function
fix_denorm_nan_float(float v) but doesn't
use<br>
>> > the return value.<br>
>><br>
>> you *might* be able to confirm
this by sending the output for<br>
>> [freeverb~] to [print~] (the
silent samples would be NaN or Inf rather<br>
>> than 0 (or some other constant
value))<br>
>><br>
>> gamds<br>
>> IOhannes<br>
>><br>
>><br>
>><br>
>>
_______________________________________________<br>
>> <a href="mailto:Pd-list@lists.iem.at" target="_blank">Pd-list@lists.iem.at</a>
mailing list<br>
>> UNSUBSCRIBE and
account-management -><br>
>> <a href="http://lists.puredata.info/listinfo/pd-list" rel="noreferrer" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
>><br>
><br>
>
_______________________________________________<br>
> <a href="mailto:Pd-list@lists.iem.at" target="_blank">Pd-list@lists.iem.at</a>
mailing list<br>
> UNSUBSCRIBE and account-management
-><br>
> <a href="http://lists.puredata.info/listinfo/pd-list" rel="noreferrer" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
><br>
</blockquote>
</div>
</div>
</div>
<br>
_______________________________________________<br>
<a href="mailto:Pd-list@lists.iem.at" target="_blank">Pd-list@lists.iem.at</a> mailing
list<br>
UNSUBSCRIBE and account-management -> <a href="http://lists.puredata.info/listinfo/pd-list" rel="noreferrer" target="_blank"></a><a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div></div></div>
<br>_______________________________________________<br>
<a href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -> <a href="http://lists.puredata.info/listinfo/pd-list" rel="noreferrer" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
<br></blockquote></div><br></div>