Связь между DAW и MATLAB с помощью UDP

В этом примере показано, как связаться между цифровой аудио рабочей станцией (DAW) и MATLAB с помощью протокола пользовательской дейтаграммы (UDP). Информация, разделяемая между DAW и MATLAB, может использоваться для выполнения визуализации в режиме реального времени в MATLAB на параметрах, которые изменяются в DAW.

Протокол пользовательской датаграммы (UDP)

UDP является основным представителем набора протоколов Интернета. Это простая передача без соединения, которая не использует никаких методов для проверки ошибок. Поскольку он не проверяет на ошибки, UDP является быстрой, но ненадежной альтернативой протоколу управления передачей (TCP) и протоколу передачи управления потоком (SCTP). UDP широко используется в приложениях, которые готовы торговать точностью для высокоскоростной передачи, таких как видеоконференции и компьютерные игры в реальном времени. Если вы используете UDP для связи на одной машине, пакеты реже отбрасываются. Описанные здесь руководства работают лучше всего при выполнении на одной машине.

UDP и MATLAB

Эти системные объекты позволяют вам использовать UDP с MATLAB:

Чтобы связаться между DAW и MATLAB с помощью UDP, поместите отправитель UDP в плагин, используемый в DAW, и запустите соответствующий приемник UDP в MATLAB.

The dsp.UDPSender и dsp.UDPReceiver Системные объекты используют предварительно построенные файлы библиотеки, которые включены в MATLAB.

Пример плагинов

Эти плагины Audio Toolbox™ примера используют UDP:

  • audiopluginexample.UDPSender - Отправлять аудиосигнал от DAW в сеть. Если вы генерируете этот плагин и развертываете его на DAW, плагин отправляет в сеть системы координат стереосигнала. Это формат кадра определяется ДАУ. Можно изменить пример для отправки любой информации, которую вы хотите анализировать в MATLAB.

  • audiopluginexample.ParametricEqualizerWithUDP - Отправка коэффициентов фильтра плагина из DAW в сеть. Если вы генерируете этот плагин и запускаете его в DAW, плагин отправляет в сеть коэффициенты параметрического эквалайзера, который вы настраиваете в DAW. The HelperUDPPluginVisualizer функция содержит приемник, который получает дейтаграмму и использует ее, чтобы построить график амплитудной характеристики фильтра, который вы настраиваете в DAW.

Отправить аудио из DAW в MATLAB

Шаг 1: Сгенерируйте плагин VST

Чтобы сгенерировать плагин VST из audiopluginexample.UDPSender, используйте generateAudioPlugin функция. Лучшей практикой перейти к директории, которая может хранить сгенерированный плагин перед выполнением этой команды:

generateAudioPlugin audiopluginexample.UDPSender

Сгенерированный плагин сохранен в текущей папке и назван UDPSender.

Шаг 2: Откройте DAW с соответствующим набором переменных окружения

Чтобы запустить UDP-отправитель за пределами MATLAB, необходимо открыть DAW с командой терминала с соответствующим набором переменных окружений. Установка переменных окружения позволяет развернутому отправителю UDP использовать необходимые файлы библиотеки в MATLAB. Чтобы узнать, как задать переменные окружения, смотрите руководство, относящийся к вашей системе:

После установки переменных окружения откройте DAW с того же командного терминала, как в этом примере терминала из системы Windows.

Шаг 3: Прием и обработка аудиосигнала

A. В ДАУ откройте сгенерированные UDPSender файл.

б. В MATLAB запустите эту функцию: HelperUDPPluginReceiver

Аудиосигнал отображается на dsp.SpectrumAnalyzer для анализа.

Отправка коэффициентов из DAW в MATLAB

1. Выполните шаги 1-2 из Отправить аудио из DAW в MATLAB, заменив audiopluginexample.UDPSender с audiopluginexample.ParametricEqualizerWithUDP.

2. Коэффициенты фильтра приема и обработки

A. В ДАУ откройте сгенерированные ParameterEqualizerWithUDP файл. Имя отображения плагина ParametricEQ.

б. В MATLAB запустите эту команду: HelperUDPPluginVisualizer

The HelperUDPPluginVisualizer функция использует dsp.UDPReceiver чтобы получить коэффициенты фильтра, а затем отобразит величину ответ в течение 60 секунд. Вы можете изменить код, чтобы продлить или уменьшить количество времени. Нанесенная на график величине реакция соответствует параметрическому плагину эквалайзера, который вы настраиваете в DAW.