このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
ConvolverNode
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
ConvolverNode はAudioNode の一種で、与えられたAudioBuffer を用いて線形畳み込みを行います。リバーブの実装によく用いられます。ConvolverNode は常に 1 つの入力と、1 つの出力を持ちます。
メモ:線形畳み込みの理論的な側面については、Wikipedia の「畳み込み」を参照してください。
| 入力数 | 1 |
|---|---|
| 出力数 | 1 |
| チャンネルカウントモード | "clamped-max" |
| チャンネル数 | 1,2,4 |
| チャンネルの解釈 | "speakers" |
In this article
コンストラクター
ConvolverNode()ConvolverNodeオブジェクトの新しいインスタンスを生成します。
プロパティ
親であるAudioNode からプロパティを継承しています。
ConvolverNode.bufferモノラル、ステレオ、 4 チャンネルの
AudioBufferで、ConvolververNodeがリバーブ効果を生成するために使用する(おそらくマルチチャンネルの)インパルス応答を含みます。ConvolverNode.normalize論理値で、
buffer属性が設定されているときに、バッファーからのインパルス応答を等力正規化でスケーリングするかどうかを制御します。
メソッド
固有のメソッドはありません。親であるAudioNode からメソッドを継承しています。
ConvolverNode の例
次の例は、コンボルバーノードを作成するための AudioContext の基本的な使い方を示しています。
メモ:以下の例を完成させるために、インパルス応答を求める必要があります。応用例はこちらのCodepen をご覧ください。
let audioCtx = new window.AudioContext();async function createReverb() { let convolver = audioCtx.createConvolver(); // load impulse response from file let response = await fetch("path/to/impulse-response.wav"); let arraybuffer = await response.arrayBuffer(); convolver.buffer = await audioCtx.decodeAudioData(arraybuffer); return convolver;}...let reverb = await createReverb();// someOtherAudioNode -> reverb -> destinationsomeOtherAudioNode.connect(reverb);reverb.connect(audioCtx.destination);仕様書
| Specification |
|---|
| Web Audio API> # ConvolverNode> |