Wolfram 语言

计算音频

梳状滤波

为梳状滤波器定义一个离散传递函数.

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

BodePlot 绘制传递函数图形.

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

RecurrenceFilter 对音频对象滤波.

In[4]:=
Click for copyable input
a = AudioNormalize[Import["ExampleData/rule30.wav"]]
Out[4]=
In[5]:=
Click for copyable input
RecurrenceFilter[combFilterModel[300, -.9], a]
Out[5]=

相关范例

de en es fr ja ko pt-br ru