Голосовой помощник на Python: урок для школьников

Введение в создание голосового помощника

Голосовые помощники становятся всё более популярными в нашей повседневной жизни. Они помогают нам выполнять различные задачи, от установки будильников до поиска информации в интернете. В этом уроке мы научимся создавать простого голосового помощника на языке программирования Python. Это отличный способ познакомиться с основами программирования и работы с библиотеками.

Что нам понадобится

Для начала, убедитесь, что у вас установлен Python. Мы будем использовать несколько библиотек, которые помогут нам в создании голосового помощника:

  • speech_recognition — для распознавания речи;
  • pyttsx3 — для синтеза речи;
  • datetime — для работы с датой и временем;
  • wikipedia — для поиска информации в Википедии.

Вы можете установить необходимые библиотеки с помощью команды:

pip install SpeechRecognition pyttsx3 wikipedia

Создание простого голосового помощника

Теперь давайте перейдем к написанию кода. Мы создадим простую программу, которая будет слушать ваши команды и отвечать на них. Вот базовая структура нашего голосового помощника:

import speech_recognition as sr
import pyttsx3
import datetime
import wikipedia

Сначала импортируем необходимые библиотеки. Теперь создадим функцию для распознавания речи:

def listen():
    recognizer = sr.Recognizer()
    with sr.Microphone() as source:
        print("Слушаю...")
        audio = recognizer.listen(source)
        try:
            command = recognizer.recognize_google(audio, language='ru-RU')
            print(f"Вы сказали: {command}")
            return command
        except sr.UnknownValueError:
            print("Не удалось распознать речь.")
            return None
        except sr.RequestError:
            print("Ошибка соединения с сервисом распознавания.")
            return None

Эта функция будет слушать ваш голос и пытаться распознать сказанное. Если распознавание прошло успешно, команда будет возвращена.

Добавление синтеза речи

Теперь добавим возможность, чтобы наш помощник мог отвечать. Для этого создадим функцию, которая будет озвучивать текст:

def speak(text):
    engine = pyttsx3.init()
    engine.say(text)
    engine.runAndWait()

Теперь мы можем использовать эту функцию, чтобы наш помощник отвечал на команды. Например, давайте добавим возможность сообщать текущее время:

def respond(command):
    if "время" in command:
        now = datetime.datetime.now().strftime("%H:%M")
        speak(f"Сейчас {now}.")

Поиск информации в Википедии

Добавим возможность поиска информации в Википедии. Если пользователь скажет что-то вроде «Расскажи о Python», наш помощник должен ответить с краткой информацией:

def respond(command):
    if "время" in command:
        now = datetime.datetime.now().strftime("%H:%M")
        speak(f"Сейчас {now}.")
    elif "расскажи о" in command:
        topic = command.replace("расскажи о", "").strip()
        summary = wikipedia.summary(topic, sentences=1)
        speak(summary)

Основной цикл программы

Теперь объединим все части в основной цикл программы, который будет постоянно слушать команды:

if __name__ == "__main__":
    while True:
        command = listen()
        if command:
            respond(command)

Этот цикл будет работать бесконечно, пока вы не остановите программу. Теперь у вас есть простой голосовой помощник, который может сообщать время и искать информацию в Википедии!

Тестирование и улучшение

После того как вы написали код, протестируйте его. Попробуйте задать разные команды и посмотрите, как ваш помощник реагирует. Вы можете улучшить его, добавив новые функции, такие как:

  • Установка будильников;
  • Ответы на вопросы о погоде;
  • Выполнение простых математических операций.
Примечание

Не забывайте, что программирование — это процесс проб и ошибок. Не бойтесь экспериментировать!

Заключение

Создание голосового помощника на Python — это увлекательный и полезный проект, который поможет вам развить навыки программирования. Вы узнали, как использовать библиотеки для распознавания и синтеза речи, а также как работать с внешними источниками информации. Надеемся, что этот урок вдохновит вас на дальнейшие эксперименты и изучение программирования!

Важно

Помните, что возможности вашего помощника ограничены только вашим воображением. Пробуйте новые идеи и улучшайте свой проект!