I've been sleeping with exponentially-smoothed brown noise for years. I use a raspberry pi with its hardware random number generator because with pseudorandom numbers or compressed samples I hear all sorts of artifacts - no doubt at least partially psychological, but psychology matters when you're trying to get to sleep. Uncompressed samples are fine and can be looped without a gap, but that's less fun.
I'm currently looking at building an analogue circuit to generate this noise, because electronics is fun and because sampling thermal noise (which is brown) inside the rPi's hardware rng, having it massaged to white noise and then converting it back to brown noise (with a bit of pseudorandom mixed in as the rate isn't quite high enough) and back to analogue to go to a speaker all seems a bit daft.
which gives four different circuits, they each have their own sound.
yes, they are pink, not brown, but pipe the output through a spare opamp configured as a low-pass filter and you can have "any color you like".
Then pipe that through a low-pass gate and you start to get some interesting bloops, and before you know it you are full-time building Eurorack modules.
Any cryptographic pseudorandom number generator (or hash function, equivalently) should be completely indistinguishable from random noise. Although, frankly I don’t think you should need to go that far. Almost any PRNG should do it, it’s really only the simplest ones that have noticeable periodicity.
> I've been sleeping with exponentially-smoothed brown noise for years. I use a raspberry pi with its hardware random number generator because with pseudorandom numbers or compressed samples I hear all sorts of artifacts - no doubt at least partially psychological, but psychology matters when you're trying to get to sleep. Uncompressed samples are fine and can be looped without a gap, but that's less fun.
Well, there have certainly been a plenty of bad RNGs in use.
> because sampling thermal noise (which is brown)
It's not. You need a filter to get pink/brown noise out of it
Interested to know more about your experience with uncompressed audio generated from pseudorandom numbers. Do you know what PRNG you were using? I would think the simplest common ones would indeed be terrible but it could be very interesting to study if something like the Mersenne Twister or better could be detected as "not truly random" in this way.
The code is a horrifyingly awful bit of C++ and the whole thing is horrendously inefficient (rpi heating the room up doing arithmetic). I wouldn't want to publish it in its current form, and the next thing will be an analogue circuit. I might blog about that, though.
I'm currently looking at building an analogue circuit to generate this noise, because electronics is fun and because sampling thermal noise (which is brown) inside the rPi's hardware rng, having it massaged to white noise and then converting it back to brown noise (with a bit of pseudorandom mixed in as the rate isn't quite high enough) and back to analogue to go to a speaker all seems a bit daft.