Geonik's DF Filter

by George Nicolaidis


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


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 ->


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