PyAudio无法在Ubuntu 14.04上使用“无法打开从属设备”的麦克风

2024-05-18 10:17:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我试了好几天在我的Ubuntu14.04和PyAudio上使用麦克风。实际上我想在github中使用'Speech Recognition'包。在

我发现它使用的是pyaudio internal,在ubuntu14.04上简直是噩梦。它显示以下错误消息,无法从麦克风识别我的声音:

ALSA lib pcm_dsnoop.c:618:(snd_pcm_dsnoop_open) unable to open slave
ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave

我在网站上找到了几个类似的帖子,但没有解决办法。我不能通过麦克风录下我的声音,它只是在那里卡嗒作响。有人在Ubuntu14.04上成功运行过吗?(PyAudio录制声音或Speech Recognition


Tags: to声音libopenunknownslavealsacards
3条回答

我不知道这是否也解决了你的问题,但在我的例子中,HDMI声音设备和脉冲来了(同样是ubuntu14.04)。由于设备的索引似乎会发生变化,我想出了一个小脚本,它列出了所有可用的设备,并给出了脉冲设备的索引(您可能需要另一个设备,例如,如果您有usb麦克风或s.th.):

import pyaudio
pa = pyaudio.PyAudio()
chosen_device_index = -1
for x in xrange(0,pa.get_device_count()):
    info = pa.get_device_info_by_index(x)
    print pa.get_device_info_by_index(x)
    if info["name"] == "pulse":
        chosen_device_index = info["index"]
        print "Chosen index: ", chosen_device_index

在那之后,我可以打开溪流:

^{pr2}$

相关问题 更多 >