[PD] Re: allpass~ and phase shifting

Stefan Turner stefan_turner at yahoo.co.uk
Sat Apr 10 16:49:50 CEST 2004


Thanks for the help. I will have a look at biquad~ and
start learning some theory! Out of interest, does
anyone know what is allpass~ for and why it has a gain
control?

Cheers
Stefan


Hi Stefan:

The term "allpass" refers to a filter that has a gain
of 1 for all
frequencies. There are lots of topologies (first
order, second order,
lattice), but the main types you will encounter in
computer music are 
as
follows:

- Delay-based allpasses, where the allpass filter
contains a delay line 
with
a large number of samples. These are usually used in
reverb 
construction.
- Lower-order filter allpasses, such as first-order
and second-order
allpasses. These are less common in computer music
languages. Csound 
has
them (phaser1 and phaser2 - I programmed them a few
years back), and 
MAX/MSP
has a 2nd order allpass (called phaseshift~). Usually,
several of these 
are
arranged in series, and the output of the series is
mixed with the 
input
signal to produce the classic phase shifting effect.

I am not sure if anyone has programmed first or second
order allpasses 
for
PD. You can definitely use biquad~ to obtain a
2nd-order allpass 
response.
For that matter, you could get 2 first order allpasses
out of biquad~ 
as
well - you need to multiply together the transfer
functions to get the
proper coefficients.

The one issue with using biquad~ (or phaseshift~, for
that matter), is 
that
the classic analog phase shifter uses a bunch of first
order sections 
in
series, with feedback around the entire network. The
feedback needs to 
have
a vector size of 1 to sound correct, while the filter
coefficients do 
not
necessarily have to be computed at the sampler (they
can be computed at 
a
slower rate).

Sean Costello


	
	
		
____________________________________________________________
Yahoo! Messenger - Communicate instantly..."Ping" 
your friends today! Download Messenger Now 
http://uk.messenger.yahoo.com/download/index.html




More information about the Pd-list mailing list