Centos7下安装pyaudio实现声音录制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7下安装pyaudio实现声音录制相关的知识,希望对你有一定的参考价值。

参考技术A (1) centos7环境下,运行yum -y install portaudio portaudio-devel进行环境准备

否则会产生如下错误信息:src/_portaudiomodule.c:29:23: fatal error: portaudio.h: No such file or directory

(2) 安装pyaudio:pip3 install pyaudio

错误信息

解决:ln -s /usr/lib64/libpython3.6m.so.1.0 /usr/lib64/libpython3.6m.so

错误信息

解决:首先通过find /usr -name Python.h找到Python.h所在的目录,由于安装包中指定的python3.6版本,本机未安装,故通过软连接实现:ln -s /usr/local/include/python3.7m/ /usr/include/python3.6m

参考 链接

pyaudio 录制多个频道

【中文标题】pyaudio 录制多个频道【英文标题】:pyaudio recording multiple channels 【发布时间】:2021-09-15 14:32:42 【问题描述】:

我需要能够使用 Presonus 1810c (USB-C) 音频接口通过 ASIO 录制 3 通道麦克风输入声音。我可以通过 DAW 来完成,所以我知道硬件和驱动程序可以工作。不过,并非所有输入都显示在录音设备中,所以我不能用 pyaudio 来做到这一点。是否有其他方法可以获取未出现在列表中的此类设备?

这是我用来获取设备列表的代码:

info = p.get_host_api_info_by_index(0)
numdevices = info.get('deviceCount')
for i in range(0, numdevices):
    if (p.get_device_info_by_host_api_device_index(0, i).get('maxInputChannels')) > 0:
        n = p.get_device_info_by_host_api_device_index(0, i).get('name')
        print("Input Device id",i,"-", n.encode("utf8").decode("cp950", "ignore"))

【问题讨论】:

【参考方案1】:

所以我想我找到了解决方案。 sounddevice 包可以看到更多用于录制的设备

【讨论】:

以上是关于Centos7下安装pyaudio实现声音录制的主要内容,如果未能解决你的问题,请参考以下文章

python 录制电脑声音

录制内部声音(来自软件合成器的输出)而不是来自麦克风

使用 PyAudio 录制扬声器输出

pyaudio 录制多个频道

pyaudio音频录制及基础音频知识理解

python 怎么录制系统声音不只是麦克风声音