if "открой ю туб" in command:
webbrowser.open("https://www.youtube.com")
speak("Открываю Ютуб")
elif "открой браузер" in command:
webbrowser.open("https://www.google.com")
speak("Открываю браузер")
elif "озон" in command: # Обработка команды для открытия Озона
webbrowser.open("https://www.ozon.ru")
speak("Открываю Озон")
Тебя не смущает что здесь 3 разных условия? В одном у тебя пробел вообще в «ю туб», с озоном ты просто слово проверяешь, а браузер с полной командой. Как ты вообще этот код писал...
import speech_recognition as sr
import pyttsx3
import threading
import webbrowser # Импортируем webbrowser для открытия сайтов
# Инициализация текстового движка
engine = pyttsx3.init()
# Выбор женского голоса
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[1].id)
def speak(text):
engine.say(text)
engine.runAndWait()
def listen_command():
recognizer = sr.Recognizer()
with sr.Microphone() as source:
while True:
print("Слушаю...")
audio = recognizer.listen(source)
try:
command = recognizer.recognize_sphinx(audio, language='ru-RU') # Используем pocketsphinx для оффлайн распознавания
print(f"Вы сказали: {command}")
if "стелла" in command:
speak("Да, как я могу помочь?")
else:
execute_command(command.lower())
except sr.UnknownValueError:
print("Не удалось распознать команду.")
except sr.RequestError:
print("Ошибка сервиса распознавания.")
def execute_command(command):
if "открой ю туб" in command:
webbrowser.open("https://www.youtube.com")
speak("Открываю Ютуб")
elif "открой браузер" in command:
webbrowser.open("https://www.google.com")
speak("Открываю браузер")
elif "озон" in command: # Обработка команды для открытия Озона
webbrowser.open("https://www.ozon.ru")
speak("Открываю Озон")
elif "аптека" in command:
webbrowser.open("https://www.apteka.ru") # Открытие сайта аптеки
speak("Открываю аптеку")
elif "яндекс маркет" in command:
webbrowser.open("https://market.yandex.ru") # Открытие Яндекс Маркета
speak("Открываю Яндекс Маркет")
elif "вайбер" in command:
# Убедитесь, что путь к Viber.exe правильный для вашей системы
speak("Открываю Вайбер.") # Здесь можно добавить подпрограмму, если необходимо открыть приложение
elif "найди" in command:
query = command.replace("найди", "").strip()
if query:
search_local(query)
else:
speak("Извините, я не понимаю команду.")
def search_local(query):
# Локальные знания (например, словарь или текстовые файлы)
local_database = {
"портос": "Портос - один из персонажей романа Александра Дюма 'Три мушкетера.'",
"дартаньян": "Дартаньян - главный герой романа 'Три мушкетера.'"
}
if query in local_database:
summary = local_database[query]
print(summary) # Выводим на консоль
speak(summary) # Читаем вслух
else:
speak("Извините, не удалось найти информацию в локальной базе данных.")
if __name__ == "__main__":
listen_thread = threading.Thread(target=listen_command)
listen_thread.start()