import tkinter as tk
from tkinter import Label
from PIL import Image, ImageTk
import pyttsx3
import speech_recognition as sr
# Инициализация голосового движка
engine = pyttsx3.init()
# Функция для синтеза речи
def speak(text):
engine.say(text)
engine.runAndWait()
# Функция для распознавания речи
def recognize_speech_from_mic():
recognizer = sr.Recognizer()
microphone = sr.Microphone()
with microphone as source:
recognizer.adjust_for_ambient_noise(source)
print("Listening...")
audio = recognizer.listen(source)
try:
print("Recognizing...")
response = recognizer.recognize_sphinx(audio, language="ru-RU")
print(f"User said: {response}")
return response
except sr.UnknownValueError:
print("Sphinx could not understand audio")
return None
except sr.RequestError as e:
print(f"Sphinx error; {e}")
return None
# Функция для обработки команд
def process_command(command):
if "привет" in command:
speak("Привет! Какие у вас пожелания?")
elif "пока" in command:
speak("До свидания!")
root.quit()
else:
speak("Извините, я не понял вашу команду.")
# Функция для запуска распознавания речи
def listen_for_command():
command = recognize_speech_from_mic()
if command:
process_command(command)
# Создание графического интерфейса
root =
tk.Tk ()
root.wm_attributes("-topmost", 1)
root.attributes('-fullscreen', True)
root.configure(background='white')
root.title("I am so scary")
root.overrideredirect(True)
root.configure(background='white')
root.wm_attributes("-transparentcolor", "white")
img = ImageTk.PhotoImage(file='files/1.png')
imgLabel = Label(root, image=img, borderwidth=0, bg='white')
imgLabel.place(relx=0.5, rely=0.6, anchor='center')
label = tk.Label(root, text="привет! какие ваши пожелания?", fg='#41004D')
label.configure(background='white')
label.config(font=("Courier", 25))
label.place(relx=0.5, rely=0.3, anchor='center')
# Кнопка для запуска распознавания речи
listen_button = tk.Button(root, text="Слушать", command=listen_for_command)
listen_button.place(relx=0.5, rely=0.9, anchor='center')
root.mainloop()
мой код: