Rhasspy — опенсорсный и полностью офлайновый речевой тулкит. Распознавание русского языка. Никаких утечек в облако

от автора


Фото из сравнения микрофонных массивов для DIY-устройств типа самодельной умной колонки

Системы вроде Amazon Echo передают в облако для хранения ваши конфиденциальные разговоры (даже записанные случайно). В некоторых случаях записи прослушиваются живыми операторами. Это не просто потеря конфиденциальности. Это как добровольно впустить в свою квартиру «товарища майора», который стоит рядом 24 часа в сутки, слушает и внимательно записывает, притворяясь услужливым ассистентом.

Вместо покупки коммерческой системы у корпораций типа Google, Amazon или «Яндекс», вы можете собрать аналогичную опенсорсную систему на базе Raspberry Pi 2-3 B/B+, персонального компьютера или ноутбука.

Rhasspy — безопасный голосовой помощник, который работает автономно. Он ничего не передаёт на удалённые сервисы, при этом успешно справлятся с распознаванием речи и голосовых команд.

У Rhasspy очень простая интеграция в любую программную или аппаратную систему, куда вы хотите добавить голосовое управление. Автор поясняет, что инструмент изначально писался для проекта Home Assistant, но теперь совместим и с большинством других систем домашней автоматизации (Hass.io, Node-RED, OpenHAB, Jeedom).

Rhasspy оптимизирован для работы с внешними сервисами по MQTT, HTTP или Websockets. Оптимизирован именно для голосовых команд с чётко определённой грамматической структурой (включить/выключить свет, сделать музыку громче/тише и т. д.)

Поддерживается 14 языков, в том числе русский.

Модель работы описана в документации. В её основе — распознавание голосовых команд через специфический язык шаблонов, специально приспособленный для данной области. Эти команды классифицируются по намерению (intent) и могут содержать слоты или теги, такие как цвет для освещения или название конкретного светильника, которому подаётся команда.

Чтобы начать работу, перечислите намерения (в квадратных скобках) и возможные способы их вызова. Шаблон выглядит примерно так:

[LightState] states = (on | off) turn (<states>){state} [the] light

По такому шаблону Rhasspy сгенерирует JSON-код, который может использовать система домашней автоматизации, внешнее приложение или аппаратное устройство (через Node-RED, веб-сокеты):

{     "text": "turn on the light",     "intent": {         "name": "LightState"     },     "slots": {         "state": "on"     } }

Непосредственно распознавание речи выполняет pocketsphinx: легковесный опенсорсный движок с поддержкой русского языка. Он отлично подходит для мобильных устройств или одноплатных компьютеров типа Raspberry Pi.

Обработка звука происходит автономно на вашем устройстве. Сам звук может поступать с микрофонного массива Raspberry Pi (типа ReSpeaker 4 Mic Array или ReSpeaker 2 Mics pHAT) или из аудиопотока по сети.

Rhasspy — просто очень удобный инструмент, чтобы связать движок распознавания речи с системой автоматизации дома или какой-то другой системой, которая требует голосового управления. В принципе, его можно использовать где угодно: например, в мобильных приложениях. Или в каком-то домашнем роботе типа пылесоса или бармена.

Приятно, когда робот выполняет все те же действия, что и раньше, но теперь по голосовой команде.

Автор Rhasspy также является автором проекта voice2json: это консольная программа примерно для той же задачи, чтобы легко преобразовать человеческую речь в список компьютерных команд (или наоборот).

Кажется, будущее за голосовыми интерфейсами. В этом случае очень важно, чтобы обработка звуковых потоков проходила локально и не требовала доступа в интернет.


ссылка на оригинал статьи https://habr.com/ru/company/dcmiran/blog/482764/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *