Geonik's DF Filter

by George Nicolaidis

Description

The Dobson and Fitch Filter is a non-linear filter based on the equation Y{n} =a Y{n-1} + b Y{n-2} + d Y^2{n-L} + X{n). It can be used to create interesting sounds from any input. All the filter coefficients a, b, d and C, here referenced as Alpha, Beta, Delta and C, are adjustable.

What's new

Release 1 | Initial release

Usage

Using the filter is as simple as setting the filter coefficients. CSound includes some examples of usage of the DF Filter

    - - - CSound - >

> i) Non-linear effect:

>             a = b = 0
>             d = 0.8, 0.9, 0.7
>             C = 0.4, 0.5, 0.6
>             L = 20

> This affects the lower register most but there are audible effects over the whole range. We suggest that it may be useful for colouring drums, and for adding arbitrary highlights to notes

> ii) Low Pass with non-linear:

>             a = 0.4
>             b = 0.2
>             d = 0.7
>             C = 0.11
>             L = 20, ... 200

> There are instability problems with this variant but the effect is more pronounced of the lower register, but is otherwise much like the pure comb. Short values of L can add attack to a sound.

> iii) High Pass with non-linear: The range of parameters are

>             a = 0.35
>             b = -0.3
>             d = 0.95
>             C = 0,2, ... 0.4
>             L = 200

> iv) High Pass with non-linear: The range of parameters are

>             a = 0.7
>             b = -0.2, ... 0.5
>             d = 0.9
>             C = 0.12, ... 0.24
>             L = 500, 10

> The high pass version is less likely to oscillate. It adds scintillation to medium-high registers. With a large delay L it is a little like a reverberation, while with small values there appear to be formant-like regions. There are arbitrary colour changes and resonances as the pitch changes. Works well with individual notes.

> Warning: The "useful" ranges of parameters are not yet mapped.

    - - - /CSound ->

Notes

I found this filter into CSound and wanted to try it. Be careful when playing with the coefficients, especially Beta. Certain combinations of values make the filter unstable in such a way that sounds stops passing through. In case this happens, 1) Set Alpha and Beta near zero 2) Decrease the level of the input 2) Raise C and then lower it again slowly. It is very important that the input sound doesn't exceed the standard 16bit amplitude. If you hear digital distortion, then your input's volume is too loud.

Contact Information

Author | George Nicolaidis aka Geonik
Email | geonik@egnatia.ee.auth.gr
HomePage | http://egnatia.ee.auth.gr/~geonik/home