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.https://en.wikipedia.org/wiki/Gray_code
void BrownNoise_next(BrownNoise *unit, int inNumSamples)
{
float *out = ZOUT(0);
RGET
f
loat z = unit->mLevel;
LOOP1(inNumSamples,
z += frand8(s1, s2, s3);
// random sample between -0.125 and +0.124999
if (z > 1.f) z = 2.f - z;
else if (z < -1.f) z = -2.f - z;
ZXP(out) = z;
);
unit->mLevel = z;
RPUT
}
void BrownNoise_Ctor(BrownNoise* unit)
{
SETCALC(BrownNoise_next);
unit->mLevel = unit->mParent->mRGen->frand2();
ZOUT0(0) = unit->mLevel;
}