ConvolverNode: normalize-Eigenschaft

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.

Die normalize-Eigenschaft des ConvolverNode-Interfaces ist ein Boolean, der steuert, ob die Impulsantwort aus dem Puffer durch eine Gleichleistungs-Normalisierung skaliert wird, wenn das buffer-Attribut gesetzt ist oder nicht.

Der Standardwert ist true, um ein gleichmäßigeres Ausgangsniveau des Convolvers zu erreichen, wenn dieser mit unterschiedlichen Impulsantworten geladen wird. Wenn normalize auf false gesetzt wird, wird die Faltung ohne Vorverarbeitung/Skalierung der Impulsantwort wiedergegeben. Änderungen an diesem Wert wirken sich erst das nächste Mal aus, wenn das buffer-Attribut gesetzt wird.

Wert

Ein Boolean.

Beispiele

Normalisierung ausschalten

Das folgende Beispiel erstellt einen Convolver-Node und weist ihm einen AudioBuffer zu. Bevor der Audio-Puffer zugewiesen wird, wird normalize auf false gesetzt.

js
const audioCtx = new AudioContext();
// …

const convolver = audioCtx.createConvolver();
// …

// Grab audio track via fetch() for convolver node
try {
  const response = await fetch(
    "https://mdn.github.io/voice-change-o-matic/audio/concert-crowd.ogg",
  );
  const arrayBuffer = await response.arrayBuffer();
  const decodedAudio = await audioCtx.decodeAudioData(arrayBuffer);
  convolver.normalize = false; // must be set before the buffer, to take effect
  convolver.buffer = decodedAudio;
} catch (error) {
  console.error(
    `Unable to fetch the audio file: ${name} Error: ${err.message}`,
  );
}

Spezifikationen

Specification
Web Audio API
# dom-convolvernode-normalize

Browser-Kompatibilität

Siehe auch