API веб-аудио, как изменить хвосты реверберации, размер комнаты и другие переменные окружения

В API веб-аудио вы можете использовать узел свертки для создания эффекта реверберации. Затем вы можете смешать необработанную версию сигнала с полностью обработанной версией через узлы усиления, чтобы контролировать количество эффекта. Что я хотел бы знать, так это то, можно ли динамически изменять такие вещи, как длина хвоста реверберации и размер комнаты, и подход «наилучшей практики» для этого. Я предполагаю, что это будет связано с тем, что узел scriptProcessor и узел convolver каким-то образом будут работать вместе.


person William    schedule 17.11.2014    source источник


Ответы (1)


Гораздо более простой способ сделать это — сгенерировать новую импульсную характеристику реверберации (экспоненциальный спад шума работает как дешевая версия) и выполнять перекрестное затухание между узлами конвольвера при изменении импульсной характеристики (вы не можете напрямую изменить используемый IR). для одного узла без сбоев).

person cwilso    schedule 17.11.2014
comment
Сделав это таким образом, я просто поместил в свою голову образ огромной библиотеки импульсов, предназначенных для совместной работы как единой библиотеки, и все они хранятся в гигантском многомерном массиве с подстраивающимся алгоритмом для поиска наилучшего на основе комбинация значений, которую вводит пользователь. Мне любопытно, правильно ли я понимаю? - person William; 18.11.2014
comment
Как упомянул @cwilso, вы можете генерировать искусственные реверберационные отклики по мере необходимости, вместо того, чтобы заранее хранить их огромное количество. Недавно я запустил библиотеку с открытым исходным кодом, чтобы сделать это для вас. В нем по-прежнему отсутствует множество функций, которые я хотел бы добавить, но он работает и может сэкономить вам время. - person aldel; 18.11.2014
comment
Я неправильно понял его точку зрения. Я не знал, что вы можете динамически создавать ответы таким образом, как здесь. Я предположил, что когда он сказал генерировать новые ответы, он имел в виду вне веб-аудио API, а затем импортировать их. Отсюда мое замечание о гигантском многомерном массиве для их хранения :) - person William; 18.11.2014