Skip to content

mosave/LVTerminal

Repository files navigation

Lite Voice Terminal

Free, open source, offline, DIY smart speaker platform oriented to Russian language.

Disclaimer: MVP alpha version. Минимально жизнеспособный продукт, версия альфа

Lite Voice Terminal это клиент-серверная платформа с открытым исходным кодом для создания "легких" смарт колонок, не требующих использования онлайн-сервисов для распознавания голоса.

"Легкий" означает что смарт колонка (LVT клиент) может быть собрана на Raspberry Pi Zero или подобном маломощном одноплатном компьютере с достаточно чувствительным микрофоном и возможностью вывода звука.

Распознавание голоса и обработка команд выполняется на установленном в локальной сети kaldi/vosk API сервере. В целом можно сказать что Intel Core i3 / 16Gb достаточно для обеспечения работы 10-20 терминалов, 5-7 из которых могут одновременно поддерживать диалог с пользователем "в реальном времени".

Архитектура сервера LVT в целом предполагает расширение функциональности ассистента за счет отдельных модулей-скилов, однако реализация ориентирована в первую очередь на совместную работу с платформами автоматизации умного дома, таких как Home Assistant, для которого предусмотрен свой модуль интеграции

Запланированные изменения:

  • Отказ от избыточной универсальности, поддержка только русского языка.
  • Упрощение и оптимизация серверной части
  • Расширение протоколов управления LVT и разработка модуля интеграции с Home Assistant.
  • Оптимизация клиента LVT

Возможности (реализованные и планируемые к реализации)

  • Клиент LVT может работать как под unix (RaspberryPi с микрофоном) так и на windows платформе
  • Не требует использования внешних онлайн сервисов
  • Обмен между клиентской и серверной частью реализовано по протоколу websock с поддержкой SSL
  • Не требует специальной настройки голосовой активации, имя (несколько имен) ассистента задается в файле настройки.
  • Идентификация говорящего по голосу (работает только на достаточно длинных фразах, на текущий момент отключено)
  • Возможность расширения функций ассистента за счет написания своих модулей
  • Интеграция в Home Assistant
  • Запуск сервера LVT на Unix
  • Запуск сервера LVT на Windows
  • RHVoice TTS
  • Windows TTS
  • Docker-образ LVT сервера

При реализации LVT использованы сторонние компоненты и модули:

  • kaldi: офлайн-распознавание речи
  • vosk API: программный интерфейс для kaldi
  • pymorphy2: морфологический анализатор для русского и украинского языков
  • RHVoice: синтез голоса для русского языка
  • WebRTC VAD: Определение наличия голоса во входном потоке
  • ReSpeaker components: Взаимодействие с микрофоном и методы обработки звуков
  • mdmTerminal2: Много идей и кода позаимствовано из реализации голосового терминала MajorDoMo

Документация

License

LVT is distributed under LGPL v2.1 or later. Components and API used may be a subject of other licenses.

About

Lite Voice Terminal, an "offline smart speaker" solution powered by on-premise ASR server (vosk API / kaldi engine)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published