ConvolverNode
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.
Das ConvolverNode
-Interface ist ein AudioNode
, das eine Lineare Faltung auf einem gegebenen AudioBuffer
durchführt, häufig verwendet, um einen Hall-Effekt zu erzielen. Ein ConvolverNode
hat immer genau einen Eingang und einen Ausgang.
Hinweis: Für weitere Informationen zur Theorie hinter der Linearen Faltung siehe den Artikel zur Faltung auf Wikipedia.
Anzahl der Eingänge | 1 |
---|---|
Anzahl der Ausgänge | 1 |
Kanalanzahlmodus | "clamped-max" |
Kanalanzahl | 1 , 2 , oder 4 |
Kanalauslegung | "speakers" |
Konstruktor
ConvolverNode()
-
Erstellt eine neue
ConvolverNode
-Objektinstanz.
Instanzeigenschaften
Erbt Eigenschaften von seinem Elternteil, AudioNode
.
ConvolverNode.buffer
-
Ein mono, stereo oder 4-Kanal
AudioBuffer
, der die (möglicherweise mehrkanalige) Impulsantwort enthält, die vomConvolverNode
verwendet wird, um den Hall-Effekt zu erzeugen. ConvolverNode.normalize
-
Ein Boolean, der steuert, ob die Impulsantwort aus dem Buffer durch eine Gleichleistungsnormalisierung skaliert wird, wenn das
buffer
-Attribut gesetzt wird oder nicht.
Instanzmethoden
Keine spezifische Methode; erbt Methoden von seinem Elternteil, AudioNode
.
ConvolverNode Beispiel
Das folgende Beispiel zeigt die grundlegende Verwendung eines AudioContext, um einen Convolver-Node zu erstellen.
Hinweis: Sie müssen eine Impulsantwort finden, um das untenstehende Beispiel zu vervollständigen. Siehe diesen CodePen für ein angewandtes Beispiel.
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 -> destination
someOtherAudioNode.connect(reverb);
reverb.connect(audioCtx.destination);
Spezifikationen
Specification |
---|
Web Audio API # ConvolverNode |
Browser-Kompatibilität
BCD tables only load in the browser