Thanks for the help - the example explained a lot. If it is a bug - it's also happening on windows as well. In any case - I got it to cease it's odd behavior by putting float() around everything in the expr~. :) At least now I know what was going on.
Claude Heiland-Allen wrote:
Hi,
Vreahli the Audio Bandit wrote:
Hiya - I'm having some issues with this patch I've been working on. I just baked up some fancy bit crushing using expr~ and I'd like to turn it off. On the linear version on the right it stops just fine, however on the left the noise continues to flow out.
What is happening, is that you are getting some "inf" or "nan" output from this:
#X obj 44 320 expr~ pow((int(pow(($v1*$i2) , 3))) , -3);
and "inf" or "nan" multiplied by 0 is "nan".
"nan" <-> 0 transitions appear to be audible from [dac~], which may or may not be a bug. (tested with JACK and OSS on Linux with Pd-0.39-2 and Pd-0.40-1, both from Miller's site).
See attached patch for an example.
Claude
#N canvas 0 0 450 300 10; #X obj 32 190 *~ 0; #X obj 33 68 osc~ 1000; #X obj 110 70 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 26 257 dac~; #X obj 33 127 expr~ pow($v1 , $v1); #X obj 113 182 print~ before; #X obj 64 219 print~ after; #X obj 110 98 t b b; #X connect 0 0 3 0; #X connect 0 0 3 1; #X connect 0 0 6 0; #X connect 1 0 4 0; #X connect 2 0 7 0; #X connect 4 0 0 0; #X connect 4 0 5 0; #X connect 7 0 6 0; #X connect 7 1 5 0;