IIRFilterNode
Базовая Широко доступная
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с апреля 2021 года.
Интерфейс IIRFilterNode API веб-аудио представляет собой процессор AudioNode, реализующий общий фильтр с бесконечной импульсной характеристикой (IIR); этот тип фильтра может использоваться для реализации устройств управления тоном и графических эквалайзеров. Он позволяет задать параметры отклика фильтра, чтобы настроить его по необходимости.
| Количество входов | 1 |
|---|---|
| Количество выходов | 1 |
| Режим количества каналов | "max" |
| Количество каналов | То же, что и на входе |
| Интерпретация каналов | "speakers" |
Обычно для реализации фильтров более высокого порядка лучше использовать интерфейс BiquadFilterNode. Причин несколько:
- Фильтры Биквадратичные обычно менее чувствительны к численным особенностям.
- Параметры фильтрации биквадратичных фильтров можно автоматизировать.
- Все IIR-фильтры чётного порядка можно создать с помощью
BiquadFilterNode.
Однако, если вам нужно создать IIR-фильтр нечётного порядка, вам потребуется использовать IIRFilterNode. Этот интерфейс также может быть полезен, если вам не требуется автоматизация или по другим причинам.
Примечание: После создания узла вы не можете изменить его коэффициенты.
IIRFilterNode имеют временную отметку хвоста; они продолжают выводить аудио, отличное от тишины, при нулевом входе. Как фильтр IIR, вход, отличный от нуля, продолжается вечно, но на практике это может быть ограничено после некоторого конечного времени, когда выход достаточно близко приблизится к нулю. Фактическое время зависит от предоставленных коэффициентов фильтра.
Конструктор
IIRFilterNode()-
Создаёт новый экземпляр объекта IIRFilterNode.
Свойства экземпляра
У этого интерфейса нет собственных свойств; однако, он наследует свойства от родителя, AudioNode.
Методы экземпляра
Наследует методы от родителя, AudioNode. Также имеет следующие дополнительные методы:
getFrequencyResponse()-
Использует текущие параметры фильтра для расчёта отклика для частот, указанных в предоставленном массиве частот.
Примеры
Вы можете найти демонстрацию простого фильтра IIR в режиме реального времени на CodePen. Также смотрите исходный код на GitHub. Он включает в себя различные значения коэффициентов для разных низкочастотных фильтров — вы можете изменить значение константы filterNumber на значение от 0 до 3, чтобы проверить различные эффекты.
Также ознакомьтесь с нашим руководством Использование фильтров IIR для получения полного объяснения.
Спецификации
| Спецификация |
|---|
| Web Audio API # IIRFilterNode |
Совместимость с браузерами
| Десктоп | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
IIRFilterNode |
55 | 79 | 53 | 42 | 14.1 | 55 | 53 | 42 | 14.5 | 6.0 | 55 |
IIRFilterNode |
49 | 14 | 50 | 36 | 14.1 | 49 | 50 | 36 | 14.5 | 5.0 | 49 |
getFrequencyResponse |
49 | 14 | 50 | 36 | 14.1 | 49 | 50 | 36 | 14.5 | 5.0 | 49 |
См. также
© 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/IIRFilterNode