【发布时间】:2019-11-25 00:01:49
【问题描述】:
我已将 USB 麦克风 (ReSpeaker 4 Mic Array (UAC1.0)) 连接到我的 Gentoo linux 机器。 我想用那个 USB 麦克风用 pyaudio 录音。 Pyaudio 检测到 USB 设备,但未检测到其输入通道。
这是输出的相关部分:
import pyaudio
p = pyaudio.PyAudio()
for i in range(p.get_device_count()):
print p.get_device_info_by_index(i)
[...]
'maxOutputChannels': 2L, 'name': u'HDA Intel PCH: AD198x Analog (hw:0,0)', 'defaultHighInputLatency': -1.0}
{'defaultSampleRate': 16000.0, 'defaultLowOutputLatency': 0.024, 'defaultLowInputLatency':-1.0,'maxInputChannels':0L, 'structVersion':2L,'hostApi':0L,'index':1, “defaultHighOutputLatency”:0.096,“maxOutputChannels”:2L,“名称”: u'ReSpeaker 4 麦克风阵列 (UAC1.0):USB 音频 (hw:1,0)', 'defaultHighInputLatency':-1.0}
{'defaultSampleRate': 44100.0, 'defaultLowOutputLatency': -1.0, 'defaultLowInputLatency':0.008707482993197279,'maxInputChannels': 2L,'structVersion':2L,'hostApi':0L,'index':2, 'defaultHighOutputLatency':-1.0,'maxOutputChannels':0L,'名称': u'PrimeSense 设备:USB 音频 (hw:2,0)','defaultHighInputLatency': 0.034829931972789115}
[...]
而
$ arecord -l
成功检测到麦克风作为输入设备。
**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: AD198x Analog [AD198x Analog]
Subdevices: 0/2
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
card 1: ArrayUAC10 [ReSpeaker 4 Mic Array (UAC1.0)], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 2: Device [PrimeSense Device], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 3: Phone [MT65xx Android Phone], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0
我假设 arecord 和 pyaudio 是相互独立的,但是 我该怎么做才能让 Pyaudio 将麦克风识别为麦克风? 是否有一些配置文件需要修改?
非常感谢任何帮助。
【问题讨论】:
-
对此有什么答案吗?请分享!