Delay Based Comb Filters

01%20PM

Comb Filters

This is a pair of delay based comb filters. One is in a feed-forward configuration and the other is a feed-back. Both versions have a notch spacing and depth control. The feed-forward unit has broad peaks and narrow notches and the feed-back unit has narrow peaks and broad notches. The feedback version is pretty resonant at high depths:


I/O

Input Signal Range Notes
audio in -1 to 1 audio signal

Output Signal Range Notes
audio out -1 to 1 audio signal

Controls

Control Function Notes
Notch Freq. notch spacing in Hz

Displays

Meter Displays Notes
notch frequency displays the notch spacing in Hz


Version History

Revision File Date Notes
1.0 comb filters.audulus (44.3 KB) 03/30/2019 initial upload
2.0 comb filters V2.0.audulus (103.2 KB) 04/01/2019 added tanh() and tan() with z-1 models
6 Likes

Woah! nice work!

1 Like

They’re really the simplest filters I’ve built. The feedback version can sound pretty gnarly when the depth is close to one. @Taylor confirmed that the delay node should be able to go down to single sample ranges. I clamped the depth input at -1 to 1 since the feedback version becomes unstable with gain > 1. Might be worth inserting a saturator in the feedback loop and running up the gain. (use a cheap pair of headphones just in case.)

3 Likes

Totally. I think I should be possible to make a comb filter synth voice like you can on the octatrack, no? Sort of like a karplus-strong voice but you can have slow attacks and whatnot.

2 Likes

Here’s a version of the feed-back comb with a tanh() saturator in the feedback loop. I changed the max depth (feedback gain) to 2 but the saturator limits it so the filter doesn’t become unstable. The filter will self oscillate so you can get some nice dissonance with it. Feel free to replace the saturator with something else but it is advisable to keep the overall feedback gain between -1 and 1.
tanh() comb filter.audulus (31.5 KB)

5 Likes

Here’s one with tanh() and a unit delay in the feedback loop. The self oscillation sounds different, particularly at low frequency notch spacing. It’s pretty sensitive to the depth setting. The knob is set to range from 0 to 2 so anything above halfway is saturating.
tanh() comb filter with z-1.audulus (31.8 KB)

4 Likes

Sweeeeeeet!

1 Like

I bundled the tanh() and tanh() z-1 models into the download.

2 Likes