Creating Nested allpass filters in sonicbirth

Official support for: sonicbirth.sourceforge.net
Post Reply New Topic
RELATED
PRODUCTS

Post

I have been experimenting with a variety of methods in an attempt to create nested allpass filters in sonicbirth, but I am not entirely satisfied with the results since so far my methods have involved using the 'feedback' element, which adds 10ms of additional delay which is not related to the allpass loop length and makes tuning difficult.

The sonicbirth Allpass is a combination of a feedforward comb and a feedback comb and is given as follows:

y(t) = a*x(t) + x(t-dly) - b*y(t-dly)

The allpass filter module features signal, a,b and delay inputs.

I would assume that "y" represents the output, and "x" the input.


Here is a depiction of that structure using the following equation:

Image

Image

The goal is to create a module that will allow a structure like the one in (a) below:

Image

I have created a nested allpass "subcircuit" using existing modules, but this required the 'feedback' element and it's added delay.

Is it possible to create a nested allpass in sonicbirth using 'equation' module, or because it requires delay lines does this need to be created at a sourcecode level?


Thanks for any thoughts....

Post

Hi zmix,

Unfortunately, unit based graphs are not available in the current release of SonicBirth. This prohibits you from introducing a single sample of delay at arbitrary points in the circuit. When rendering using the current model, all elements render a number of samples (i.e. 256). Because of this model, recursion, short feedback and other essentials of DSP are impossible. These unit delays and feedback can always be created within an element (i.e. the allpass filter receives input and output, and handles its feedback and memory use), but that is implemented in C/C++.

There are reasons for and against per unit rendering, its good because it would be a capability revolution at the circuit level, but the performance would suffer incredibly. I got into more detail on this subject here:
http://www.kvraudio.com/forum/viewtopic.php?t=262429

The feature could be added to SonicBirth, but it could make existing circuits unusable. I'd actually like to see this. I'll bring it up here (as a new post in the SB forum, when it is about time that we could address such a task) before going down that road.

J

Post Reply

Return to “SonicBirth”