Delay Based Comb Filters


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:


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

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


Control Function Notes
Notch Freq. notch spacing in Hz


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

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


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.


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)


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)



1 Like

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