Этот пример показывает, как реализовать эффект «фазера» аудио в реальном времени, который может быть настроен пользовательским интерфейсом (UI). Также показано, как сгенерировать плагин VST для фазера, который можно импортировать в Digital Audio Workstation (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 позволяет настраивать аудиофазер с помощью ползунков и раскрывающихся меню. Изменение значений ползунка или раскрывающегося списка обновляет величину графика отклика фазера в режиме реального времени.
Четыре ползунка:
Скорость - управляет частотой, с которой центральная частота узкополосных фильтров растёт вверх и вниз по спектру звука.
Центральная частота (Center Frequency) - управляет центральной частотой самой низкой выемки. Центральная частота других надрезов вычисляется относительно этого значения и источника модуляции.
Глубина - управляет тем, как далеко частоты надреза модулируются вокруг центральной частоты.
Коэффициент проверки - устанавливает коэффициент качества (или «Q») для каждой надреза. Более высокая настройка Q создает более узкую надстройку полосы пропускания.
Существует также два раскрывающихся меню:
Вырезы - Устанавливает количество узкополосных фильтров. Больше вырезов можно использовать, чтобы создать более драматический эффект.
Источник модуляции - форма волны, которая управляет центральными частотами узкополосных фильтров. Различные формы волны создают различные звуки свип.
Аудио испытательного стенда по умолчанию потокует аудио из файла на диске. Можно изменить его на микрофон/линейный вход звуковой карты или розовый шум (полезный для проверки).
Нажмите кнопку Run на пользовательском интерфейсе, чтобы начать потоковую передачу и услышать эффект фазера.
Вы можете обнаружить, что выпадение звука происходит при использовании более высоких чисел или высоких настроек Rate. Один из способов обойти это - сгенерировать плагин VST, чтобы занять место фрагмента кода, которая выполняет фактическую обработку звука. Переключите выпадающий список «Run As» на плагин VST. При запуске симуляции сейчас будет сгенерирован плагин VST и загружен обратно в MATLAB для использования в симуляции.
Чтобы сгенерировать и портировать плагин VST на цифровую аудио рабочую станцию, нажмите кнопку Generate VST 2 Audio Plugin на панели инструментов аудио испытательного стенда или запустите generateAudioPlugin
команда.
generateAudioPlugin audiopluginexample.Phaser