UMFUCHI
@UMFUCHI
НедоПайтонист

Неизвестный краш, мб ошибка в коде?

Не знаю почему, но после некоторого времени использования ассистента просто идёт краш.
import speech_recognition
from gtts import gTTS
import random
import time
import playsound
import speech_recognition as sr
import pyttsx3


def listen_command():
    #return input("Чего желаете? ")
    r = sr.Recognizer()

    with sr.Microphone() as source:
        print('Говорите : ')
        r.pause_threshold = 1
        r.adjust_for_ambient_noise(source, duration=1)
        audio = r.listen(source)
    try:
        exersize = r.recognize_google(audio, language="ru-Ru").lower()
        print('Вы сказали : ' + exersize)
    except sr.UnknownValueError:
        talk('Я вас не поняла , повторите пожалуйста ')
        exersize = commands()

    return exersize

def do_this_command(message):
    message = message.lower()
    if "привет" in message:
        say_message("Здравствуйте, хозяин!")
    elif "как дела" in message:
        say_message("Всё отлично, у Вас?")
    elif "что ты умеешь" in message:
        say_message("Я могу ...")
    elif "какое сейчас время" in message:
        say_message("Сейчас"+str(time.time()))
    elif "пока" in message:
        say_message("Рад служить Вам")
        exit()
    else:
        say_message("Команда не распознана.")

def say_message(message):
    voice = gTTS(message, lang="ru")
    filevoicename = "_audio_"+str(time.time())+str(random.randint(0,100000))+".mp3"
    voice.save(filevoicename)
    playsound.playsound(filevoicename)
    print("Jarvis say"+message)



if __name__ == '__main__':
    while True:
        command = listen_command()
        do_this_command(command)


Вот сама ошибка:
Вы сказали : какое сейчас время
Jarvis sayКоманда не распознана.
Говорите : 
Traceback (most recent call last):
  File "C:\Users\User\PycharmProjects\Jarvis\main.py", line 20, in listen_command
    exersize = r.recognize_google(audio, language="ru-Ru").lower()
  File "C:\Users\User\PycharmProjects\Jarvis\venv\lib\site-packages\speech_recognition\__init__.py", line 858, in recognize_google
    if not isinstance(actual_result, dict) or len(actual_result.get("alternative", [])) == 0: raise UnknownValueError()
speech_recognition.UnknownValueError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\User\PycharmProjects\Jarvis\main.py", line 55, in <module>
    command = listen_command()
  File "C:\Users\User\PycharmProjects\Jarvis\main.py", line 23, in listen_command
    talk('Я вас не поняла , повторите пожалуйста ')
NameError: name 'talk' is not defined

Process finished with exit code 1
  • Вопрос задан
  • 196 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Maslov_Evgeni
При похожей проблеме мне помогло
r.recognize_google(audio, language="ru-RU", show_all=True)['alternative'][0]['transcript']
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы