最近项目需要做声纹识别,在Github上找了个说话人识别的代码,作为声纹识别。源代码是在Win10上开发的,在配置环境的过程中遇到了一些问题,分享一下,希望可以帮助更多的小伙伴:
Win环境配置
- 原代码是在win10上配置的,因此在win10上配置环境的过程基本上没有特别需要注意的,主要问题也是pyaudio安装有问题,不能用<pip install>的方式装,应该去这里下载对应的whl包,然后本地安装,就没什么问题了。
Linux下安装pyaudio(这是本帖主要讨论的问题)
- 在Linux下安装pyaudio需要有portaudio这个系统组件的支持,通过百度可以找到很多安装这个库的方法,这里也可以附上一些可能用到的链接:
- 安装PortAudio后根据上面上一点第二个链接中的方法使用<pip install pyaudio>安装pyaudio即可
- PyAudio测试
-
import pyaudio pa = pyaudio.PyAudio() pa.get_default_input_device_info() pa.get_default_output_device_info()
如果以上代码没有出现异常,可以出现正确的设备信息,没有出现类似 [Errno -9996] Invalid input device (no default output device)表示成功安装,否则看下一步。
-
重点来了在Ubuntu20.04上一般情况下,以上测试无法通过,因为新安装的portaudiolib没有配置正确的路径,实行以下命令即可解决:
sudo mv libportaudio.so.2.0.0 oldlibportaudio.so.2.0.0 sudo ln -s /usr/lib/x86_64-linux-gnu/libportaudio.so.2.0.0 libportaudio.so.2.0.0
- 附上链接
- 结语:本人亲身经历过win平台开发的各种恶心,所以对win平台深恶痛绝,所以才尝试在linux上配置,没想到这次竟然被pyaudio惹了一身骚。害,不过,能学到东西,也算不错吧。最后说一句:Stack Overflow ,yyds!!!