使用vs2017调试opensmile

从opensmile官网下载的包包括了vs工程,可直接用vs打开。

一、使用opensmile vs工程

  1. 打开工程后,vs提示升级解决方案,点击确定。或在项目-重定解决方案目标中升级
    使用vs2017调试opensmile_第1张图片
  2. 将调试模式debug改为release。注意,release同样可以加断点调试。
    在这里插入图片描述
  3. 编译
  • 若直接编译,出现错误。
    使用vs2017调试opensmile_第2张图片
    解决方法是在openSimleLib项目中右键添加-现有项,在opensmile-2.3.0\src\examples目录下选择simpleMessageSender.cpp。重新编译
  • 出现错误
    使用vs2017调试opensmile_第3张图片
    解决方法
    (1)将与opensmile包平级的msvcbuild目录下的SMILExtract_Release.exe复制到opensmile-2.3.0\ide\vs10\Release目录下。
    (2)打开调试-SMILExtract属性,在链接器-常规-输出文件修改为release$(TargetName)$(TargetExt)
  1. 添加参数。打开调试-SMILExtract属性,在调试-命令参数中填上config文件、输入文件和输出文件路径
    使用vs2017调试opensmile_第4张图片

二、特征提取,查看变量

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

你可能感兴趣的:(信号处理,opensmile,opensmile,语音情感识别,特征提取)