Программа меня слышит, а диктора из сайта - НЕТ. Что можно сделать чтобы заставить ее слышать?
У меня есть сайт, где диктор (англичанин) произносит английские слова. Мне надо чтобы моей программе, вслед за произнесением диктора, автоматически печаталось это слово. Вот моя программа:
import speech_recognition as sr
mic = sr.Microphone(device_index=0)
while True:
r = sr.Recognizer()
with mic as source:
print('Говорите:')
r.adjust_for_ambient_noise(source)
audio = r.listen(source)
try:
text = r.recognize_google(audio, language='en-US')
print('Вы сказали:', text)
except sr.UnknownValueError:
print('Непонятно!!!')
except sr.RequestError:
print('Также непонятно!!!')
Только дело в том, что программа не слышит диктора. Когда говорю я, она меня слышит и печатает то, что я сказал, а когда говорит диктор, на все его слова программа печатает: «Непонятно!!!».
Другими словами, программа НЕ слышит в микрофон то, что произносится на самом компьютере (ноутбуке).
Как заставить ее слышать?
Ответы (1 шт):
Автор решения: VitoR InA
→ Ссылка
Вы можете попробовать перебрать все доступные микрофоны. Возможно в системе выбран не тот микрофон, который нужен.
import speech_recognition as sr
while True:
available_indexes = [str(microfone) for microfone in sr.Microphone.list_working_microphones().keys()]
print(f"Доступные индексы микрофонов: {', '.join(available_indexes)}")
index = int(input("Введите нужный индекс микрофона: "))
mic = sr.Microphone(device_index=index)
r = sr.Recognizer()
with mic as source:
print("Говорите:")
r.adjust_for_ambient_noise(source)
audio = r.listen(source)
try:
text = r.recognize_google(audio, language='en-US')
print(f"Вы сказали: {text}")
except sr.UnknownValueError or sr.RequestError:
print('Непонятно!')