[chuck-users] allpass filter/delay
heuermh at gmail.com
Tue Jan 8 14:54:27 EST 2013
On Tue, Jan 8, 2013 at 1:09 PM, Kassen <signal.automatique at gmail.com> wrote:
> On Tue, Jan 08, 2013 at 12:09:02PM -0600, Michael Heuer wrote:
>> I can't help but think that if I could figure out the notation of say
>> Moorer's Figure 2.30 above to the point where I might translate into
>> higher level ChucK delays, gains, and filters I could get lost for
>> several hours making strange reverbs in Chuck instead. Can anyone
>> help me get started?
> Sure, for that diagram;
> x(n) is your input signal
> The "+" signs in the circles are points at which signals get summed
> v(n) is the signal that enters the delay, it is a sum of x(n) and the
> delay's output.
> The rectangular block is a delay of M samples length. When DSP people
> write "z-1" they are referring to the last sample (typically the last
> output of the system). Pronounce; "z minus 1". Why do they write it up
> high like it were taking the "-1th power"? I don't know. Maybe they
> just want to make it all hard to read to make themselves seem smart,
> maybe they just copy each other ;-) y(n) is the output signal (which
> we hear).
> b0 is the amount of feedforward; basically the amount of v(n) that
> ends up in the output. "b" indices are feedforward, b0 means the
> signal 0 samples ago.
> -aM is the amount of (negative) feedback from the delayed signal. a
> indices are as you might guess feedback, this is the output signal M
> samples ago. Note that our filters also have member functions like
> .a1(), .b0(), etc. Those are like this.
ok, me being niave:
Gain x => Gain v => Gain b => Gain y;
in => Delay z => Gain postZ => y;
postZ => Gain a => v;
adc => x;
y => dac;
0.25 => b.gain;
-0.25 = a.gain;
> [E]xperiments with feedback can and will lead to loud accidents, prepare
> for that. Of course they are also a LOT of fun, be careful, not discouraged :-)
Yep, that is what I'm going for. Thank you, Kas.
More information about the chuck-users