<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">Here's GrayNoise. SC's version flips random bits of a 32-bit integer and then outputs the result. Since we don't have 32-bit integers in Pd, it has to be done with 24 bits. No matter, though, because the range between -1 and +1 has what, 25-bit resolution? So not much difference.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Source:</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div>void GrayNoise_next(GrayNoise *unit, int inNumSamples)<br>{<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​    ​</div>float *out = ZOUT(0);<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​    ​</div>RGET<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​    ​</div>int counter = unit->mCounter;<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​    ​</div>LOOP1(inNumSamples,<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​        ​</div>counter ^= 1L << (trand(s1,s2,s3) & 31);<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​        ​</div>ZXP(out) = counter * 4.65661287308e-10f;<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​    ​</div>);<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​    ​</div>unit->mCounter = counter;<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​    ​</div>RPUT<br>}<div><br>void GrayNoise_Ctor(GrayNoise* unit)<br>{<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​    ​</div>SETCALC(GrayNoise_next);<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​    ​</div>unit->mCounter = 0;<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​    ​</div>GrayNoise_next(unit, 1);<br>}<div class="gmail_default" style="font-family:verdana,sans-serif"></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Nov 14, 2015 at 6:15 PM, Matt Barber <span dir="ltr"><<a href="mailto:brbrofsvl@gmail.com" target="_blank">brbrofsvl@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"><div class="gmail_default"><font face="verdana, sans-serif">​The nice thing about supercollider is that you have the code available, so you can try to replicate it. See code and attached patches below. Looks like SC's GrayNoise is not about color but rather generates something akin to a random Gray code.</font><br><font face="verdana, sans-serif"><a href="https://en.wikipedia.org/wiki/Gray_code" target="_blank">https://en.wikipedia.org/wiki/Gray_code</a></font><br></div><div><br></div>void BrownNoise_next(BrownNoise *unit, int inNumSamples)<br>{<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​    ​</div>float *out = ZOUT(0);<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​    ​</div>RGET<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​    ​</div>f<div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​​</div>loat z = unit->mLevel;<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​    ​</div>LOOP1(inNumSamples,<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​        ​</div>z += frand8(s1, s2, s3);<div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​ // random sample between -0.125 and +0.124999​</div><br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​        ​</div>if (z > 1.f) z = 2.f - z;<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​        ​</div>else if (z < -1.f) z = -2.f - z;<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​        ​</div>ZXP(out) = z;<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​    ​</div>);<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​    ​</div>unit->mLevel = z;<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​    ​</div>RPUT<br>}<div><br>void BrownNoise_Ctor(BrownNoise* unit)<br>{<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​    ​</div>SETCALC(BrownNoise_next);<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​    ​</div>unit->mLevel = unit->mParent->mRGen->frand2();<br><div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​    ​</div>ZOUT0(0) = unit->mLevel;<br>}<div class="gmail_default" style="font-family:verdana,sans-serif"></div></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Sat, Nov 14, 2015 at 4:53 PM, Dan Wilcox <span dir="ltr"><<a href="mailto:danomatika@gmail.com" target="_blank">danomatika@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div style="word-wrap:break-word">There is also s_pinknoise in rjlib which uses rpole filters. Not sure how accurate it is, but then again, I’ve never really needed that much accuracy for what I do :)<div><br><div>
<div style="color:rgb(0,0,0);letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wrap:break-word">--------<br>Dan Wilcox<br><a href="https://twitter.com/danomatika" target="_blank">@danomatika</a><br><a href="http://danomatika.com" target="_blank">danomatika.com</a><br><div><a href="http://robotcowboy.com" target="_blank">robotcowboy.com</a></div></div>

</div>
<br><div><blockquote type="cite"><div>On Nov 14, 2015, at 2:38 PM, <a href="mailto:pd-list-request@lists.iem.at" target="_blank">pd-list-request@lists.iem.at</a> wrote:</div><br><div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin:0px"><span style="font-family:-webkit-system-font,'Helvetica Neue',Helvetica,sans-serif;color:rgb(127,127,127)"><b>From:<span> </span></b></span><span style="font-family:-webkit-system-font,'Helvetica Neue',Helvetica,sans-serif">Alexandre Torres Porres <<a href="mailto:porres@gmail.com" target="_blank">porres@gmail.com</a>><br></span></div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin:0px"><span style="font-family:-webkit-system-font,'Helvetica Neue',Helvetica,sans-serif;color:rgb(127,127,127)"><b>Date:<span> </span></b></span><span style="font-family:-webkit-system-font,'Helvetica Neue',Helvetica,sans-serif">November 14, 2015 at 2:09:54 PM MST<br></span></div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin:0px"><span style="font-family:-webkit-system-font,'Helvetica Neue',Helvetica,sans-serif;color:rgb(127,127,127)"><b>To:<span> </span></b></span><span style="font-family:-webkit-system-font,'Helvetica Neue',Helvetica,sans-serif">Matt Barber <<a href="mailto:brbrofsvl@gmail.com" target="_blank">brbrofsvl@gmail.com</a>><br></span></div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin:0px"><span style="font-family:-webkit-system-font,'Helvetica Neue',Helvetica,sans-serif;color:rgb(127,127,127)"><b>Cc:<span> </span></b></span><span style="font-family:-webkit-system-font,'Helvetica Neue',Helvetica,sans-serif">"<a href="mailto:pd-list@lists.iem.at" target="_blank">pd-list@lists.iem.at</a>" <<a href="mailto:pd-list@lists.iem.at" target="_blank">pd-list@lists.iem.at</a>><br></span></div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin:0px"><span style="font-family:-webkit-system-font,'Helvetica Neue',Helvetica,sans-serif;color:rgb(127,127,127)"><b>Subject:<span> </span></b></span><span style="font-family:-webkit-system-font,'Helvetica Neue',Helvetica,sans-serif"><b>Re: [PD] brown/grey noise in pd</b><br></span></div><span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><div dir="ltr" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">was looking for a substitute/parallel object to BrownNoise  in Sc, which is described just as "Generates noise whose spectrum falls off in power by 6 dB per octave."<div><br></div><div>Another one would be GreyNoise, described as "Generates noise which results from flipping random bits in a word. This type of noise has a high RMS level relative to its peak to peak level. The spectrum is emphasized towards lower frequencies."</div><div><br></div><div><br></div><div>thanks</div></div></span></div></blockquote></div><br></div></div><br></div></div><span class="">_______________________________________________<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">http://lists.puredata.info/listinfo/pd-list</a><br>
<br></span></blockquote></div><br></div>
</blockquote></div><br></div>