2017-08-14 20 views
0

私はGoogleの音声認識を使用しようとしています。私の問題は、マイクに何かを言った後、結果は常に同じです。私は0x111a8b358Pythonの音声認識ライブラリは常に同じ文字列を返します

data = RecordAudio() 

データは、常にこの speech_recognition.AudioDataオブジェクトに等しいされたデータを取得しようとしているときに

は私の機能は、この

def RecordAudio(): 
    import speech_recognition as sr 

    r = sr.Recognizer() 
    with sr.Microphone() as source: 
     print("Say something!") 
     audio = r.listen(source) 

    # Speech recognition using Google Speech Recognition 
    try: 
     print("You said: " + r.recognize_google(audio)) 
    except sr.UnknownValueError: 
     print("Google Speech Recognition could not understand audio") 
    except sr.RequestError as e: 
     print("Could not request results from Google Speech Recognition service; {0}".format(e)) 

    return audio 

のように見えますしかし、私にとって奇妙なことは、このコードが関数なしでrなしの1つのファイルにあるときですその結果、これはうまくいきます。例えば

私はtest.pyファイル

import speech_recognition as sr 

r = sr.Recognizer() 
with sr.Microphone() as source: 
    print("Say something!") 
    audio = r.listen(source) 

# Speech recognition using Google Speech Recognition 
try: 
    print("You said: " + r.recognize_google(audio)) 
except sr.UnknownValueError: 
    print("Google Speech Recognition could not understand audio") 
except sr.RequestError as e: 
    print("Could not request results from Google Speech Recognition service; {0}".format(e)) 

これがない作業が、最初の例であるとしました。

何が起こっているのでしょうか?

+1

生の録音されたサウンドである 'audio'の値を返しています。音声認識の結果は 'r.recognize_google(audio)'から出力されます。これは印刷しますが、どこにも保存しません。後で返すことができるように、ローカル変数に保存する必要があります。 – jasonharper

+0

はい、あなたは正しいです、あなたはそれに答える前に、私はそれを解決し、答えを投稿します。とにかくお返事ありがとうございます。 –

答えて