--- title: AudioContext.createConvolver() slug: Web/API/BaseAudioContext/createConvolver translation_of: Web/API/BaseAudioContext/createConvolver original_slug: Web/API/AudioContext/createConvolver ---
{{ APIRef("Web Audio API") }}
{{ domxref("AudioContext") }}インターフェースのcreateConvolver()
メソッドは、音声にリバーブ効果などを適用する{{ domxref("ConvolverNode") }}を生成します。詳細はspec definition of Convolutionを参照してください。
var audioCtx = new AudioContext(); var convolver = audioCtx.createConvolver();
{{domxref("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 |
---|---|---|
{{SpecName('Web Audio API', '#widl-AudioContext-createConvolver-ConvolverNode', 'createConvolver()')}} | {{Spec2('Web Audio API')}} |
{{Compat("api.BaseAudioContext.createConvolver")}}