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.

EventTarget AudioNode ConvolverNode
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 vom ConvolverNode 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.

js
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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
ConvolverNode
ConvolverNode() constructor
buffer
normalize

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch