> a) what does the bandwidth measure here?  It's certainly not the - 3 dB 
> points.

You should always check the code and the references it cites.  Let me
know if you have any questions after doing that.

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

Reply via email to