Основанные на задержке звуковые эффекты

Этот пример показывает, как разработать и использовать три звуковых эффекта, которые основаны на переменной задержке: отзовитесь эхом, хор и фленджер. Пример также показывает, как алгоритмы, разработанные в MATLAB, могут быть легко портированы к Simulink.

Введение

Звуковые эффекты могут быть сгенерированы путем добавления обработанного ('влажного') сигнала в исходный ('сухой') звуковой сигнал. Простой эффект, эхо, добавляет задержанную версию сигнала к оригиналу. Более комплексные эффекты, как хор и фленджер, модулируют задержанную версию сигнала.

Эхо

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

Пример эффекта эха имеет четыре настраиваемых параметра, которые могут быть изменены, в то время как симуляция запускается:

  • Задержка - Задержка применилась к звуковому сигналу в секундах

  • Усиление - Линейное усиление задержанного аудио

  • FeedbackLevel - Усиление обратной связи применяется к строке задержки

  • WetDryMix - Отношение влажного сигнала добавляется к сухому сигналу

Можно испытать audioexample.Echo путем выполнения audioDelayEffectsExampleApp с 'echo', как введено. Пример читает звуковой сигнал из файла, применяет эффект эха, и затем проигрывает обработанный сигнал через ваше устройство аудиовыхода. Это также запускает пользовательский интерфейс, который позволяет вам настраивать параметры эффекта эха. Можно передать дополнительный аргумент, который определяет длительность, чтобы проигрывать аудио.

duration = 30; % in seconds
audioDelayEffectsExampleApp('echo',duration);

Хор

Эффект хора обычно имеет несколько независимых задержек, каждый модулируемый низкочастотным осциллятором. audioexample. Хор реализует этот эффект. Блок-схема показывает высокоуровневую реализацию эффекта хора.

Пример эффекта хора имеет шесть настраиваемых параметров, которые могут быть изменены, в то время как симуляция запускается:

  • Задержка - Основная задержка применилась к звуковому сигналу в секундах

  • Глубина 1 - Амплитуда модулятора применилась к первому ответвлению задержки

  • Уровень 1 - Частота модулятора применился к первому ответвлению задержки в Гц

  • Глубина 2 - Амплитуда модулятора применилась к второму ответвлению задержки

  • Уровень 2 - Частота модулятора применился к второму ответвлению задержки в Гц

  • WetDryMix - Отношение влажного сигнала добавляется к сухому сигналу

Можно испытать audioexample.Chorus путем выполнения audioDelayEffectsExampleApp с 'chorus', как введено. Пример читает звуковой сигнал из файла, применяет эффект хора, затем проигрывает обработанный сигнал через ваше устройство аудиовыхода. Это также запускает пользовательский интерфейс, который позволяет вам настраивать параметры эффекта хора. Можно передать дополнительный аргумент, который определяет длительность, чтобы проигрывать аудио.

duration = 30; % in seconds
audioDelayEffectsExampleApp('chorus',duration);

Фленджер

Можно смоделировать эффект фланжирования путем задержки аудиовхода суммой, которая модулируется низкочастотным осциллятором (LFO). Строка задержки, используемая во фленджере, может также иметь путь к обратной связи. audioexample. Фленджер реализует этот эффект. Блок-схема показывает высокоуровневую реализацию эффекта фленджера.

Пример эффекта фленджера имеет пять настраиваемых параметров, которые могут быть изменены, в то время как симуляция запускается:

  • Задержка - Основная задержка применилась к звуковому сигналу в секундах

  • Глубина - амплитуда LFO

  • Уровень - частота LFO, в Гц

  • FeedbackLevel - Усиление обратной связи применяется к строке задержки

  • WetDryMix - Отношение влажного сигнала добавляется к сухому сигналу

Можно испытать audioexample.Flanger путем выполнения audioDelayEffectsExampleApp с 'flanger', как введено. Пример читает звуковой сигнал из файла, применяет эффект фленджера, затем проигрывает обработанный сигнал через ваше устройство аудиовыхода. Это также запускает пользовательский интерфейс, который позволяет вам настраивать параметры эффекта фленджера. Второй вход к этой функции является дополнительным, и решает, сколько времени аудио должно проигрываться. Можно передать дополнительный аргумент, который определяет длительность, чтобы проигрывать аудио.

duration = 30; % in seconds
audioDelayEffectsExampleApp('flanger',duration);

Звуковые эффекты в Simulink

Можно использовать Системные объекты audioexample.Echo, audioexample.Chorus и audioexample.Flanger в Simulink при помощи блока MATLAB System. Модель audiodelaybasedeffects имеет эти эффекты, готовые к симуляции.

open_system('audiodelaybasedeffects')

Можно выбрать эффект, который будет применен путем двойного клика на блоке Селектора Эффекта.

Если эффект был выбран, можно нажать на кнопку Launch Parameter Tuning UI, чтобы поднять диалоговое окно, которое имеет все настраиваемые параметры эффекта.

Это диалоговое окно останется доступным даже во время симуляции. Можно запустить модель и настроить свойства эффекта слушать, как они влияют на аудиовыход.