IIRFilterNode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

IIRFilterNodeウェブオーディオ API のインターフェイスで、AudioNode プロセッサーであり、一般の 無限インパルス応答 (IIR) フィルターを実装します。この種類のフィルターは、トーンコントロール機器やグラフィックイコライザーを実装するためにも使用することができます。フィルター応答の引数を指定しますので、必要に応じてチューニングすることができます。

EventTarget AudioNode IIRFilterNode
入力数 1
出力数 1
チャンネルカウントモード "max"
チャンネルカウント 入力と同じ
チャンネル補間 "speakers"

一般的に、高次フィルターを実装するためには BiquadFilterNode インターフェイスを使用するのが最適です。それにはいくつかの理由があります:

  • バイカッドフィルターは、一般的に数値の変化にあまり敏感ではない。
  • バイカッドフィルターのフィルター引数は自動化できる。
  • 偶数次 IIR フィルターはすべて BiquadFilterNode を使用して作成することができる。

しかし、奇数順の IIR フィルターを作成する必要がある場合は、IIRFilterNodeを使用する必要があります。また、自動化を使用しない場合や、他にもこのインターフェイスが有益であることが分かるかもしれません。

メモ: ノードが作成されると、その係数を変更することはできません。

IIRFilterNode はテールタイム参照があります。入力がゼロでも静音でない音声を出力し続けます。IIR フィルターとして、ゼロでない入力が永遠に続き、出力が十分にゼロに近づいたとき、これは実際にはある有限の時間の後に制限することができます。実際にかかる時間は、指定されたフィルター係数に依存します。

コンストラクター

IIRFilterNode()

IIRFilterNode オブジェクトの新しいインスタンスを作成します。

インスタンスプロパティ

このインターフェイスに独自プロパティはありません。プロパティを親である AudioNode から継承しています

インスタンスメソッド

メソッドを親である AudioNode から継承しています。加えて以下のメソッドもあります。

getFrequencyResponse()

フィルターの現在のパラメーターの設定を用いて、提供された周波数の配列で指定された周波数のレスポンスを計算します。

単純な IIR フィルターのデモをライブで Codepen で見ることができます。また、GitHub でソースコードも参照してください。様々なローパス周波数に対して様々な係数の値を含めることができます。定数 filterNumber の値を 0 から 3 の間の値に変更して、利用できる効果を調べることができます。

また、詳しい説明は、IIR フィルターの使用 ガイドをご覧ください。

仕様書

Specification
Web Audio API
# IIRFilterNode

ブラウザーの互換性

BCD tables only load in the browser

関連情報