Matlab论坛
直播中

梦醒没你

9年用户 165经验值
擅长:电源/新能源 嵌入式技术 连接器 光电显示 存储技术 接口/总线/驱动
私信 关注
[经验]

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

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

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

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

MATLAB仿真
audioReverberationCompilerExampleApp函数是混响器的包装器。要验证audioReverberationCompilerExampleApp的行为,请在MATLAB中运行该函数。它需要一个可选输入,即您想要播放音频的时间(以秒为单位)。默认值为60。
audioReverberationCompilerExampleApp;
选择音频播放器设备: 1.默认2.主要声音驱动程序3.扬声器(USB PnP声音设备)

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

audioReverberationCompilerExampleApp还将混响器的可调属性映射到UI,以便您可以在模拟运行时轻松调整它们并立即观察其效果。例如,在模拟运行时将滑块“Diffusion”向右移动。你会听到反射密度增加的效果。您可以使用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(('HelperUnpackUDP'));

将MATLAB函数编译为独立应用程序
使用MATLAB Compiler中的mcc函数将audioReverberationCompilerExampleApp编译为独立应用程序。这将保存在当前目录中。指定'-m'选项以生成独立应用程序,' - '选项仅包括使用'-p'选项指定的路径中的目录。
mcc('-mN','audioReverberationCompilerExampleApp',...     ' -  p',fullfile(matlabroot,'toolbox','dsp'),...     ' -  p',fullfile(matlabroot,'toolbox','audio '));

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

运行生成的应用程序
使用system命令运行生成的独立应用程序。请注意,使用system命令运行独立应用程序使用当前MATLAB环境以及此MATLAB安装所需的任何库文件。要在未安装MATLAB的机器上部署此应用程序,请参阅MATLAB Compiler产品文档中的“使用MATLAB运行时分发”部分。
如果是 ismac    status = system(fullfile('audioReverberationCompilerExampleApp.app',...         'Contents','MacOS','audioReverberationCompilerExampleApp'));else     status = system(fullfile(pwd,'audioReverberationCompilerExampleApp'));结束
选择音频播放器设备: 1.默认2.主要声音驱动程序3.扬声器(USB PnP声音设备)



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

清理生成的文件
生成并部署可执行文件后,可以通过在MATLAB命令提示符中运行以下命令来清理临时目录:
CD(CURDIR);rmdir(compilerDir,'s');

通过MathWorks
探索:

  • 音频系统工具箱
查看:文档

相关例子


使用MATLAB编译器生成DSP应用程序

此示例显示如何使用MATLAB Compiler™从使用DSP System Toolbox™中的System对象的MATLAB函数创建独立应用程序。DSP SystemToolbox DSP系统工具箱信号处理和通信入门


为参数音频均衡器生成独立可执行文件

此示例显示如何使用MATLAB Coder™生成用于参数均衡的独立可执行文件,并将其用于音频文件。multibandParametricEQ用于均衡算法。该示例允许您使用在MATLAB中运行的用户界面(UI)动态调整过滤器的系数。音频系统入门工具箱音频系统工具箱信号处理和通信

回帖(1)

CHNlyt

2018-8-8 20:35:01
赞。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分