Найти тему

Создание голосового ассистента на Python.

Добрый день. Наверное, все смотрели фильмы про железного человека и хотели себе голосового помощника, похожего на Джарвиса. В этом посте я расскажу, как сделать такого ассистента с нуля. Моя программа будет написана на python 3 в операционной системе windows. Итак, поехали!

Реализация

Работать наш ассистент будет по такому принципу:

  1. Постоянно «слушать» микрофон
  2. Распознавать слова в google
  3. Выполнять команду, либо отвечать

1) Синтез речи

Для начала мы установим в систему windows русские голоса. Для этого переходим по
ссылке и скачиваем голоса в разделе SAPI 5 -> Russian. Там есть 4 голоса, можно выбрать любой, какой вам понравится. Устанавливаем и идём дальше.

Нам нужно поставить библиотеку
pyttsx3 для синтеза речи:

pip install pyttsx3

Затем можно запустить тестовую программу и проверить правильность её выполнения.

2) Распознавание речи

Существует много инструментов для распознавания речи, но они все платные. Поэтому я пытался найти бесплатное решение для моего проекта и нашёл её! Это библиотека
speech_recognition.

pip install SpeechRecognition

Также для работы с микрофоном нам необходима библиотека PyAudio.

pip install PyAudio

У некоторых людей возникает проблема с установкой PyAudio, поэтому следует перейти по этой ссылке и скачать нужную вам версию PyAudio. Затем ввести в консоль:

pip install название скачанного файла

Затем запускаете тестовую программу. Но перед этим вы должны исправить в ней device_index=1 на своё значение индекса микрофона. Узнать индекс микрофона можно с помощью этой программы:

import speech_recognition as sr for index, name in enumerate(sr.Microphone.list_microphone_names()): print("Microphone with name \"{1}\" found for `Microphone(device_index={0})`".format(index, name))