speex+VS2010小白编译

作为语音处理初学者,最近花时间学习了speex的回声消除算法并进行编译,现将遇到的一些问题总结记录:

speex已经出来了好几个版本,最好下比较近的,各版本略有差别,但一通全通。

以speexdsp-1.2rc3的testecho为例子说明

打开speexdsp-1.2rc3\win32\VS2008\libspeexdsp.sln,首先编译libspeexdsp,右键>仅用于此项目>仅生成,一般就可以成功生成,如果报错提示.c文件失效或找不到,一般是因为版本的问题,自己手动source file>添加>添加现有项,然后找到路径加进去就可以,正确可以打开的文件前边会有个小三角,然后把失效的移除就可以解决。

然后单独编译自己需要的,比如testecho,右键>仅用于此项目>仅生成,生成成功,主界面 本地Windows调试器运行,如果弹出黑框不报错说明调试成功。

我在第一次运行的时候遇到这些问题:①找不到xxx.lib文件,没有先将libspeexdsp库生成,speexdsp-1.2rc1有两个库,根据报错提示生成就可以。②无法运行xxx.exe程序,是因为实际生成在speexdsp-1.2rc3\bin中,运行时却到speexdsp-1.2rc3\win32\VS2008\libspeexdsp\debug中查找,自然找不到-——解决方法:属性>配置属性>常规>输出目录,选择“从父级或项目默认设置继承”,然后链接器>常规>输出目录,同样选择“从父级或项目默认设置继承”,确定,再次运行就可以啦。

代码中有读取文件,方式:属性>项目属性>调试>命令参数>编辑,按次序依次复制文件地址+文件名,中间间隔一格就可以。e.g.“D:\learning\speex—update\11\echo8k.pcm D:\learning\speex—update\11\source8k.pcm D:\learning\speex—update\11\error8k.pcm”,注意代码读入的是“testecho mic_signal.sw speaker_signal.sw output.sw\n”,8k采样率,16bit,要先用软件将一般的  .wav格式文件转换成 .pcm(没有开头的44个字符)才可以,我用的是cool edit转换的。

然后去生成目录查看生成的文件,对比验证就可以了。

猜你喜欢

转载自blog.csdn.net/qq_40168949/article/details/79995718