Advertisement
TTpocToXaKep

Speaking bot on 2 languages (RU/EN) python with 1 command

Feb 16th, 2023
979
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.93 KB | None | 0 0
  1. import speech_recognition as sr # pip install speech_recognition
  2. import pyttsx3 # pip install pyttsx3
  3.  
  4. # Создание объектов распознавания речи и синтеза речи
  5. r = sr.Recognizer()
  6. engine = pyttsx3.init()
  7.  
  8. # Определение языка для распознавания и синтеза речи
  9. print("Выберите язык: 1 - Русский, 2 - English")
  10. language_choice = input()
  11. if language_choice == "1":
  12.     language = "ru-RU"
  13.     hello_keyword = "привет"
  14.     intro_message = "Здравствуйте! Как я могу вам помочь?"
  15.     error_message = "Извините, я вас не понимаю."
  16.     speak_voice = "ru-RU"
  17. elif language_choice == "2":
  18.     language = "en-US"
  19.     hello_keyword = "hello"
  20.     intro_message = "Hello! How can I help you?"
  21.     error_message = "Sorry, I don't understand you."
  22.     speak_voice = "en-US"
  23. else:
  24.     print("Некорректный выбор языка.")
  25.     exit()
  26.  
  27. # Определение источника звука
  28. with sr.Microphone() as source:
  29.     print("Говорите:")
  30.     audio = r.listen(source)
  31.  
  32. try:
  33.     # Использование Google Speech Recognition API для распознавания речи
  34.     text = r.recognize_google(audio, language=language)
  35.     print("Вы сказали:", text)
  36.    
  37.     # Проверяем, содержит ли входной текст ключевое слово
  38.     if hello_keyword in text.lower():
  39.         response = intro_message
  40.     else:
  41.         response = error_message
  42.    
  43.     # Произносим ответ на выбранном языке
  44.     engine.setProperty('voice', speak_voice)
  45.     engine.say(response)
  46.     engine.runAndWait()
  47. except Exception as e:
  48.     # Выводим сообщение об ошибке, если произошла ошибка распознавания речи
  49.     print("Ошибка:", e)
  50.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement