SPKitAllPassNetwork


User's Guide

SPkitAllPassNetwork is an implementation of an allpass network (a.k.a. allpass filter) as documented by F. Richard Moore in (Moore 1990:381). The internal configuration is illustrated below.


The parts of a comb filter represent instances of following classes:

A complete digital revererator can be built by interconnecting several unit reverberators like comb filters and allpass networks(see SPKitSchroederReverb).


Programmer's Reference

Defined in <spkit/allpassn.h>
Inherits from SPKitProcessor

SPKitAllPass defines a setInputAndDelayTime () function, which must be used instead of the standard SPKitProcessor::setInput() function. This connects and initializes the objects that make up the allpass network. A setReverbTime() function is defined for setting reverberation time (reverbTime). A function named setG() is defined as an alternative to setReverbTime() for setting the amplification factor g. The allpass network layout (in the picture above) shows the use of g.

Public Members

int setInputAndDelayTime (SPKitProcessor* newInput, SPKitFloat delayTime)
connect an object to its input, initialize it and set up the comb filter. Set the delay time of delay object to delayTime.

Calls SPKitProcessor::setInput().

void setReverbTime (SPKitFloat value)
set reverbTime to value

setReverbTime() calculates an amplification factor g

void setG(SPKitFloat value)
sets g to value and calculates reverbTime.

Protected Members

SPKitFloat reverbTime
reverberation time i.e. the time it takes for a sound to die away (to approx. 1/1000th of the original amplitude)
SPKitFloat delayTime
time taken to circulate once through delay
SPKitFloat g
amplitude factor
SPKitFeedback feedback
a feedback object
SPKitFBDelay delay
a feedback delay object
SPKitAmp amp1
an amp object
SPKitAmp amp2
an amp object
SPKitAmp amp3
an amp object
SPKitMux mux1
a multiplexer object
SPKitMux mux2
a multiplexer object
SPKitMux sum
a sum object

Return to SPKit home

Kai Lassfolk / University of Helsinki / kpl@elisir.helsinki.fi
Janne Halmkrona / University of Helsinki / Janne.Halmkrona@helsinki.fi