Этот пример показов, как проектировать и использовать три аудио эффектов, которые основаны на различной задержке: эхо, припев и фланец. Пример также показывает, как алгоритмы, разработанные в MATLAB, могут быть легко портированы в Simulink.
Звуковые эффекты могут быть сгенерированы путем добавления обработанного ('wet') сигнала к исходному ('dry') аудиосигналу. Простой эффект, эхо, добавляет задержанную версию сигнала в оригинал. Более сложные эффекты, такие как припев и фланец, модулируют задержанную версию сигнала.
Можно смоделировать эффект эха, задержав аудиосигнал и добавив его назад. Обратная связь часто добавляется к линии задержки, чтобы получить эффект затухания. Эффект эха реализован в audioexample. Класс Echo. Блоку схема показывает высокоуровневую реализацию эхо- эффект.
Пример эффекта эха имеет четыре настраиваемых параметров, которые могут быть изменены во время симуляции:
Задержка - Задержка, приложенная к аудиосигналу, в секундах
Усиление - линейное усиление задержанного аудио
FeedbackLevel - коэффициент усиления обратной связи, применяемый к линии задержки
WetDryMix - Отношение влажного сигнала, добавляемого к сухому сигналу
Можно попробовать audioexample.Echo
при запуске audioDelayEffectsExampleApp
с 'echo'
как вход. Пример читает аудиосигнал из файла, применяет эхо- эффект, а затем воспроизводит обработанный сигнал через ваше устройство аудио выхода. Также запускается UI, позволяющий настраивать параметры эффекта эха. Можно передать дополнительный аргумент, который определяет длительность воспроизведения аудио.
duration = 30; % in seconds audioDelayEffectsExampleApp('echo',duration);
Эффект припева обычно имеет несколько независимых задержек, каждый модулируется низкочастотным генератором. audioexample. Хор реализует этот эффект. Блок показывает высокоуровневую реализацию эффекта припева.
Пример эффекта припева имеет шесть настраиваемых параметров, которые могут быть изменены во время симуляции:
Delay
- Базовая задержка, приложенная к аудиосигналу, в секундах
Depth 1
- Амплитуда модулятора, приложенная к первой ветви задержки
Rate 1
- Частота модулятора, приложенного к первой ветви задержки, в Гц
Depth 2
- Амплитуда модулятора, приложенная ко второй ветви задержки
Rate 2
- Частота модулятора, приложенного ко второй ветви задержки, в Гц
WetDryMix
- Отношение влажного сигнала, добавляемого к сухому сигналу
Можно попробовать audioexample.Chorus
при запуске audioDelayEffectsExampleApp
с 'chorus'
как вход. Пример читает аудиосигнал из файла, применяет эффект припева, затем воспроизводит обработанный сигнал через ваше устройство выхода аудиосигнала. Также запускается UI, позволяющий настраивать параметры эффекта припева. Можно передать дополнительный аргумент, который определяет длительность воспроизведения аудио.
duration = 30; % in seconds audioDelayEffectsExampleApp('chorus',duration);
Можно смоделировать эффект фланцевания, задержав аудиовход на величину, которая модулируется низкочастотным генератором (LFO). Линия задержки, используемая в фланце, также может иметь путь обратной связи. audioexample. Фланец реализует этот эффект. Блок показывает высокоуровневую реализацию эффекта фланца.
Пример эффекта фланца имеет пять настраиваемых параметров, которые могут быть изменены во время симуляции:
Delay
- Базовая задержка, приложенная к аудиосигналу, в секундах
Depth
- Амплитуда LFO
Rate
- Частота LFO, в Гц
FeedbackLevel
- Коэффициент усиления обратной связи, применяемый к линии задержки
WetDryMix
- Отношение влажного сигнала, добавляемого к сухому сигналу
Можно попробовать audioexample.Flanger
при запуске audioDelayEffectsExampleApp
с 'flanger'
как вход. Пример читает аудиосигнал из файла, применяет эффект фланца, затем воспроизводит обработанный сигнал через устройство аудиосигнала выхода. Также запускается пользовательский интерфейс, позволяющий настраивать параметры эффекта фланца. Второй вход в эту функцию необязателен и решает, сколько времени должно воспроизводиться аудио. Можно передать дополнительный аргумент, который определяет длительность воспроизведения аудио.
duration = 30; % in seconds audioDelayEffectsExampleApp('flanger',duration);
Можно использовать системные объекты audioexample.Echo
, audioexample.Chorus
и audioexample.Flanger
в Simulink при помощи блока MATLAB System (Simulink). Модель audiodelaybasedeffects
имеет эти эффекты, готовые к симуляции.
open_system('audiodelaybasedeffects')
Можно выбрать эффект, который будет применен, дважды кликнув по блоку Effect Selector.
После выбора эффекта можно нажать на кнопку Launch Parameter Tuning UI, чтобы открыть диалоговое окно, которое имеет все настраиваемые параметры эффекта.
Это диалоговое окно останется доступным даже во время симуляции. Можно запустить модель и настроить свойства эффекта, чтобы прослушать, как они влияют на аудио выхода.