BaseAudioContext.createConvolver()

createConvolver()BaseAudioContext インターフェイスのメソッドで、 ConvolverNode を生成します。これは一般に音声にリバーブ効果を適用するために使用されます。詳しくは畳み込み効果の仕様定義 を参照してください。

メモ: ConvolverNode() (en-US) コンストラクターは ConvolverNode を作成するための推奨される方法です。 AudioNode の作成を参照してください。

構文

js
createConvolver();

引数

なし。

返値

ConvolverNode です。

次の例は、畳み込みノードを作成するための AudioContext の基本的な使用方法を示しています。大前提として、畳み込み効果を形成するアンビエンスとして使用するサウンドサンプル(インパルスレスポンスと呼ばれます)を含む AudioBuffer を作成し、それを畳み込みに適用します。下の例では、コンサートホールの観客の短いサンプルを使っているので、適用されるリバーブ効果はとても深く、エコーがかかっているようです。

応用例や情報については、 Voice-change-O-matic デモを参照してください(関連コードは app.js を参照してください)。

js
var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
var convolver = audioCtx.createConvolver();

  ...

// XHR で畳み込みノードのための音声トラックを得る

var soundSource, concertHallBuffer;

ajaxRequest = new XMLHttpRequest();
ajaxRequest.open('GET', 'concert-crowd.ogg', true);
ajaxRequest.responseType = 'arraybuffer';

ajaxRequest.onload = function() {
  var audioData = ajaxRequest.response;
  audioCtx.decodeAudioData(audioData, function(buffer) {
      concertHallBuffer = buffer;
      soundSource = audioCtx.createBufferSource();
      soundSource.buffer = concertHallBuffer;
    }, function(e){"Error with decoding audio data" + e.err});
}

ajaxRequest.send();

  ...

convolver.buffer = concertHallBuffer;

仕様書

Specification
Web Audio API
# dom-baseaudiocontext-createconvolver

ブラウザーの互換性

BCD tables only load in the browser

関連情報