Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
ConvolverNode
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
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
| Spezifikation |
|---|
| Web Audio API> # ConvolverNode> |
Browser-Kompatibilität
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.