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

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

Введение

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

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

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

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

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

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

phaser = audiopluginexample.Phaser;
visualize(phaser);

Запустите аудио испытательный стенд.

audioTestBench(phaser);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

generateAudioPlugin audiopluginexample.Phaser