主要内容

基于UDP的DAW与MATLAB通信

这个例子展示了如何使用用户数据报协议(UDP)在数字音频工作站(DAW)和MATLAB®之间进行通信。DAW和MATLAB之间共享的信息可用于在MATLAB中对DAW中正在更改的参数进行实时可视化。

用户数据报协议

UDP是Internet协议套件的核心成员。这是一种简单的无连接传输,不使用任何方法进行错误检查。由于UDP不检查错误,因此它是传输控制协议(TCP)和流控制传输协议(SCTP)的快速但不可靠的替代方案。UDP广泛应用于愿意以保真度换取高速传输的应用程序,如视频会议和实时电脑游戏。如果在一台机器内使用UDP进行通信,数据包不太可能丢失。这里列出的教程在单机上执行时效果最好。

UDP和MATLAB

这些系统对象使您能够在MATLAB中使用UDP:

为了在DAW和MATLAB之间使用UDP通信,在DAW中使用的插件中放置UDP发送器,并在MATLAB中运行相应的UDP接收器。

dsp。UDPSender而且dsp。UDPReceiver系统对象使用预先构建的库文件,这些库文件包含在MATLAB中。

示例插件

这些音频工具箱™示例插件使用UDP:

  • audiopluginexample。UDPSender—从DAW向网络发送音频信号。如果您生成这个插件并将其部署到DAW,该插件将立体声信号帧发送到网络。帧大小由DAW决定。您可以修改示例插件以发送任何想要在MATLAB中分析的信息。

  • audiopluginexample。ParametricEqualizerWithUDP-将插件的过滤器系数从DAW发送到网络。如果你生成这个插件并在一个DAW中运行它,这个插件会把你在DAW中调优的参数均衡器的系数发送到网络。的HelperUDPPluginVisualizer函数包含一个接收数据报的UDP接收器,并使用它来绘制您在DAW中调优的过滤器的幅度响应。

将音频从DAW发送到MATLAB

步骤1:生成一个VST插件

生成VST插件audiopluginexample。UDPSender,使用generateAudioPlugin函数。在执行这个命令之前,最好移动到一个可以存储生成的插件的目录:

generateAudioPluginaudiopluginexample。UDPSender
……

生成的插件保存到当前文件夹并命名UDPSender

步骤2:打开DAW,设置适当的环境变量

要在MATLAB之外运行UDP发送器,必须使用设置了适当环境变量的命令终端打开DAW。设置环境变量使部署的UDP发送方能够在MATLAB中使用必要的库文件。要了解如何设置环境变量,请参阅特定于您的系统的教程:

设置环境变量后,从相同的命令终端打开DAW,例如本例中的Windows系统终端。

步骤3:接收和处理音频信号

a.在DAW中,打开生成的UDPSender文件。

b.在MATLAB中运行如下函数:HelperUDPPluginReceiver

音频信号显示在频谱分析仪上进行分析。

将系数从DAW发送到MATLAB

1.遵循下面的步骤1-2将音频从DAW发送到MATLAB,替换audiopluginexample。UDPSenderaudiopluginexample。ParametricEqualizerWithUDP

2.接收和处理过滤系数

a.在DAW中,打开生成的ParameterEqualizerWithUDP文件。插件显示名称为ParametricEQ

b.在MATLAB中执行如下命令:HelperUDPPluginVisualizer

HelperUDPPluginVisualizer函数使用dsp。UDPReceiver接收滤波器系数,然后显示震级响应60秒。您可以修改代码以延长或减少时间。绘制的幅度响应对应于您在DAW中调优的参数均衡器插件。