我想使用 OpenSMILE 工具包作为语音特征提取器。但是我在 Matlab 环境中开发了我的项目脚本。因此,我正在寻找一种从 Matlab 调用 OpenSMILE 并处理获得的特征的方法。如果有人在这件事上指导我,我会很高兴。
可在 windows CMD 环境下执行的 OpenSMILE 脚本示例:
SMILExtract_Release.exe -C config/MFCC.conf -I a.wav -O a.HTK
我想使用 OpenSMILE 工具包作为语音特征提取器。但是我在 Matlab 环境中开发了我的项目脚本。因此,我正在寻找一种从 Matlab 调用 OpenSMILE 并处理获得的特征的方法。如果有人在这件事上指导我,我会很高兴。
可在 windows CMD 环境下执行的 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 );
您还可以在此链接中找到readhtk_lite函数脚本。您还可以从以下命令中删除 -noconsoleoutput 选项以查看执行详细信息。
comD =['SMILExtract_Release.exe -C config/MFCC12_E_D_A_Z.conf -I ',filePath,...
'-O ', resultName ];