Свяжитесь между DAW и MATLAB Используя UDP

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

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

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

UDP и MATLAB

Эти Системные объекты позволяют вам использовать 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.

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

Шаг 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 для анализа.

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

1. Следуйте шаги 1-2 от Отправляют Аудио от DAW до MATLAB, заменяя audiopluginexample.UDPSender с audiopluginexample.ParametricEqualizerWithUDP.

2. Получите и коэффициенты фильтра процесса

a. В DAW откройте сгенерированный ParameterEqualizerWithUDP файл. Сменным именем отображения является ParametricEQ.

b. В MATLAB, запуск эта команда: HelperUDPPluginVisualizer

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