如何从 Matlab 环境执行 OpenSMILE 工具包?
How can I execute OpenSMILE toolkit from Matlab environment?
我想使用 OpenSMILE 工具包作为语音特征提取器。但是我在 Matlab 环境中开发了我的项目脚本。因此,我正在寻找一种从 Matlab 调用 OpenSMILE 并处理获得的功能的方法。如果有人在这件事上指导我,我会很高兴。
可在windowsCMD环境下执行的OpenSMILE脚本示例:
SMILExtract_Release.exe -C config/MFCC.conf -I a.wav -O a.HTK
我找到了一个非常简单的方法来做到这一点。安装OpenSMILE后,可以通过CMD环境访问该程序。这就是为什么我在 MATLAB 中编写了以下函数并通过它 运行 OpenSMILE。
function featureSet = OpenSmileFE_MFCC(filePath,fileName)
% make result file name
resultName = [fileName,'_MFCC.HTK'];
% make OpenSmile Command
comD =['SMILExtract_Release.exe -C config/MFCC12_E_D_A_Z.conf -I ',filePath,...
'-O ', resultName , ' -noconsoleoutput'];
% excute command
system(comD);
[ features, sampPeriod, parmKind ] = readhtk_lite( resultName );
您还可以在thislink中找到readhtk_lite函数脚本。您还可以从命令中删除 -noconsoleoutput 选项,如下所示以查看执行细节。
comD =['SMILExtract_Release.exe -C config/MFCC12_E_D_A_Z.conf -I ',filePath,...
'-O ', resultName ];
我想使用 OpenSMILE 工具包作为语音特征提取器。但是我在 Matlab 环境中开发了我的项目脚本。因此,我正在寻找一种从 Matlab 调用 OpenSMILE 并处理获得的功能的方法。如果有人在这件事上指导我,我会很高兴。
可在windowsCMD环境下执行的OpenSMILE脚本示例:
SMILExtract_Release.exe -C config/MFCC.conf -I a.wav -O a.HTK
我找到了一个非常简单的方法来做到这一点。安装OpenSMILE后,可以通过CMD环境访问该程序。这就是为什么我在 MATLAB 中编写了以下函数并通过它 运行 OpenSMILE。
function featureSet = OpenSmileFE_MFCC(filePath,fileName)
% make result file name
resultName = [fileName,'_MFCC.HTK'];
% make OpenSmile Command
comD =['SMILExtract_Release.exe -C config/MFCC12_E_D_A_Z.conf -I ',filePath,...
'-O ', resultName , ' -noconsoleoutput'];
% excute command
system(comD);
[ features, sampPeriod, parmKind ] = readhtk_lite( resultName );
您还可以在thislink中找到readhtk_lite函数脚本。您还可以从命令中删除 -noconsoleoutput 选项,如下所示以查看执行细节。
comD =['SMILExtract_Release.exe -C config/MFCC12_E_D_A_Z.conf -I ',filePath,...
'-O ', resultName ];