Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

License

Notifications You must be signed in to change notification settings

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

Contributors 3

AltStyle によって変換されたページ (->オリジナル) /