2015-11-26 6 views
1

Я хочу получить простое распознавание речи, которое работает. Я смотрел на это на speech_recognition, когда я выполняю код следующая ошибка происходитРаспознавание речи для Python 3.4, что легко работать?

import speech_recognition as sr 
r = sr.Recognizer() 
with sr.Microphone() as source:     
    audio = r.listen(source)     

try: 
    print("You said " + r.recognize(audio))  
except LookupError:        




print("You said " + r.recognize(audio)) # recognize speech using Google  Speech Recognition 
AttributeError: 'Recognizer' object has no attribute 'recognize' 

    print("Could not understand audio") 

Это был скопирован из их примеров на их веб-странице

ответ

3

Я получил его работу.

import speech_recognition as sr 

# obtain audio from the microphone 
r = sr.Recognizer() 
with sr.Microphone() as source: 
    print("Say something!") 
    audio = r.listen(source) 

print(r.recognize_google(audio)) 
0

Какую версию библиотеки SpeechRecognition вы используете?

Вы можете проверить это с:

import speech_recognition as sr 
print sr.__version__ 

Если вы используете самую последнюю версию (SpeechRecognition 3.1.3), вы должны использовать метод recognize_google() вместо recognize(), чтобы использовать Google API.

Что касается последней документации, вы можете найти ее here, а также некоторые полезные examples.

0

Я взял код, который на самом деле выполняет, но не печатает, что я говорю

Примечание: этот пример требует PyAudio, потому что он использует класс Microphone

import speech_recognition as sr 
import pyaudio 

# obtain audio from the microphone 
r = sr.Recognizer() 
with sr.Microphone() as source: 
    print("Say something!") 
    audio = r.listen(source) 

# recognize speech using Google Speech Recognition 
try: 
    # for testing purposes, we're just using the default API key 
    # to use another API key, use `r.recognize_google(audio, key="GOOGLE_SPEECH_RECOGNITION_API_KEY")` 
    # instead of `r.recognize_google(audio)` 
    print("Google Speech Recognition thinks 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)) 

# recognize speech using Wit.ai 
WIT_AI_KEY = "INSERT WIT.AI API KEY HERE" # Wit.ai keys are 32-character uppercase alphanumeric strings 
try: 
    print("Wit.ai thinks you said " + r.recognize_wit(audio, key=WIT_AI_KEY)) 
except sr.UnknownValueError: 
    print("Wit.ai could not understand audio") 
except sr.RequestError as e: 
    print("Could not request results from Wit.ai service; {0}".format(e)) 

# recognize speech using IBM Speech to Text 
IBM_USERNAME = "INSERT IBM SPEECH TO TEXT USERNAME HERE" # IBM Speech to Text usernames are strings of the form XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX 
IBM_PASSWORD = "INSERT IBM SPEECH TO TEXT PASSWORD HERE" # IBM Speech to Text passwords are mixed-case alphanumeric strings 
try: 
    print("IBM Speech to Text thinks you said " + r.recognize_ibm(audio, username=IBM_USERNAME, password=IBM_PASSWORD)) 
except sr.UnknownValueError: 
    print("IBM Speech to Text could not understand audio") 
except sr.RequestError as e: 
    print("Could not request results from IBM Speech to Text service; {0}".format(e)) 

# recognize speech using AT&T Speech to Text 
ATT_APP_KEY = "INSERT AT&T SPEECH TO TEXT APP KEY HERE" # AT&T Speech to Text app keys are 32-character lowercase alphanumeric strings 
ATT_APP_SECRET = "INSERT AT&T SPEECH TO TEXT APP SECRET HERE" # AT&T Speech to Text app secrets are 32-character lowercase alphanumeric strings 
try: 
    print("AT&T Speech to Text thinks you said " + r.recognize_att(audio, app_key=ATT_APP_KEY, app_secret=ATT_APP_SECRET)) 
except sr.UnknownValueError: 
    print("AT&T Speech to Text could not understand audio") 
except sr.RequestError as e: 
    print("Could not request results from AT&T Speech to Text service; {0}".format(e)) 

Я получаю следующее считанную

Скажите что-нибудь! Google Speech Recognition считает, что вы сказали привет Не удалось запросить результаты у Wit.ai; запрос подтверждения не выполнен: неверный запрос Не удалось запросить результаты службы IBM Speech to Text; запрос подтверждения не выполнен: неавторизованный Не удалось запросить результаты от AT & T Речь к текстовой службе; запрос авторизации не выполнен: неавторизованный

4

У меня была такая же проблема. Проблема заключалась в том, что я не установил минимальный пороговый уровень. Поэтому я добавил этот код.

import speech_recognition as sr 
r = sr.Recognizer() 
m = sr.Microphone() 
#set threhold level 
with m as source: r.adjust_for_ambient_noise(source) 
print("Set minimum energy threshold to {}".format(r.energy_threshold)) 
# obtain audio from the microphone 

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

print(r.recognize_google(audio)) 

Теперь его рабочий совершенный !!!