Comb Filtering
Define the discrete transfer function for a comb filter.
In[1]:=

combFilterModel[f_, \[Alpha]_, sr_: 44100] :=
TransferFunctionModel[{{1/( 1 - \[Alpha] z^-Round[sr/f])}}, z,
SamplingPeriod -> 1/sr]In[2]:=
combFilterModel[300, \[Alpha]]Out[2]=

Plot the transfer function using BodePlot.
In[3]:=

BodePlot[combFilterModel[300, -.9], {0, 20000},
ScalingFunctions -> {"Linear", Automatic}, PlotLayout -> "Magnitude",
ImageSize -> Medium]Out[3]=

Filter an audio object using RecurrenceFilter.
In[4]:=
a = AudioNormalize[Import["ExampleData/rule30.wav"]]In[5]:=
RecurrenceFilter[combFilterModel[300, -.9], a]
