ConvolverNode
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Das ConvolverNode
-Interface ist ein AudioNode
, das eine lineare Faltung auf einem gegebenen AudioBuffer
durchführt und häufig zur Erzielung eines Hall-Effekts verwendet wird. Ein ConvolverNode
hat immer genau einen Eingang und einen Ausgang.
Hinweis: Für weitere Informationen zur Theorie hinter der linearen Faltung siehe den Wikipedia-Artikel zur Faltung.
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 Instanz eines
ConvolverNode
-Objekts.
Instanz-Eigenschaften
Erbt Eigenschaften vom Elternteil AudioNode
.
ConvolverNode.buffer
-
Ein mono-, stereo- oder 4-Kanal-
AudioBuffer
, das das (möglicherweise mehrkanalige) Impulsantwortsignal enthält, das vomConvolverNode
zur Erzeugung des Hall-Effekts verwendet wird. ConvolverNode.normalize
-
Ein boolescher Wert, der steuert, ob die Impulsantwort aus dem Puffer bei der Einstellung des
buffer
-Attributs durch eine gleichwertige Leistungsverstärkung skaliert wird oder nicht.
Instanz-Methoden
Keine spezifische Methode; erbt Methoden vom Elternteil AudioNode
.
Beispiele
Das folgende Beispiel zeigt die grundlegende Verwendung eines AudioContext zum Erstellen eines Convolver-Knotens. Sie müssen ein Impulsantwortsignal finden, um das folgende Beispiel zu vervollständigen. Siehe unser Beispiel HolySpaceCow für ein vollständiges, 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 |