I'm implementing the Voss-McCartney pink noise generation algorithm.
If you follow the link above, you can read:
from James McCartney 2 Sep 1999 21:00:30 -0600:
The top end of the spectrum wasn't as good. The cascade of sin(x)/x shapes that I predicted in my other post was quite obvious. Ripple was only about 2dB up to Fs/8 and 4dB up to Fs/5. The response was about 5dB down at Fs/4 (one of the sin(x)/x nulls), and there was a deep null at Fs/2. (These figures are a bit rough. More averaging would have helped.)
You can improve the top octave somewhat by adding a white noise generator at the same amplitude as the others. Which fills in the diagram as follows:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
It'll still be bumpy up there, but the nulls won't be as deep.
If I understand it well, this algorithm generates pink noise by adding random (white?) noise sources at different frequencies1
However, I don't fully understand the explanation given in the quote above for the extra white noise generator on the "top row". Can someone clarify how/why it improves the algorithm? Does that make it a good algorithm for pink noise generation for audio applications? Especially, shouldn't I discard the first samples until all the "rows" were mixed into the signal (in the ASCII art quoted above, that would mean discarding 15 first samples)?
1 I'm not sure of the wording here. Do not hesitate to correct me if I'm wrong