Top.Mail.Ru
Ответы

Библиотека speech_recognition, питон 3.8

Я пишу своего голосового ассистента, и для записи и расшифровки аудио использую такой код:

print('Произнесите ваш запрос')
recording = sd.rec(int(5 * 44100), samplerate=44100, channels=2)
sd.wait(2)
print('Думаю...')
write("recording.wav", 44100, recording)
wv.write("recording.wav", recording, 44100, sampwidth=2)
r = sr.Recognizer()
with sr.AudioFile("recording.wav") as source:
audio = r.record(source)
try:
text = r.recognize_google(audio, language="ru-RU")
print("Text: "+text)
except Exception as e:
print("Exception: "+str(e))


И он на выходе выдаёт это:


result2:
{ 'alternative': [ {'confidence': 0.93195337, 'transcript': 'погода'},
{'transcript': 'погодо'}],
'final': True}
Text: погода


Там несколько вариантов результата с процентной вероятностью (в данном случае мой запрос - погода.
Как мне изменить код, чтобы на выходе отображался только финальный вариант, без альтернативных транскрипций?

По дате
По рейтингу
Аватар пользователя
Просветленный
11мес

у тебя поле confidence во всех предлагаемых вариантах?
если да, то вот так

12
 from operator import itemgetter
sorted(result2['alternative'], key = itemgetter('confidence'), reverse = True)[0]