使用vs2017调试opensmile

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

一、使用opensmile vs工程

  1. 打开工程后,vs提示升级解决方案,点击确定。或在项目-重定解决方案目标中升级
    在这里插入图片描述
  2. 将调试模式debug改为release。注意,release同样可以加断点调试。
    在这里插入图片描述
  3. 编译
  • 若直接编译,出现错误。
    在这里插入图片描述
    解决方法是在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)
  1. 添加参数。打开调试-SMILExtract属性,在调试-命令参数中填上config文件、输入文件和输出文件路径
    在这里插入图片描述

二、特征提取,查看变量

  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的进程
    在这里插入图片描述
  1. 可以安心观察函数了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值