從opensmile官網下載的包包括了vs工程,可直接用vs打開。
一、使用opensmile vs工程
- 打開工程後,vs提示升級解決方案,點擊確定。或在項目-重定解決方案目標中升級
- 將調試模式debug改爲release。注意,release同樣可以加斷點調試。
- 編譯
- 若直接編譯,出現錯誤。
解決方法是在openSimleLib項目中右鍵添加-現有項,在opensmile-2.3.0\src\examples目錄下選擇simpleMessageSender.cpp。重新編譯 - 出現錯誤
解決方法是將與opensmile包平級的msvcbuild目錄下的SMILExtract_Release.exe複製到opensmile-2.3.0\ide\vs10\Release目錄下。我也不知道有沒有更好的解決方法。
- 添加參數。打開調試-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的進程
- 可以安心觀察函數了