2016-12-19 29 views
0

[編集] PyAudioは動作しておらず、プログラムは音声認識をまったく行いません。Python SpeechRecognition Error ALSA

私は仮想マシンでUbuntuを実行しています。私は短いスクリプトを作成しました。これは、SpeechRecognition 3.5.0を使用して、ユーザーの発言を検出します。 pyaudioがインストールされていますが、スクリプトを実行するとエラーが発生します。私は自分のラップトップにマイクのビルドを使用しています。

import wolframalpha 
import os 
from gtts import gTTS 
import speech_recognition as sr 
r = sr.Recognizer() 
with sr.Microphone() as source:    
    audio = r.listen(source) 
print("You said " + r.recognize(audio)) 
app_id = ("H34HDS-SDFJKOEER2") 
client = wolframalpha.Client(app_id) 
while app_id == "H34HDS-SDFJKOEER2": 
    input = raw_input("Question: ") 
    res = client.query(input) 
    answer = next(res.results).text 
    tts = gTTS(text=answer, lang='en') 
    tts.save("hello.mp3") 
    os.system("mpg321 hello.mp3") 

私は取得していますエラーは次のとおりです。

ALSA lib pcm_dsnoop.c:606:(snd_pcm_dsnoop_open) unable to open slave 
ALSA lib setup.c:548:(add_elem) Cannot obtain info for CTL elem (MIXER,'AC97 2ch->4ch Copy Switch',0,0,0): No such file or directory 
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe 
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side 
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21 
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21 
ALSA lib setup.c:548:(add_elem) Cannot obtain info for CTL elem (MIXER,'AC97 2ch->4ch Copy Switch',0,0,0): No such file or directory 
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround41 
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround50 
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51 
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71 
ALSA lib setup.c:548:(add_elem) Cannot obtain info for CTL elem (PCM,'IEC958 Playback PCM Stream',0,0,0): No such file or directory 
ALSA lib setup.c:548:(add_elem) Cannot obtain info for CTL elem (PCM,'IEC958 Playback PCM Stream',0,0,0): No such file or directory 
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi 
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi 
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem 
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem 
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline 
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline 
Cannot connect to server socket err = No such file or directory 
Cannot connect to server request channel 
jack server is not running or cannot be started 
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock 
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock 
+1

[PyAudioの可能性の重複は、各作業時間が、エラーメッセージを出してくれる](http://stackoverflow.com/questions/7088672/pyaudio-working-but-spits-out-error-messages-each-time) –

+0

Nope。 PyAudioは実際には動作しません。 – TheMCProgrammer

+0

alsaが最初にaplay/amixerコマンドで動作し、ドライバが正しくインストールされているかどうかを確認する必要があります。そのためにハードウェアをチェックする必要があります(lspci出力)。次に、pulseaudioがデスクトップ設定で動作するかどうかを確認する必要があります。 pulseaudioが動作するようになったら、それ以外のものは動作します。 –

答えて

-2

私は自分のページから答えを提供してきました。基本的には、ジャックのオーディオサーバーは動作していません。 Linuxのオーディオに悩まされていた人として、私はそれが痛みを伴うかもしれないとあなたに伝えることができます。 Ubuntuの/ Debianのオンhttps://pypi.python.org/pypi/SpeechRecognition/

から

が、私は「ジャック・サーバが実行されていないか、起動することはできません」などのエラーを取得「ロックダウンすることはできませんが、[...]バイトのメモリ領域(メモリを割り当てることができません)」。

Linuxのオーディオスタックはかなり変わります。これらの問題を引き起こす原因はいくつかあります。

まず、JACKがインストールされていることを確認してください - それをインストールするには、実行sudoはapt-getをあなたは、エラー「メモリを割り当てることができません」ということを避けるために正しくJACKデーモンを設定したいと思うでしょうマルチメディアジャック

をインストールします。 sudo dpkg-reconfigure -p high jackd2を実行し、「Yes」を選択してください。

ここで、現在のユーザーがオーディオグルー​​プに属していることを確認する必要があります。 sudo adduser $(whoami)のオーディオを実行すると、現在のユーザーをこのグループに追加できます。

残念ながら、これらの変更を有効にするには再起動する必要があります。 jack_control開始に続いて再起動した後

、PulseAudioは--killを実行し、「ジャック・サーバが実行されていないか、起動できない」エラーを修正するための

+0

ええと...私はこれをしましたが、それでも同じエラーとエラーの別のカップルラインを与えます。 – TheMCProgrammer

+1

彼らのページの推薦状にもかかわらず、これは間違っています。ジャックを取り付けてはいけません。 JackはUbuntuのデフォルトのサウンドサーバーではありませんが、pulseaudioはありません。あなたがする必要があるのは、ジャックをインストールするのではなく、適切にpulseaudioとalsaを設定することです。 –

+0

私はこれを以前に知りたがっています。すでにJackがインストールされています。 pulseaudioとalsaを設定する方法を詳しく説明できますか? – TheMCProgrammer