IIRFilterNode - 表示通用的无限脉冲响应 (IIR)过滤器

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

输入数量 1
输出数量 1
通道计数模式 "max"
通道数 1 和输入一样
通道解释 "speakers"

通常,最好使用 BiquadFilterNode 接口来实现更高阶的过滤器。原因有以下几点:

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

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

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

IIRFilterNode 有一个尾部时间参考;它们继续以零输入输出非静音音频。作为 IIR 滤波器,它会永远持续输入非零,但在实际中经过一段有限时间后,当输出接近零时,它可能会受到限制。所需的实际时间取决于所提供的滤波器系数。

构造函数

IIRFilterNode()

创建 IIRFilterNode 对象的新实例。

属性

此接口没有自己的属性; 但是,它从其父接口 AudioNode 继承了属性。

方法

从其父接口 AudioNode 继承了方法。它还有以下附加方法:

getFrequencyResponse()

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

实例

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

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

规范

规范 状态 备注
Web Audio API
IIRFilterNode 的定义
工作草案 初始定义

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持49 支持50 不支持36 未知
IIRFilterNode() 构造函数551 未知53 不支持42 未知
getFrequencyResponse49 支持50 不支持36 未知

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持4949 支持50 未知36 未知
IIRFilterNode() 构造函数551551 未知53 未知42 未知
getFrequencyResponse4949 支持50 未知36 未知

1. 在版本 59 之前,不支持默认值。

相关链接