Difference between revisions of "Creating Bluish Noise With Minimal Compute"
(Created page with "Blue noise is a type of noise with a power density that increases with frequency, giving it a high-pitched, hissy sound. Visually, it manifests as a pattern with minimal low-f...") |
(No difference)
|
Revision as of 23:35, 22 May 2024
Blue noise is a type of noise with a power density that increases with frequency, giving it a high-pitched, hissy sound. Visually, it manifests as a pattern with minimal low-frequency components and a relatively even distribution of points, and is frequently used for dithering. Blue noise is often used for its aesthetically pleasing randomness, since numbers don't clump together as they would with truly random (white noise) sources.
The Algorithm
Blue noise is typically created by generating random values, and massaging them in various ways to not be as clumpy. This isn't a great approach for older platforms that don't have a lot of compute or ram.
An alternative approach is to use an exponentially decaying average, to ensure the next new number isn't clumped together with recently returned numbers...
1. A=RAND 2. B=RAND 3. if ABS(B-C) > ABS(A-C) then A=B 4. C=(C+A)/2 ; exponentially decaying running average
"A" holds your Bluish noise value.
The algorithm creates the expected +3 dB per octave power increase, and works equally well with LFSR noise sources.
Authorship
The Bluish Noise technique described here, which is possibly novel, was created by Mike Saarna.