ConvolverNode
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 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 vomConvolverNodezur 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> |
Browser-Kompatibilität
Loading…