主要内容

使用MATLAB编译器部署音频应用程序

此示例展示如何使用MATLAB编译器™从MATLAB函数创建独立应用程序。该函数实现了一个音频处理算法,并通过音频输出设备播放结果。

简介

在本例中,您生成并运行一个可执行应用程序,该应用程序对音频信号应用人工混响,并通过所选音频设备播放该音频信号。这样的应用程序的好处是,它们可以在不需要安装MATLAB的机器上运行。您只需要安装MATLAB运行时就可以部署本例中创建的应用程序。

混响算法

混响算法是使用System对象实现的反射器.它允许您添加混响效果单声道或立体声音频输入。该物体提供了六个属性,控制混响的性质。可以在模拟运行时对其中的每一个进行调优。

MATLAB仿真

这个函数audioReverberationCompilerExampleApp是一个包装反射器.验证:验证…的行为audioReverberationCompilerExampleApp,在MATLAB中运行函数。它有一个可选的输入,就是你想要播放音频的时间,单位是秒。缺省值为60。

audioReverberationCompilerExampleApp

这个函数audioReverberationCompilerExampleApp使用getAudioDevices的方法audioDeviceWriter列出当前机器上可用的音频输出设备,以便通过所选声卡播放混响音频。这在已部署的应用程序中特别有用,因为函数作者很少知道目标机器上将连接什么设备。

audioReverberationCompilerExampleApp的可调属性反射器到UI,以便在模拟运行时轻松地调整它们,并立即观察其效果。例如,在模拟运行时将滑块‘Diffusion’向右移动。你会听到反射密度增加的效果。您可以使用UI上的按钮来暂停或停止模拟。

为编译创建一个临时目录

一旦验证了MATLAB仿真,就可以编译函数了。在编译之前,创建一个临时目录,在该目录中您有写权限。将主要的MATLAB函数和相关的辅助文件复制到这个临时目录中。

编译dir = fullfile(tempdir,“compilerDir”);%临时目录名称如果~存在(compilerDir“dir”mkdir (compilerDir);创建临时目录结束curDir = cd(编译dir);拷贝文件((“audioReverberationCompilerExampleApp”));拷贝文件((“HelperAudioReverberation”));拷贝文件((“FunkyDrums-44p1-stereo-25secs.mp3”)复制文件((“HelperCreateParamTuningUI”));拷贝文件((“HelperUnpackUIData”));

编译MATLAB函数为一个独立的应用程序

使用世纪挑战集团(MATLAB编译器)函数从MATLAB编译器编译audioReverberationCompilerExampleApp一个独立的应用程序。这将被保存在当前目录。指定'-m'选项生成一个独立的应用程序,'-N'选项只包括使用'-p'选项指定的路径中的目录。

世纪挑战集团(“锰”“audioReverberationCompilerExampleApp”...“p”fullfile (matlabroot“工具箱”“dsp”),...“p”fullfile (matlabroot“工具箱”“音频”));

这个步骤需要几分钟才能完成。

运行生成的应用程序

使用系统命令运行生成的独立应用程序。请注意,使用system命令运行独立应用程序将使用当前MATLAB环境和此MATLAB安装所需的任何库文件。若要在未安装MATLAB的机器上部署此应用程序,请参阅关于MATLAB运行时(MATLAB编译器)

如果Ismac状态= system(fullfile(“audioReverberationCompilerExampleApp.app”...“内容”“MacOS”“audioReverberationCompilerExampleApp”));其他的Status = system(fullfile(pwd,“audioReverberationCompilerExampleApp”));结束

与MATLAB仿真类似,运行此部署的应用程序将首先要求您选择要用于播放音频的音频设备。然后,它启动用户界面(UI),在模拟运行时与混响算法交互。

清理生成的文件

生成并部署可执行文件后,您可以在MATLAB命令提示符中运行以下命令来清理临时目录:

cd (curDir);删除目录(compilerDir“年代”);