Вы можете использовать другую программу распознавания речи.Например, вы можете настроить учетную запись в IBM для использования их Watson Speech To Text.Если возможно, попробуйте использовать их интерфейс веб-сокета, потому что тогда он активно транскрибирует то, что вы говорите, пока вы все еще говорите.
Пример (без использования веб-сокетов) будет:
import speech_recognition as sr
# obtain audio from the microphone
r = sr.Recognizer()
with sr.Microphone() as source:
print("Adjusting for background noise. One second")
r.adjust_for_ambient_noise(source)
print("Say something!")
audio = r.listen(source)
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))
Вы также можете попытаться использовать Pocketsphinx, но лично у меня не было особенно хорошего опыта с ним.Это в автономном режиме (плюс), но, для меня, не было особенно точным.Вероятно, вы можете настроить некоторые параметры обнаружения и устранить фоновый шум.Я считаю, что есть также вариант обучения, чтобы изменить его к вашему голосу, но он не выглядит простым.
Некоторые полезные ссылки:
Распознавание речи
Пример распознавания микрофона
IBM Watson Speech to Text
Удачи.Как только распознавание речи работает правильно, это очень полезно и полезно!