AudioContext.createConvolver()

AudioContextインターフェースのcreateConvolver()メソッドは、音声にリバーブ効果などを適用するConvolverNodeを生成します。詳細はspec definition of Convolutionを参照してください。

構文

var audioCtx = new AudioContext();
var convolver = audioCtx.createConvolver();

戻り値

ConvolverNode

次の例は畳み込みノードを生成する基礎的なAudioContextの使い方を示しています。まず、畳み込み(インパルス応答)が適用される音声が書き込まれたAudioBufferを生成し、そしてそれに畳み込みを適用します。例ではコンサートホールの群集の短い音声を使っていて、深く音響したリバーブ効果がかかっています。

例と情報の応用は、Voice-change-O-maticデモ(ソースコード)をチェックしてください。

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 Status Comment
Web Audio API
createConvolver() の定義
草案  

ブラウザ互換性

BCD tables only load in the browser

参考