> b) From a pole/zero perspective, how does a peaking EQ with a deep notch > compare to say, an equivalent order state variable filter where the notch is > formed by adding the High-Pass and lowpass outputs?
With only two poles and two zeros to work with in both cases, they can't be very different! You can read https://ccrma.stanford.edu/~jos/filters/Peaking_Equalizers.html and https://ccrma.stanford.edu/~jos/svf/ after which you can lay out the two calculations and compare them in detail. Only second order! - Julius On Tue, Apr 23, 2019 at 6:18 AM Gary Worsham <gary.wors...@gmail.com> wrote: > > Thanks a lot for your response Julius. A couple things happened here. > > #1 I didn't know what to expect from this filter, and having more recent > hands-on experience with modular synths where you get resonant 2nd or 4th > order lowpass and bandpass filters, these sound a lot different than the > peaking types that are otherwise flat. Graphic equalizers are so 70's! But I > thought that "dry" was coming through because I always heard "shhhhhh". > > #2 I hooked my noise source and filter (with adjustable gain and freq) to a > dm.spectral_level_demo object, and it seemed like even when there was a fair > amount of energy shown in the higher bands, I couldn't hear it. I tried with > just a 4 pole butterworth high pass and confirmed that I can't hear too much > above 10k (alas). Anyway back to my other experiment, I found that when > using noise, and setting a 12 dB peak and sweeping the frequency, I could see > the peak moving back and forth, but it rarely boosted more than 2 or 3 dB > compared to other bands. Using a sawtooth or square wave as the source I was > much more likely to get a 10 dB boost shown. > > #3 Not knowing any better, I perceived this filter as a brick-wall thing, you > know, 0 dB until it got to fc - B/2, down 72 dB, then at fc + B/2 wham back > up to 0. But it seems that if the notch is 72 dB down it's going to pull > down energy way outside of that. > > So then I have some questions. > a) what does the bandwidth measure here? It's certainly not the - 3 dB > points. > b) From a pole/zero perspective, how does a peaking EQ with a deep notch > compare to say, an equivalent order state variable filter where the notch is > formed by adding the High-Pass and lowpass outputs? > > Thanks! Gary W. > > Here's the Faust code I was messing around with, for reference. > >> import("stdfaust.lib"); >> waveGenerator = hgroup("[0]Wave Generator", no.noise, os.triangle(freq), >> os.square(freq), os.sawtooth(freq) : ba.selectn(4, wave)) >> with{ >> wave = nentry("[0]Waveform", 0,0,3,1); >> freq = hslider("[1]freq", 440, 50, 2000, 0.01):si.smoo; >> }; >> filtfreq = hslider("[1]Filter freq", 220, 50, 15000, 0.01); >> filtgain = hslider("[2]Filter gain", 0, -72, 18, 0.1):si.smoo; >> process = waveGenerator : fi.peak_eq_cq(filtgain, filtfreq, 20) : >> dm.spectral_level_demo; >> //process = waveGenerator : dm.spectral_level_demo; >> //process = waveGenerator : fi.highpass( 4, filtfreq) : >> dm.spectral_level_demo; > > > > On Mon, Apr 22, 2019 at 2:42 PM Julius Smith <j...@ccrma.stanford.edu> wrote: >> >> To really see the frequency response, use an impulse input (1-1') >> instead of noise, the script faust2octave, and plot the FFT magnitude. >> Your first example looks as attached. >> >> Also put a slider on the boost/cut level. It is far easier to hear a >> boost than a cut,. >> >> - Julius >> >> On Sun, Apr 21, 2019 at 7:44 PM Gary Worsham <gary.wors...@gmail.com> wrote: >> > >> > My impression is that when boosting that there is dry signal mixed in and >> > when cutting, the entire spectrum is cut, not just the band in question. >> > >> > import("stdfaust.lib"); >> > waveGenerator = hgroup("[0]Wave Generator", no.noise, os.triangle(freq), >> > os.square(freq), os.sawtooth(freq) : ba.selectn(4, wave)) >> > with{ >> > wave = nentry("[0]Waveform", 0,0,3,1); >> > freq = hslider("[1]freq", 440, 50, 2000, 0.01); >> > }; >> > >> > process = waveGenerator : fi.peak_eq(-72, 3050, 200); >> > >> > Sounds almost completely cut off. -72 dB, center frequency 3050, BW = 200 >> > Hz cuts it completely off? >> > >> > I can hear the difference between these however. >> > >> > import("stdfaust.lib"); >> > waveGenerator = hgroup("[0]Wave Generator", no.noise, os.triangle(freq), >> > os.square(freq), os.sawtooth(freq) : ba.selectn(4, wave)) >> > with{ >> > wave = nentry("[0]Waveform", 0,0,3,1); >> > freq = hslider("[1]freq", 440, 50, 2000, 0.01); >> > }; >> > >> > process = waveGenerator : fi.peak_eq(18, 3050, 200); >> > >> > import("stdfaust.lib"); >> > waveGenerator = hgroup("[0]Wave Generator", no.noise, os.triangle(freq), >> > os.square(freq), os.sawtooth(freq) : ba.selectn(4, wave)) >> > with{ >> > wave = nentry("[0]Waveform", 0,0,3,1); >> > freq = hslider("[1]freq", 440, 50, 2000, 0.01); >> > }; >> > >> > process = waveGenerator : fi.peak_eq(18, 1750, 100); >> > >> > Just changing the frequency and BW of the filter with an 18 dB boost. It's >> > hard for me to tell if it's working properly or not. >> > >> > Thanks for any insight! >> > >> > GW >> > _______________________________________________ >> > Faudiostream-users mailing list >> > Faudiostream-users@lists.sourceforge.net >> > https://lists.sourceforge.net/lists/listinfo/faudiostream-users >> >> >> >> -- >> >> Julius O. Smith III <j...@ccrma.stanford.edu> >> Professor of Music and, by courtesy, Electrical Engineering >> CCRMA, Stanford University >> http://ccrma.stanford.edu/~jos/ > > _______________________________________________ > Faudiostream-users mailing list > Faudiostream-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/faudiostream-users -- Julius O. Smith III <j...@ccrma.stanford.edu> Professor of Music and, by courtesy, Electrical Engineering CCRMA, Stanford University http://ccrma.stanford.edu/~jos/ _______________________________________________ Faudiostream-users mailing list Faudiostream-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-users