В этом примере показано, как связаться между цифровой аудио рабочей станцией (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.
The dsp.UDPSender
и dsp.UDPReceiver
Системные объекты используют предварительно построенные файлы библиотеки, которые включены в MATLAB.
Эти плагины Audio Toolbox™ примера используют UDP:
audiopluginexample.UDPSender
- Отправлять аудиосигнал от DAW в сеть. Если вы генерируете этот плагин и развертываете его на DAW, плагин отправляет в сеть системы координат стереосигнала. Это формат кадра определяется ДАУ. Можно изменить пример для отправки любой информации, которую вы хотите анализировать в MATLAB.
audiopluginexample.ParametricEqualizerWithUDP
- Отправка коэффициентов фильтра плагина из DAW в сеть. Если вы генерируете этот плагин и запускаете его в DAW, плагин отправляет в сеть коэффициенты параметрического эквалайзера, который вы настраиваете в DAW. The HelperUDPPluginVisualizer
функция содержит приемник, который получает дейтаграмму и использует ее, чтобы построить график амплитудной характеристики фильтра, который вы настраиваете в DAW.
Шаг 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
для анализа.
1. Выполните шаги 1-2 из Отправить аудио из DAW в MATLAB, заменив audiopluginexample.UDPSender
с audiopluginexample.ParametricEqualizerWithUDP
.
2. Коэффициенты фильтра приема и обработки
A. В ДАУ откройте сгенерированные ParameterEqualizerWithUDP
файл. Имя отображения плагина ParametricEQ
.
б. В MATLAB запустите эту команду: HelperUDPPluginVisualizer
The HelperUDPPluginVisualizer
функция использует dsp.UDPReceiver
чтобы получить коэффициенты фильтра, а затем отобразит величину ответ в течение 60 секунд. Вы можете изменить код, чтобы продлить или уменьшить количество времени. Нанесенная на график величине реакция соответствует параметрическому плагину эквалайзера, который вы настраиваете в DAW.