Spec-Zone.ru › Web APIs

BaseAudioContext: метод createWaveShaper()

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

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

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

Метод createWaveShaper() интерфейса BaseAudioContext создаёт узел искажения WaveShaperNode. Он используется для применения эффектов искажения к аудиосигналу.

Примечание: Рекомендуется использовать конструктор WaveShaperNode() для создания узла WaveShaperNode; см. Создание AudioNode.

Синтаксис

createWaveShaper()

Параметры

Нет.

Возвращаемое значение

Узел WaveShaperNode.

Примеры

В следующем примере показано базовое использование AudioContext для создания узла волнового преобразования. Для более полных примеров применения/информации обратитесь к нашему демо Voice-change-O-matic (см. app.js, строки 108–193 для соответствующего кода).

Примечание: Сигмоидные функции часто используются для кривых искажения из-за их естественных свойств. Например, их S-образная форма помогает создавать более плавный звук. Мы нашли приведенный ниже код кривой искажения на Stack Overflow.

const audioCtx = new AudioContext();
const distortion = audioCtx.createWaveShaper();

// …

function makeDistortionCurve(amount) {
  const k = typeof amount === "number" ? amount : 50;
  const n_samples = 44100;
  const curve = new Float32Array(n_samples);
  const deg = Math.PI / 180;

  for (let i = 0; i < n_samples; i++) {
    const x = (i * 2) / n_samples - 1;
    curve[i] = ((3 + k) * x * 20 * deg) / (Math.PI + k * Math.abs(x));
  }
  return curve;
}

// …

distortion.curve = makeDistortionCurve(400);
distortion.oversample = "4x";

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

Спецификация
Web Audio API
# dom-baseaudiocontext-createwaveshaper

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
createWaveShaper 15 12 25 15 6 18 25 14 6 1.0 4.4.3

См. также

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

© 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/BaseAudioContext/createWaveShaper

Spec-Zone.ru

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