| Author |
Message |
françois
Joined: Dec 23, 2006 Posts: 139 Location: Paris (France)
Audio files: 1
|
Posted: Fri Mar 14, 2008 4:06 am Post subject:
Pink noise Subject description: (or, more generally, colored noise) |
 |
|
Hello all,
There was these late days a discussion on the SDIY mailing list about making pink noise from a (supposedly good) source of white noise (I personnally prefer the good old analog reverse-biased junction quantic noise, rather than shift-register noise, matter of taste probably).
It is easy to find many passive networks that approximate a -3dB/oct slope lowpass filter. It is far less easy to design one... I tried to analyze existing networks (they ususally consist of a series of lowpass/bandpass cells so that poles and zeroes cancel out very carefully, although I could do the calculations by hand it is awkward, and SPICE does a very good job there) but I could just have to admit that they do the job, no understanding how or why.
But the point is that a -3dB/oct slope is mathematically a "half-integrator", with Laplace transfer function 1/sqrt(s). Being mathematically oriented, I know this is a fractal operator, and I wondered if some kind of chaotic circuit could generate such a slope. To no avail, of course.
Let me be clear. A precise -3dB/oct slope is ideal for calibrating audio equipment, but is not really required for musical applications. A good approximation is enough. But I's like to understand generally how to design such a thing.
And, even more generally, a varying-slope filter (ideally voltage controlled) would certainly have a musical utility (modulating e.g. from +12dB/oct to -12dB/oct slope).
If any of you has ever thought of this, please let me know !
-- françois |
|
|
Back to top
|
|
 |
frijitz
Joined: May 04, 2007 Posts: 1734 Location: NM USA
Audio files: 54
|
Posted: Fri Mar 14, 2008 8:04 am Post subject:
Re: Pink noise Subject description: (or, more generally, colored noise) |
 |
|
| françois wrote: | It is easy to find many passive networks that approximate a -3dB/oct slope lowpass filter. It is far less easy to design one... I tried to analyze existing networks (they ususally consist of a series of lowpass/bandpass cells so that poles and zeroes cancel out very carefully, although I could do the calculations by hand it is awkward, and SPICE does a very good job there) but I could just have to admit that they do the job, no understanding how or why.
Let me be clear. A precise -3dB/oct slope is ideal for calibrating audio equipment, but is not really required for musical applications. A good approximation is enough. But I's like to understand generally how to design such a thing. |
Francois --
I played around with pink filters a few years ago. The one I had been using up til then had an opamp with three feedback elements: a capacitor C, a resistor R, and a series combination R1 + C1. This deviated from the desired 3 dB slope by about +/- 4 dB. To me this was quite clearly audible: frequencies around 400 Hz were attenuated and those around 3 kHz were emphasized. A good pink noise source sounds very uniform, without any characteristic frequencies standing out.
I found a filter schematic online with six (!) series R+C elements in the feedback path. I noticed that the ratios of the successive breakpoint frequencies (R*C1/R1*C1, etc.) were all about 4.6. This seems to be the way to get the pole/zero cancellation you mentioned.
Then I set up a simulation using a math package to calculate the response of a filter with four feedback elements: R, R1+C1, R2+C2, and C. Starting with the 4.6 ratio I varried the breakpoint frequencies to get the best 3 dB slope. I stuck with standard component values. The ratios came out to:
(R1*C1)/(R*C1) = R1/R = 3.00
(R1*C2)/(R1*C1) = C2/C1 = 4.55
(R2*C2)/(R1*C2) = R2/R1 = 4.58
(R2*C)/(R2*C2) = C/C2 = 3.30
This filter follows the 3 dB slope within +/- 1 dB. Too me, it sounds more uniform. Maybe it doesn't matter, but for the price of one R and one C it seems worth doing.
The actual component values I ended up using are:
R = 330 k
R1 = 110 k
C1 = .015
R2 = 24 k
C2 = .0033
C = .001
Ian |
|
|
Back to top
|
|
 |
françois
Joined: Dec 23, 2006 Posts: 139 Location: Paris (France)
Audio files: 1
|
Posted: Sat Mar 15, 2008 2:06 am Post subject:
|
 |
|
Thank you, Ian.
It seems that the various feedback "cells" have to approximate a multi-band equalizer -- I did that with a 1/3oct band graphic equalizer and obtained a *very* good approximation to a -3dB/oct slope, at the cost of having 48 feedback elements... I could have even more if I wanted the pink noise to be "accurate" over 20 octaves. That is pure delirium, of course. Fortunately SPICE comes in handy, I didn't have to breadboard this monstruosity. But I got the point.
Now I would really be interested in a variable slope filter, whatever this means. I don't know if it would be of great musical interest, but it is an interesting problem in itself. My first idea was very similar to a vocoder : separating the audio spectrum into many frequency bands and reshaping the spectrum with VCAs. Much too complicated obviously. What I'd like is to have a Laplace transfer function of the form 1/(s^n) with voltage controlled n. This is (relatively) easy in software but with RC cells (and opamps maybe) it is far from obvious.
Yours,
-- françois
EDIT : BTW, Ray Wilson's (MFOS) "Pink enough for me" noise generator is very similar to your suggestion. He mentions he tweaked the values of the components until he could hear a "satisfactorily pink" noise... maybe this is the most practical way to go. |
|
|
Back to top
|
|
 |
frijitz
Joined: May 04, 2007 Posts: 1734 Location: NM USA
Audio files: 54
|
Posted: Sat Mar 15, 2008 8:10 am Post subject:
|
 |
|
| françois wrote: | | Now I would really be interested in a variable slope filter, whatever this means. I don't know if it would be of great musical interest, but it is an interesting problem in itself. |
Francois --
There was a variable slope filter in Electronotes. A project of Bernie and Lester Ludwig. I believe it is in the prefered circuit collection. Bernie's extensive work on analog signal processing is worth looking at if you are seriously interested in filter design.
Scott Stites' Mutant Vactrol Filter also has variable slope, I believe.
Ian |
|
|
Back to top
|
|
 |
|