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