Пошаговый гайд: Как создать своего голосового ассистента с ИИ на Python!
Голосовой ассистент — это программа, которая понимает голосовые команды и выполняет задачи: отвечает на вопросы, управляет устройствами, ищет информацию в интернете.
Такие помощники применяются в умных колонках, чат-ботах, мобильных приложениях и даже в автоматизации работы на компьютере.
В основе технологии лежат:
- Speech-to-Text (STT) — преобразование речи в текст,
- Text-to-Speech (TTS) — синтез речи,
- NLP (Natural Language Processing) — обработка естественного языка,
- Machine Learning (ML) — обучение на данных для улучшения ответов.
В этом гайде разберём, как шаг за шагом создать своего голосового ассистента на 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-ботом.
Если вы хотите глубже разобраться в программировании и научиться создавать свои проекты с нуля, рекомендуем посетить онлайн практикум по промпт-инжинирингу.
Погружайтесь в мир программирования и создавайте крутые проекты!