В этом примере показано, как проектировать и использовать три звуковых эффекта, которые основаны на различной задержке: эхо, припев и флангер. Пример также показывает, как алгоритмы, разработанные в MATLAB, могут быть легко портированы на Simulink.
Звуковые эффекты могут генерироваться путем добавления обработанного («мокрого») сигнала к исходному («сухому») звуковому сигналу. Простой эффект, эхо, добавляет задержанную версию сигнала к оригиналу. Более сложные эффекты, как припев и флангер, модулируют задержанную версию сигнала.
Эффект эхо-сигнала можно моделировать, задерживая звуковой сигнал и добавляя его обратно. Часто к линии задержки добавляется обратная связь, чтобы дать эффект замирания. Эхо-эффект реализуется в аудиоэкземпле. Эхо-класс. Блок-схема показывает высокоуровневую реализацию эхо-эффекта.

Пример эхо-эффекта имеет четыре настраиваемых параметра, которые можно изменить во время выполнения моделирования:
Задержка - Задержка, применяемая к звуковому сигналу, в секундах
Усиление - линейное усиление задержанного звука
FeedbLevel - коэффициент усиления обратной связи, применяемый к линии задержки
C1 DryMix - отношение влажного сигнала, добавленного к сухому сигналу
Вы можете попробовать audioexample.Echo путем выполнения audioDelayEffectsExampleApp с 'echo' в качестве входных данных. Пример считывает звуковой сигнал из файла, применяет эхо-эффект, а затем воспроизводит обработанный сигнал через устройство вывода звука. Также запускается пользовательский интерфейс, позволяющий настраивать параметры эхо-эффекта. Можно передать дополнительный аргумент, определяющий длительность воспроизведения звука.
duration = 30; % in seconds audioDelayEffectsExampleApp('echo',duration);

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

Пример эффекта припева содержит шесть настраиваемых параметров, которые можно изменить во время выполнения моделирования:
Delay - Базовая задержка, применяемая к звуковому сигналу, в секундах
Depth 1 - Амплитуда модулятора, подаваемого на первую ветвь задержки
Rate 1 - Частота модулятора, подаваемого на первую ветвь задержки, в Гц
Depth 2 - Амплитуда модулятора, подаваемого на вторую ветвь задержки
Rate 2 - Частота модулятора, подаваемого на вторую ветвь задержки, в Гц
WetDryMix - Отношение влажного сигнала, добавленного к сухому сигналу
Вы можете попробовать audioexample.Chorus путем выполнения audioDelayEffectsExampleApp с 'chorus' в качестве входных данных. Пример считывает звуковой сигнал из файла, применяет эффект припева, затем воспроизводит обработанный сигнал через устройство вывода звука. Также запускается пользовательский интерфейс, позволяющий настраивать параметры эффекта припева. Можно передать дополнительный аргумент, определяющий длительность воспроизведения звука.
duration = 30; % in seconds audioDelayEffectsExampleApp('chorus',duration);

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

Пример эффекта фланца имеет пять настраиваемых параметров, которые можно изменить во время моделирования:
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')Можно выбрать применяемый эффект, дважды щелкнув на блоке выбора эффекта.

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

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