IIRFilterNode

基线 广泛可用

此功能已完善,可在许多设备和浏览器版本上运行。它自以下版本起在所有浏览器中均可用 2021 年 4 月.

Web Audio API 的IIRFilterNode 接口是一个AudioNode 处理器,它实现了一个通用的无限脉冲响应 (IIR) 滤波器;这种类型的滤波器也可用于实现音调控制设备和图形均衡器。它允许指定滤波器响应的参数,以便根据需要进行调整。

EventTarget AudioNode IIRFilterNode
输入数量 1
输出数量 1
通道数模式 "max"
通道数 与输入相同
通道解释 "speakers"

通常,最好使用BiquadFilterNode 接口来实现高阶滤波器。有几个原因

  • 双二次滤波器通常对数字异常不太敏感。
  • 双二次滤波器的滤波器参数可以自动化。
  • 所有偶数阶 IIR 滤波器都可以使用BiquadFilterNode 创建。

但是,如果您需要创建奇数阶 IIR 滤波器,则需要使用 IIRFilterNode。如果您不需要自动化或出于其他原因,您也可能会发现此接口很有用。

注意:创建节点后,您无法更改其系数。

IIRFilterNode 具有尾部时间参考;它们在零输入时继续输出非静音音频。作为 IIR 滤波器,非零输入将永远持续下去,但在实践中,当输出已足够接近零时,可以在一段时间后限制此输入。所需的确切时间取决于提供的滤波器系数。

构造函数

IIRFilterNode()

创建 IIRFilterNode 对象的新实例。

实例属性

此接口本身没有属性;但是,它继承了其父级AudioNode 的属性.

实例方法

继承自其父级AudioNode 的方法。它还具有以下附加方法

getFrequencyResponse()

使用滤波器的当前参数设置来计算在提供的频率数组中指定的频率的响应。

示例

您可以在 Codepen 上找到一个简单的 IIR 滤波器演示在线。另请参阅GitHub 上的源代码。它包含一些用于不同低通频率的不同系数值——您可以将 filterNumber 常量的值更改为 0 到 3 之间的值以查看不同的可用效果。

另请参阅我们的使用 IIR 滤波器 指南以获取完整说明。

规范

规范
Web Audio API
# IIRFilterNode

浏览器兼容性

BCD 表仅在浏览器中加载

另请参阅