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

Authors: Janne Halmkrona, Kai Lassfolk