主要内容

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

此示例显示如何使用Matlab Compiler™从MATLAB函数创建独立应用程序。该功能实现了音频处理算法,并通过音频输出设备播放结果。

介绍

在此示例中,您生成并运行可执行应用程序,该可执行应用程序将人工混响应用于音频信号并播放通过所选音频设备。此类应用程序的好处是它们可以在不需要安装MATLAB的计算机上运行。您只需要安装MATLAB运行时来部署在此示例中创建的应用程序。

混响算法

使用系统对象实现混响算法混响者。它允许您向单声道或立体声通道音频输入添加混响效果。该对象提供了六种控制混响性质的属性。在仿真运行时,可以调整它们中的每一个。

matlab模拟

功能AudioreVerberationCompilerexampleApp.是一个包装混响者。验证的行为AudioreVerberationCompilerexampleApp.,在matlab中运行函数。它需要一个可选的输入,即时间,以秒为单位,为您想要播放音频。默认值为60。

AudioreVerberationCompilerexampleApp.

功能AudioreVerberationCompilerexampleApp.用来GetAudioDevices.的方法audiodevicewriter.要列出当前机器上可用的音频输出设备,以便您可以通过您选择的声卡播放混响音频。这在部署的应用程序中特别有用,因为函数作者很少知道将在目标机器上连接的设备。

AudioreVerberationCompilerexampleApp.也映射可调谐属性混响者到一个UI,以便在仿真运行时可以轻松调整它们,并立即观察其效果。例如,在仿真运行时将滑块“扩散”移动到右侧。您将听到思考密度增加的效果。您可以使用UI上的按钮暂停或停止模拟。

创建临时目录以进行编译

验证MATLAB仿真后,您可以编译该功能。在编译之前,创建一个临时目录,您可以在其中写入权限。将主MATLAB函数和关联的辅助文件复制到此临时目录中。

compilerdir = fullfile(tempdir,'compilerdir');临时目录的%名称如果〜存在(Compilerdir,'dir')Mkdir(Compilerdir);%创建临时目录结尾Curdir = CD(Compilerdir);copyfile(哪个('audioreverberationcompilerexampleapp'));copyfile(哪个('helperaudioreverberation'));copyfile(哪个('funkydrums-44p1-stereo-25secs.mp3'))copyfile(哪个('helpercreateparamtuningui'));copyfile(哪个('helperunpackuidata'));

将MATLAB函数编译成独立应用程序

使用MCC.(Matlab编译器)来自Matlab编译器的功能编译AudioreVerberationCompilerexampleApp.进入独立申请。这将保存在当前目录中。指定“-m”选项以生成独立应用程序的“-n”选项,以仅包含使用“-p”选项指定的路径中的目录。

MCC('-mn''audioreverberationcompilerexampleapp'......'-p',fullfile(matlabroot,'工具箱''DSP'),......'-p',fullfile(matlabroot,'工具箱''声音的'));

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

运行生成的应用程序

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

如果ISMAC Status = System(FullFile('audioreverberationcompilerexampleapp.app'......'内容''苹果系统''audioreverberationcompilerexampleapp'));别的status = system(fullfile(pwd,'audioreverberationcompilerexampleapp'));结尾

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

清理生成的文件

生成和部署可执行文件后,您可以通过在MATLAB命令提示符中运行以下内容来清除临时目录:

CD(Curdir);rmdir(Compilerdir,');