Мне всегда была интересна тема голосовых помощников. Я удивлялся, как люди создают таких крутых помощников, которые сами ищет информацию, ставят будильники, включают музыку по настроению и другое.
После изучение основ языка программирования Python, я начал подумывать о разработки собственного голосового помощника. После некоторых сомнений, я все же начал создавать своего голосового помощника по названием Алена.
- Алгоритм
Как и во всех больших проектах, надо составить алгоритм. Вот какой алгоритм вышел у меня -
1. Установить необходимые библиотеки,
2. Превращать текст в речь,
3. Распознавать команду пользователя,
4. Превращать команды в действия.
- Установка модулей
Чтобы наш алгоритм заработал, нужно скачать все необходимые модули, это:
Распознавания речи - Speech Recognition,
Превращать текст в речь - Pyttsx3.
И это по сути всё что нам нужно для создания голосового помощника (также есть другие модули, но они не так важны, так как они нужны для реализации самих команд).
- Превращения текста в речь и распознавание речи
Чтобы голосовой ассистент говорил, нам как не странно нужно, чтобы он умел проговаривать текст, для этого я скачал модуль Pyttsx3. Он идеально подходит для того, чтобы проговаривать текст.
Для того чтобы распознать речь, мы импортируем либу от гугла(Speech Recognition), которая использует всю мощь их серверов что бы распознать что мы там сказали.
- Превращение команд в действие
Чтобы превращать команды в действия, ничего не надо скачивать, достаточно создать словарь с командами. Вот словарь с командами:
Что происходит в проверке? Мы смотрим, совпадает ли команда пользователя с командами из словаря. Если совпадает, то мы выполняем эту команду, а если нет, то просто ничего не делаем. Проверка будет идти бесконечно, пока программу не остановят.
- Проверка
Вот скриншот после пару действий с Аленой -
- Заключение
У меня получилось сделать голосовой помощник, который открывает нужные мне приложения и сайты. До уровня Алисы и Сири, она конечно не доходит, но сам факт, что я смог создать такого помощника меня радует. Для идеального результата надо добавить машинное обучение, чем можно заняться в будущем. Удачи вам, надеюсь мой проект поможет вам.
- Ссылки на библиотеки
Pyttsx3 - https://pypi.org/project/pyttsx3/
Speech Recognition - https://pypi.org/project/SpeechRecogn ...
PyAudio - https://pypi.org/project/PyAudio/