Spec-Zone.ru › Web APIs

ConvolverNode

Базовая Широко поддерживается

Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с апреля 2021 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Интерфейс ConvolverNode — это AudioNode, выполняющий линейную свёртку заданного AudioBuffer, часто используемого для создания эффекта реверберации. У ConvolverNode всегда ровно один вход и один выход.

Примечание: Для получения дополнительной информации о теории линейной свёртки см. статью Свёртка на Википедии.

EventTarget AudioNode ConvolverNode
Количество входов 1
Количество выходов 1
Режим количества каналов "clamped-max"
Количество каналов 1, 2, или 4
Интерпретация каналов "speakers"

Конструктор

ConvolverNode()

Создаёт новый экземпляр объекта ConvolverNode.

Свойства экземпляра

Наследует свойства от родительского класса, AudioNode.

ConvolverNode.buffer

Моно-, стерео- или 4-канальный AudioBuffer, содержащий импульсную характеристику (возможно, многоканальную), используемую ConvolverNode для создания эффекта реверберации.

ConvolverNode.normalize

Логическое значение, контролирующее, будет ли импульсная характеристика из буфера масштабироваться с помощью нормализации равной мощности, когда свойство buffer установлено, или нет.

Методы экземпляра

Нет специфических методов; наследует методы от родительского класса, AudioNode.

Пример ConvolverNode

Следующий пример демонстрирует базовое использование AudioContext для создания узла свёртки.

Примечание: Вам потребуется найти импульсную характеристику, чтобы завершить пример ниже. См. этот CodePen для примера применения.

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);

Спецификации

Спецификация
Web Audio API
# ConvolverNode

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
ConvolverNode 55 79 53 42 14.1 55 53 42 14.5 6.0 55
ConvolverNode 14 12 25 15 6 18 25 14 6 1.0 4.4.3
buffer 14 12 25 15 6 18 25 14 6 1.0 4.4.3
normalize 18 12 25 15 6 18 25 14 6 1.0 4.4.3

См. также

  • Использование API Web Audio

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ConvolverNode

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API