IIRFilterNode

Baseline 已廣泛支援

此特性已得到良好支援,可在多種裝置和瀏覽器版本上使用。自 2021 年 4 月起,所有瀏覽器均已支援此特性。

Web Audio API 中的 IIRFilterNode 介面是一個 AudioNode 處理器,它實現了一個通用的無限衝激響應 (IIR) 濾波器;這類濾波器也可用於實現音調控制裝置和圖形均衡器。它允許指定濾波器的響應引數,以便根據需要進行調整。

EventTarget AudioNode IIRFilterNode
輸入數量 1
輸出數量 1
通道計數模式 "max"
聲道數 與輸入端相同
通道解釋 “speakers”

通常,最好使用 BiquadFilterNode 介面來實現高階濾波器。有幾個原因:

  • 雙二階濾波器通常對數值的微小變化不太敏感。
  • 雙二階濾波器的濾波器引數可以被自動化。
  • 所有偶數階 IIR 濾波器都可以使用 BiquadFilterNode 建立。

但是,如果您需要建立奇數階 IIR 濾波器,則需要使用 IIRFilterNode。如果您不需要自動化,或者出於其他原因,您也可能會發現此介面很有用。

注意:一旦節點被建立,您就無法更改其係數。

IIRFilterNodes 具有一個尾部時間參考;它們會持續輸出非靜音的音訊,即使輸入為零。作為 IIR 濾波器,非零輸入會永遠持續下去,但在實際應用中,當輸出足夠接近零時,可以將其限制在某個有限時間內。實際需要的時間取決於提供的濾波器係數。

建構函式

IIRFilterNode()

建立一個新的 IIRFilterNode 物件例項。

例項屬性

此介面本身沒有屬性;但是,它繼承了其父介面 AudioNode 的屬性。.

例項方法

繼承了其父介面 AudioNode 的方法。它還具有以下附加方法:

getFrequencyResponse()

使用濾波器當前的引數設定,為提供的頻率陣列中指定的頻率計算響應。

示例

您可以找到一個簡單的 IIR 濾波器演示。還可以檢視GitHub 上的原始碼。它包含了一些針對不同低通頻率的係數,您可以更改 filterNumber 常量的值(在 0 和 3 之間)來檢視不同的可用效果。

還可以參閱我們的使用 IIR 濾波器指南以獲得完整的解釋。

規範

規範
Web Audio API
# IIRFilterNode

瀏覽器相容性

另見