Помощник по Python

#python #python-3.x #pyttsx3 #gtts

#питон #python-3.x #pyttsx3 #gtts

Вопрос:

Я создаю помощника для управления/управления 3D — принтерами. Это работает, когда это просто текстовый помощник, но с тех пор, как я попытался добавить разговор и прослушивание бота, все работает не очень хорошо.

  1. Почему помощник не произносит ответы?
  2. Когда я запускаю код со всеми функциями прослушивания и говорения, но работает намного медленнее до такой степени, что это делает бота непрактичным в использовании

Вот это main.py файл

 import os import time from known_requests import simple from printer import print_commands from queueCommands import * from speaking import * # from queueCommands import Queue_Commands # from IG import ig  while True:  if __name__ == '__main__':  try:  time.sleep(1)  print("What can I do for you?: ")  text = get_audio()  print_commands(text)  simple(text)  add(text)  view_queue(text)  remove(text)  # ig(text)  except KeyboardInterrupt:  print('program killed')  exit()  except ConnectionError:  print('Connection error occured')  except TimeoutError:  print('took to long')  

Speaking.py для функции «получить аудио» и «говорить»

 import os import time import playsound import speech_recognition as sr from gtts import gTTS import pyttsx3   def speak(text):  engine = pyttsx3.init()  engine.say(text)  engine.runAndWait()  def get_audio():  r = sr.Recognizer()  with sr.Microphone() as source:  audio = r.listen(source)  said = ""   try:  said = r.recognize_google(audio)  print(said)  except Exception as e:  print("Exception: "   str(e))   return said  

The code for some basic requests:

 from datetime import datetime from datetime import date from main import speak    def simple(text):  if text == "what time is it":  now = datetime.now()  current_time = now.strftime("%H:%M:%S")  speak("Current Time =", current_time)   if text == "what is today's date":  today = date.today()  d2 = today.strftime("%B %d, %Y")  speak(d2)   if text == "hello":  speak("Hey")   if text == "goodbye":  speak("goodbye")  exit()