В этом примере показано, как осуществлять связь между рабочей станцией цифрового звука (DAW) и MATLAB с использованием протокола пользовательских дейтаграмм (UDP). Информация, совместно используемая DAW и MATLAB, может использоваться для визуализации в реальном времени в MATLAB параметров, которые изменяются в DAW.
UDP является основным членом пакета протоколов Интернета. Это простая передача без установления соединения, которая не использует никаких методов для проверки ошибок. Поскольку UDP не проверяет наличие ошибок, он является быстрой, но ненадежной альтернативой протоколу управления передачей (TCP) и протоколу управления потоком (SCTP). UDP широко используется в приложениях, которые готовы торговать верностью для высокоскоростной передачи, таких как видеоконференции и компьютерные игры реального времени. При использовании UDP для связи в пределах одной машины вероятность отбрасывания пакетов снижается. Описанные здесь учебные пособия лучше всего подходят для работы на одной машине.
Эти системные объекты позволяют использовать UDP с MATLAB:
dsp.UDPReceiver - Прием пакетов UDP из сети
dsp.UDPSender - Отправка пакетов UDP в сеть
Для связи между DAW и MATLAB с использованием UDP поместите отправителя UDP в плагин, используемый в DAW, и запустите соответствующий приемник UDP в MATLAB.

dsp.UDPSender и dsp.UDPReceiver Системные объекты используют предварительно созданные файлы библиотек, входящие в состав MATLAB.
Эти подключаемые модули Audio Toolbox™ используют UDP:
audiopluginexample.UDPSender - Передача звукового сигнала от DAW в сеть. Если вы создаете этот плагин и развертываете его на DAW, плагин отправляет кадры стереосигнала в сеть. Размер кадра определяется DAW. Вы можете изменить пример плагина, чтобы отправить любую информацию, которую вы хотите проанализировать в MATLAB.
audiopluginexample.ParametricEqualizerWithUDP - Передача коэффициентов фильтра плагина из DAW в сеть. Если вы создаете этот плагин и запускаете его в DAW, плагин отправляет коэффициенты параметрического эквалайзера, настроенного в DAW, в сеть. HelperUDPPluginVisualizer функция содержит приемник UDP, который принимает дейтаграмму, и использует ее для построения графика амплитудного отклика фильтра, настраиваемого в DAW.
Шаг 1: Создание подключаемого модуля VST
Создание подключаемого модуля VST из audiopluginexample.UDPSender, используйте generateAudioPlugin функция. Рекомендуется перед выполнением следующей команды перейти в каталог, в котором можно сохранить созданный подключаемый модуль:
generateAudioPlugin audiopluginexample.UDPSenderСозданный подключаемый модуль сохраняется в текущей папке и называется UDPSender.
Шаг 2: Открыть DAW с соответствующим набором переменных среды
Для запуска отправителя UDP вне MATLAB необходимо открыть DAW из командного терминала с соответствующим набором переменных среды. Установка переменных среды позволяет развернутому отправителю UDP использовать необходимые файлы библиотеки в MATLAB. Дополнительные сведения о настройке переменных среды см. в учебном пособии по системе:
После установки переменных среды откройте DAW из того же командного терминала, например в данном примере терминала из системы Windows.

Шаг 3: Прием и обработка аудиосигнала
A. В DAW откройте созданную UDPSender файл.
b. В MATLAB выполните следующую функцию: HelperUDPPluginReceiver
Звуковой сигнал отображается на дисплее dsp.SpectrumAnalyzer для анализа.

1. Выполните шаги 1-2 из раздела Отправка звука из DAW в MATLAB, заменив audiopluginexample.UDPSender с audiopluginexample.ParametricEqualizerWithUDP.
2. Коэффициенты фильтра приема и обработки
A. В DAW откройте созданную ParameterEqualizerWithUDP файл. Отображаемое имя подключаемого модуля: ParametricEQ.
b. В MATLAB выполните следующую команду: HelperUDPPluginVisualizer
HelperUDPPluginVisualizer функция использует dsp.UDPReceiver для приема коэффициентов фильтра и затем отображает отклик величины в течение 60 секунд. Код можно изменить для увеличения или сокращения времени. Отклик на график соответствует плагину параметрического эквалайзера, настроенному в DAW.
