Хабрахабр

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>) [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: это консольная программа примерно для той же задачи, чтобы легко преобразовать человеческую речь в список компьютерных команд (или наоборот).

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

Показать больше

Похожие публикации

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

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

Кнопка «Наверх»