PyAudio无法在Ubuntu 14.04上使用"无法打开奴隶"的麦克风

Jam*_* Fu 5 python ubuntu pyaudio ubuntu-14.04

我已经尝试了几天在我的ubuntu 14.04和PyAudio上使用麦克风.其实我想在github中使用' Speech Recognition '包.

我发现它使用pyaudio内部,它是ubuntu 14.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
Run Code Online (Sandbox Code Playgroud)

我在网站上发现了几个类似的帖子,但没有解决方案.我无法通过麦克风录制我的声音,它只是卡在那里.有人在ubuntu 14.04上成功运行吗?(PyAudio录制语音或语音识别)

Tob*_*eis 2

我不知道这是否也解决了您的问题,但就我而言,HDMI 声音设备和脉冲出现了问题(也是 Ubuntu 14.04)。由于设备的索引似乎发生了变化,我想出了这个小脚本,它枚举所有可用的设备并为我提供脉冲设备的索引(您可能需要另一个设备,例如,如果您有 USB 麦克风或 s. ):

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
Run Code Online (Sandbox Code Playgroud)

之后我就可以打开流了:

p = pyaudio.PyAudio()
stream = p.open(format=pyaudio.paInt16, channels=1, rate=16000, input_device_index=chosen_device_index, input=True, output=False)
stream.start_stream()
Run Code Online (Sandbox Code Playgroud)