如何从 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 ];