Сейчас голосовым ассистентом сложно кого-то удивить. Есть мобильные Alexa, Google Assistant и Siri, есть Cortana на Windows. А вот ОС Linux долгое время оставалась без такого приложения. Но теперь оно появилось — после 3 лет разработки была выпущена релизная версия голосового помощника Dragonfire 1.0.
Что известно
Программа написана на языке Python и распространяется под лицензией MIT. Для работы нужны дистрибутивы на базе ОС Ubuntu, в том числе KDE neon и elementary OS. Также есть мобильная версия для Android.
Распознавание голосовых команд осуществляется системой распознавания речи Mozilla DeepSpeech. Она базируется на платформе машинного обучения TensorFlow. Синтез же производится за счёт Festival. Интерфейс в форме вопрос/ответ базируется на библиотеке распознавания текста на естественном языке spaCy и данных из Википедии. Ответы же формируются на базе диалогов из фильмов (Cornell Movie-Dialogs Corpus).
Для визуализации Dragonfire на экран может выводиться полупрозрачный силуэт. Он показывает работу системы. Голосовые команды позволяют запускать приложения, вычислять математические выражения и задавать произвольные вопросы. Также голосом можно искать по списку встроенных команд.
Система умеет работать в серверном режиме, предоставляя RESTful API для создания диалоговых чатботов. В поставке уже есть готовая версия бота для Twitter. В числе системных требований Dragonfire указаны видеокарта с поддержкой CUDA и 2 Гб свободной оперативной памяти. Также поддерживается распознавание речи с помощью API Google Speech, а не встроенного движка. Это позволит экономить системные ресурсы.
Зачем это нужно
Изначально помощник Dragonfire развивается как разработка в рамках проект по созданию мотоциклетного шлема дополненной реальности Dragon Armor. Однако использование технологии голосового управления интересно и на обычных ПК. Да, это менее привычный способ, чем мышь, но, кто знает, может в будущем Dragonfire и аналоги станут обязательными «жителями» операционных систем.
Таким образом, фантасты оказались правы, скоро можно будет поболтать с виртуальным ассистентом как с обычным человеком.
Источник: GitHub