2015-11-17 30 views
3

我已經嘗試了幾天在我的Ubuntu 14.04上使用麥克風與PyAudio。其實我想在github中使用'Speech Recognition'包。PyAudio不能在Ubuntu 14.04上使用麥克風,'無法打開奴隸'

我發現它使用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 

我發現在網站上幾個類似的帖子,有沒有這方面的解決方案。我無法通過麥克風記錄我的聲音,它只是在那裏搜索。任何人在ubuntu 14.04上成功運行它? (PyAudio錄製語音或Speech Recognition

回答

1

我不知道這是否也解決了您的問題,但在我的情況下,HDMI-sound-devices和脈衝(也是Ubuntu 14.04)也出現了。由於這些設備的指數似乎發生了變化,我想出了這個小腳本,它列舉了所有可用的設備,並給出了脈衝設備的索引(您可能需要其他設備,例如,如果您有USB或麥克風)。日):

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 

這之後我能打開流:

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()