Пошаговый гайд: Как создать своего голосового ассистента с ИИ на Python!

Пошаговый гайд: Как создать своего голосового ассистента с ИИ на Python!

Голосовой ассистент — это программа, которая понимает голосовые команды и выполняет задачи: отвечает на вопросы, управляет устройствами, ищет информацию в интернете.

Такие помощники применяются в умных колонках, чат-ботах, мобильных приложениях и даже в автоматизации работы на компьютере.

В основе технологии лежат:

  • Speech-to-Text (STT) — преобразование речи в текст,
  • Text-to-Speech (TTS) — синтез речи,
  • NLP (Natural Language Processing) — обработка естественного языка,
  • Machine Learning (ML) — обучение на данных для улучшения ответов.
Пошаговый гайд: Как создать своего голосового ассистента с ИИ на Python!

В этом гайде разберём, как шаг за шагом создать своего голосового ассистента на Python с помощью простых инструментов искусственного интеллекта.

С чего начать?

Прежде чем приступить к созданию ассистента, нужно подготовить рабочую среду. Python — это язык программирования, на котором мы будем писать код. Если у вас его нет, установите его с официального сайта Python.

Какие библиотеки нам понадобятся?

Библиотеки — это готовые инструменты, которые упрощают работу. Установим несколько таких:

  • speech_recognition — для понимания речи.
  • pyttsx3 — для озвучивания текста.
  • pyaudio — для работы с микрофоном.
  • openai — для подключения ИИ.

Чтобы установить их, откройте командную строку (в Windows — «Командная строка» или PowerShell, в Mac — «Терминал») и введите:

pip install speechrecognition pyttsx3 pyaudio openai

Если pyaudio не устанавливается, попробуйте:

pip install pipwin

pipwin install pyaudio

Теперь мы готовы к созданию ассистента!

Чтобы ассистент мог понимать голосовые команды, научим его слушать и распознавать речь. Для этого используем библиотеку speech_recognition.

Простой код для распознавания речи

import speech_recognition as sr

Создаём объект для распознавания

recognizer = sr.Recognizer()

Используем микрофон как источник звука

with sr.Microphone() as source:

print("Говорите...")

audio = recognizer.listen(source) # Записываем голос

try:

text = recognizer.recognize_google(audio, language="ru-RU") # Распознаем текст

print("Вы сказали:", text)

except sr.UnknownValueError:

print("Не удалось распознать речь")

except sr.RequestError:

print("Ошибка сервера")

Как это работает?

  • Программа включает микрофон и ждёт голосовую команду.
  • Когда человек говорит, голос записывается.
  • Библиотека recognize_google преобразует голос в текст.
  • Если всё прошло успешно, программа выводит текст.

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

Теперь научим ассистента говорить в ответ. Для этого используем библиотеку pyttsx3.

Простой код для озвучивания текста

import pyttsx3

engine = pyttsx3.init() # Создаём объект движка речи

engine.say("Привет! Я твой голосовой ассистент.") # Текст, который он скажет

engine.runAndWait() # Запускаем процесс озвучивания

После запуска программы вы услышите, как ассистент произнесёт фразу.

Можно менять голос, скорость речи и громкость.

Например:

engine.setProperty("rate", 150) # Скорость (чем меньше, тем медленнее)

engine.setProperty("volume", 0.9) # Громкость (от 0 до 1)

voices = engine.getProperty("voices")

engine.setProperty("voice", voices[0].id) # Выбор голоса (мужской/женский)

Чтобы ассистент мог понимать вопросы и давать осмысленные ответы, подключим к нему искусственный интеллект (GPT от OpenAI).

Создаём функцию для общения с ИИ

import openai

openai.api_key = "ВАШ_API_КЛЮЧ" # Получите ключ на https://platform.openai.com/signup/

def chat_with_ai(prompt):

response = openai.ChatCompletion.create(

model="gpt-3.5-turbo",

messages=[{"role": "user", "content": prompt}]

)

return response["choices"][0]["message"]["content"]

Проверяем работу

print(chat_with_ai("Привет! Как дела?"))

Теперь ассистент может отвечать на вопросы, используя ИИ!

Теперь соберём наш голосовой ассистент, который умеет слушать, понимать и отвечать.

import speech_recognition as sr

import pyttsx3

import openai

openai.api_key = "ВАШ_API_КЛЮЧ"

recognizer = sr.Recognizer()

engine = pyttsx3.init()

def speak(text):

engine.say(text)

engine.runAndWait()

def listen():

with sr.Microphone() as source:

print("Слушаю...")

audio = recognizer.listen(source)

try:

return recognizer.recognize_google(audio, language="ru-RU")

except sr.UnknownValueError:

return "Не удалось распознать речь"

except sr.RequestError:

return "Ошибка сервера"

def chat_with_ai(prompt):

response = openai.ChatCompletion.create(

model="gpt-3.5-turbo",

messages=[{"role": "user", "content": prompt}]

)

return response["choices"][0]["message"]["content"]

Запускаем ассистента

speak("Привет! Чем могу помочь?")

while True:

command = listen()

print("Вы сказали:", command)

if "пока" in command.lower():

speak("До свидания!")

break

response = chat_with_ai(command)

print("Ответ:", response)

speak(response)

Как это работает?

  • Ассистент слушает вас через микрофон.
  • Если понимает команду — передаёт её ИИ.
  • ИИ формирует ответ.
  • Ассистент озвучивает его.

Попробуйте сказать «Как тебя зовут?» или «Расскажи шутку» — ИИ даст осмысленный ответ!

Теперь можно добавить:

  • Открытие программ (браузер, музыка) через os.system().
  • Поиск в интернете (через webbrowser).
  • Голосовые команды для управления компьютером.

Пример открытия браузера по голосовой команде:

import webbrowser

if "открой браузер" in command.lower():

speak("Открываю браузер")

webbrowser.open("https://www.google.com")

Поздравляем! Теперь у вас есть собственный голосовой ассистент с ИИ, который:

  • Понимает голосовые команды
  • Отвечает с помощью ИИ
  • Озвучивает текст
  • Может выполнять команды на ПК

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

Если вы хотите глубже разобраться в программировании и научиться создавать свои проекты с нуля, рекомендуем посетить онлайн практикум по промпт-инжинирингу.

Погружайтесь в мир программирования и создавайте крутые проекты!

1
1