从opensmile官网下载的包包括了vs工程,可直接用vs打开。
一、使用opensmile vs工程
- 打开工程后,vs提示升级解决方案,点击确定。或在项目-重定解决方案目标中升级

- 将调试模式debug改为release。注意,release同样可以加断点调试。

- 编译
- 若直接编译,出现错误。

解决方法是在openSimleLib项目中右键添加-现有项,在opensmile-2.3.0\src\examples目录下选择simpleMessageSender.cpp。重新编译 - 出现错误

解决方法
(1)将与opensmile包平级的msvcbuild目录下的SMILExtract_Release.exe复制到opensmile-2.3.0\ide\vs10\Release目录下。
(2)打开调试-SMILExtract属性,在链接器-常规-输出文件修改为release$(TargetName)$(TargetExt)
- 添加参数。打开调试-SMILExtract属性,在调试-命令参数中填上config文件、输入文件和输出文件路径

二、特征提取,查看变量
- e.g.命令参数为 -C {yourdir1}\opensmile-2.3.0\config\demo\demo1_energy.conf -I {yourdir2}\Fa.wav -O {yourdir3}\speech.energy.csv
- 想要查看openSimleLib项目energy.cpp的函数int cEnergy::processVectorFloat中的变量如何变化。但在该函数内添加断点时,运行并未停止。
- 原因:除SIMLExtract工程外,其他工程均生成 dll 动态链接库。SIMLExtract_release.exe 通过dll文件接入函数
- 解决方法。打开调试-附加到进程(ctrl+alt+P),添加vs正在debug的进程

- 可以安心观察函数了

本文介绍了如何在Visual Studio 2017中使用OpenSMILE进行语音情感识别的特征提取。首先,通过升级解决方案并修改编译模式为Release来配置OpenSMILE的VS工程。在遇到编译错误时,需添加缺失的simpleMessageSender.cpp文件。接着,解决调试问题,将SMILExtract_Release.exe复制到相应目录,并修改调试属性。在特征提取部分,通过设置命令参数进行文件操作,并利用附加到进程功能在dll动态链接库中观察变量变化。
879

被折叠的 条评论
为什么被折叠?



