Аудио фазовращатель Используя многополосный параметрический эквалайзер

В этом примере показано, как реализовать аудио эффект "фазовращателя" в реальном времени, который может быть настроен пользовательским интерфейсом (UI). Это также показывает, как сгенерировать плагин VST для фазовращателя, который можно импортировать в Цифровую звуковую рабочую станцию (DAW).

Введение

Фазовращатель является звуковым эффектом, произведенным, когда звуковой сигнал передается через один или несколько фильтров метки. Центральные частоты фильтров метки обычно модулируются на некотором сопоставимом уровне, чтобы произвести "скручивающийся" эффект на аудио. Источник модуляции обычно является низкочастотным генератором, таким как синусоида. Различные формы формы волны создают различные эффекты фазовращателя.

Можно использовать любой звуковой файл с этим примером. Однако эффект фазировки является более слышимым с некоторыми звуковыми файлами, чем с другими. Файлом, который предлагается для этого примера, является RockGuitar-16-44p1-stereo-72secs.wav. Другая опция должна использовать розовый источник шума вместо файла.

Этот пример использует audiopluginexample.Phaser аудио сменный класс. Плагин реализует фильтр мультиметки с частотами метки, модулируемыми audioOscillator. Фильтр мультиметки реализуется через multibandParametricEQ Системный объект. Полосы эквалайзера могут быть заставлены действовать как отдельные фильтры метки путем установки их усиления на -inf.

Протестируйте фазовращатель

Можно протестировать фазовращатель, реализованный в audiopluginexample.Phaser использование Audio Test Bench. Аудио испытательный стенд настраивает считывающее устройство звукового файла и объекты средства записи аудио устройства, и передает аудио потоком через фазовращатель в цикле обработки.

Инициализируйте фазовращатель и визуализируйте его ответ величины.

phaser = audiopluginexample.Phaser;
visualize(phaser)

Запустите Audio Test Bench.

audioTestBench(phaser)

Audio Test Bench позволяет вам настроить аудио фазовращатель с помощью ползунков и выпадающих меню. Изменение ползунка или выпадающих значений обновляет график отклика величины фазовращателя в режиме реального времени.

Эти четыре ползунка:

  • Уровень - Средства управления уровень, на котором центральная частота метки фильтрует развертку вверх и вниз по аудио спектру.

  • Центральная Частота - Средства управления центральная частота самой низкой метки. Центральная частота других меток вычисляется относительно этого значения и источника модуляции.

  • Глубина - Средства управления, как далеко частоты метки модулируют вокруг центральной частоты.

  • Квалифицируйте Фактор - Наборы добротность (или "Q") каждой метки. Более высокая установка Q создает более узкую метку пропускной способности.

Существует также два выпадающих меню:

  • Метки - Определяют номер фильтров метки. Больше меток может использоваться, чтобы создать более сильное воздействие.

  • Источник модуляции - форма волны, которая управляет центральными частотами фильтров метки. Различные формы волны создают различные звуки развертки.

Аудио испытательный стенд потоковым аудио по умолчанию из файла на диске. Можно изменить его в звуковую карту microphone/line-in вход или розовый шум (полезный для тестирования).

Щелкните по кнопке Run на пользовательском интерфейсе, чтобы начать передать потоком и слышать эффект фазовращателя.

Запуститесь как плагин VST

Можно найти, что аудио уволенные происходят при использовании более высоких количеств настроек высокого показателя или меток. Один способ работать вокруг этого состоит в том, чтобы сгенерировать плагин VST, чтобы занять место фрагмента кода, который выполняет фактическую обработку аудиоданных. Переключите Запуск Как выпадающий список к Плагину VST. При выполнении симуляции теперь, плагин VST будет сгенерирован и загрузил назад в MATLAB для использования в симуляции.

Сгенерируйте аудио плагин

Чтобы сгенерировать и портировать плагин VST на Цифровую звуковую рабочую станцию, нажмите на кнопку Generate VST 2 Audio Plugin на панели инструментов аудио испытательного стенда или запустите generateAudioPlugin команда.

generateAudioPlugin audiopluginexample.Phaser