linux 下python代码获取音频文件

1. 安装pyaudio以及其他相关库

复制代码
sudo apt-get install libasound2-dev python3-pyaudio libportaudio2

可能不全,需要再搜一搜确认一下

2. 找不到ALSA库

报错找不到alsa-lib的库:

ALSA lib conf.c:4004:(snd_config_hooks_call) Cannot open shared library libasound_module_conf_pulse.so

原因是在conda环境下,会从当前python环境的依赖中查找alsa的库,但是实际上

在/usr/lib/下搜索libasound*

bash 复制代码
(py3810) ➜  lib find . -name "libasound*"

./x86_64-linux-gnu/alsa-lib/libasound_module_pcm_jack.so
./x86_64-linux-gnu/alsa-lib/libasound_module_ctl_oss.so
./x86_64-linux-gnu/alsa-lib/libasound_module_rate_speexrate_best.so
./x86_64-linux-gnu/alsa-lib/libasound_module_rate_samplerate_best.so
./x86_64-linux-gnu/alsa-lib/libasound_module_rate_speexrate.so
./x86_64-linux-gnu/alsa-lib/libasound_module_rate_speexrate_medium.so
./x86_64-linux-gnu/alsa-lib/libasound_module_ctl_pulse.so
./x86_64-linux-gnu/alsa-lib/libasound_module_pcm_usb_stream.so
./x86_64-linux-gnu/alsa-lib/libasound_module_ctl_arcam_av.so
./x86_64-linux-gnu/alsa-lib/libasound_module_pcm_vdownmix.so
./x86_64-linux-gnu/alsa-lib/libasound_module_rate_samplerate_medium.so
./x86_64-linux-gnu/alsa-lib/libasound_module_conf_pulse.so
./x86_64-linux-gnu/alsa-lib/libasound_module_pcm_pulse.so
./x86_64-linux-gnu/alsa-lib/libasound_module_pcm_oss.so
./x86_64-linux-gnu/alsa-lib/libasound_module_pcm_upmix.so
./x86_64-linux-gnu/alsa-lib/libasound_module_rate_samplerate_order.so
./x86_64-linux-gnu/alsa-lib/libasound_module_rate_samplerate_linear.so
./x86_64-linux-gnu/alsa-lib/libasound_module_rate_samplerate.so
./x86_64-linux-gnu/libasound.so
./x86_64-linux-gnu/libasound.so.2
./x86_64-linux-gnu/libasound.so.2.0.0

一种解决方案是建立软链接

bash 复制代码
ln -s /usr/lib/x86_64-linux-gnu/alsa-lib /home/douhua2/anaconda3/envs/py3810/lib/alsa-lib
相关推荐
唯创知音14 分钟前
WT2606B 驱屏语音芯片新增蓝牙功能:功能集成一体化,产品升级自动化,语音交互无线化,场景应用普适化!
语音识别·tts语音合成芯片
绵绵细雨中的乡音1 小时前
网络基础知识
linux·网络
Peter·Pan爱编程1 小时前
Docker在Linux中安装与使用教程
linux·docker·eureka
kunge20132 小时前
Ubuntu22.04 安装virtualbox7.1
linux·virtualbox
清溪5492 小时前
DVWA中级
linux
Sadsvit3 小时前
源码编译安装LAMP架构并部署WordPress(CentOS 7)
linux·运维·服务器·架构·centos
xiaok3 小时前
为什么 lsof 显示多个 nginx 都在 “使用 443”?
linux
苦学编程的谢4 小时前
Linux
linux·运维·服务器
G_H_S_3_4 小时前
【网络运维】Linux 文本处理利器:sed 命令
linux·运维·网络·操作文本
Linux运维技术栈4 小时前
多系统 Node.js 环境自动化部署脚本:从 Ubuntu 到 CentOS,再到版本自由定制
linux·ubuntu·centos·node.js·自动化