All Projects → Aculeasis → mdmTerminal2

Aculeasis / mdmTerminal2

Licence: MIT license
Голосовой терминал для MajorDoMo

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to mdmTerminal2

vasisualy
Vasisualy it's a simple Russian voice assistant written on Python for GNU/Linux, Windows and Android.
Stars: ✭ 33 (+37.5%)
Mutual labels:  voice-assistant, rhvoice
opensnips
Open source projects related to Snips https://snips.ai/.
Stars: ✭ 50 (+108.33%)
Mutual labels:  snowboy, porcupine
Awesome Bots
The most awesome list about bots ⭐️🤖
Stars: ✭ 2,864 (+11833.33%)
Mutual labels:  voice-assistant
karen
open-source voice assistant
Stars: ✭ 19 (-20.83%)
Mutual labels:  voice-assistant
Wukong Robot
🤖 wukong-robot 是一个简单、灵活、优雅的中文语音对话机器人/智能音箱项目,还可能是首个支持脑机交互的开源智能音箱项目。
Stars: ✭ 3,110 (+12858.33%)
Mutual labels:  snowboy
Mycroft Core
Mycroft Core, the Mycroft Artificial Intelligence platform.
Stars: ✭ 5,489 (+22770.83%)
Mutual labels:  voice-assistant
idear
🎙️ Handsfree Audio Development Interface
Stars: ✭ 84 (+250%)
Mutual labels:  voice-assistant
genie-toolkit
A Generator of Natural Language Parsers for Compositional Virtual Assistants
Stars: ✭ 115 (+379.17%)
Mutual labels:  voice-assistant
brasiltts
Brasil TTS é um conjunto de sintetizadores de voz, em português do Brasil, que lê telas para portadores de deficiência visual. Transforma texto em áudio, permitindo que pessoas cegas ou com baixa visão tenham acesso ao conteúdo exibido na tela. Embora o principal público-alvo de sistemas de conversão texto-fala – como o Brasil TTS – seja formado…
Stars: ✭ 34 (+41.67%)
Mutual labels:  voice-assistant
kim-voice-assistant
Kim,你的私人语音助理。
Stars: ✭ 70 (+191.67%)
Mutual labels:  snowboy
react-native-spokestack
Spokestack: give your React Native app a voice interface!
Stars: ✭ 53 (+120.83%)
Mutual labels:  voice-assistant
custom-hotword-for-aiy-voicekit
Snowboy API for AIY Voice Kit
Stars: ✭ 26 (+8.33%)
Mutual labels:  snowboy
go-snowboy
Go wrapper for Kitt-AI's snowboy audio detection library.
Stars: ✭ 40 (+66.67%)
Mutual labels:  snowboy
voco
Privacy friendly voice control for the Candle Controller / WebThings Gateway
Stars: ✭ 18 (-25%)
Mutual labels:  voice-assistant
Olivia
💁‍♀️Your new best friend powered by an artificial neural network
Stars: ✭ 3,114 (+12875%)
Mutual labels:  voice-assistant
xiaoai-patch
Patching for XiaoAi Speakers, add custom binaries and open source software. Tested on LX06, LX01, LX05, L09A
Stars: ✭ 58 (+141.67%)
Mutual labels:  voice-assistant
TIANE
TIANE - an open source smart-home-voice-assistant!
Stars: ✭ 17 (-29.17%)
Mutual labels:  voice-assistant
MajorDomo-Scenarios
Сценарии для системы домашней автоматизации Majordomo
Stars: ✭ 12 (-50%)
Mutual labels:  majordomo
KeenASR-Android-PoC
A proof-of-concept app using KeenASR SDK on Android. WE ARE HIRING: https://keenresearch.com/careers.html
Stars: ✭ 21 (-12.5%)
Mutual labels:  voice-assistant
awesome-rhasspy
Carefully curated list of projects and resources for the voice assistant Rhasspy
Stars: ✭ 50 (+108.33%)
Mutual labels:  voice-assistant

mdmTerminal 2

Tests

Голосовой терминал для домашней автоматизации, форк mdmPiTerminal.

Возможности
Интеграция

Установка

Используя докер: Dockerfile и готовые образы под x86_64, aarch64, armv7l

Обычная установка

Подготовка

  • Проверка работы записи\воспроизведения

    Запустите arecord -d 5 -f S16_LE -r 16000 __.wav && aplay __.wav && rm __.wav и говорите что-нибудь 5 секунд.

Вы должны услышать запись своего голоса. Если что-то пошло не так аудиосистема требует настройки.

Скопируйте один из файлов из mdmTerminal2/asound в /etc/asound.conf. Для OPi zero +2 H5 должен подойти asound_h3.conf

Armbian на OrangePi

  • Аналоговые кодеки:

    Запустите armbian-config -> System -> Hardware. Включите analog-codec и перезагрузите апельсинку.

  • Встроенный микрофон (проверял на Zero +2 H5 с платой):

    alsamixer -> F4 выбираем Mic1 и жмем space, выходим

Узнайте на каком устройстве находятся микрофон и динамик через команды:

    aplay -l
    arecord -l

и отредактировать если нужно "hw:X,0" в /etc/asound.conf

Если запись или воспроизведение все еще не работают, можно поискать решение на форуме

Установка

Клонируйте репозиторий и запустите скрипт установки:

    cd ~/
    git clone https://github.com/Aculeasis/mdmTerminal2
    cd mdmTerminal2
    ./scripts/install.sh

Теперь можно запустить терминал в консоли и проверить его работоспособность:

    ./run.sh

Если все работает можно добавить сервис в systemd - терминал будет запускаться автоматически:

    ./scripts/systemd_install.sh

И посмотреть статус сервиса:

    sudo systemctl status mdmterminal2.service

Удаление

Удалить сервис и директорию терминала, все данные и настройки будут также удалены:

cd ~/
./mdmTerminal2/scripts/systemd_remove.sh
rm -rf mdmTerminal2/

Настройка

Описание всех настроек

Важно! Значительная часть настроек не доступна через MDM VoiceAssistant, их можно изменить отредактировав mdmTerminal2/src/settings.ini или установить плагин web-config и настроить все в браузере.

Настройка системных фраз

Подключение к MajorDoMo

Создание терминала:

  • После заходим - в Настройки > Терминалы > Добавить новую запись > Добавляем название и IP адрес терминала.
  • Включаем может принимать уведомления от системы.
  • Тип TTS: majordroid.
  • Включаем может проигрывать медиа-контент.
  • Тип плеера: MajorDroid.
  • Сохраняем.

Также можно выбрать плеер MPD и порт 6600, тогда MajorDoMo будет управлять mpd напрямую.

MDM VoiceAssistant:

  • Заходим в Панель управления MajorDomo > Система > Маркет дополнений > Оборудование > MDM VoiceAssistant и устанавливаем модуль.

  • Переходим в Устройства > MDM VoiceAssistant.

  • Выбираем ранее созданный терминал.

  • Выбираем Сервис синтеза речи

    Если есть API ключ от Яндекса, лучше выбрать Yandex TTS, если нет то Google Yandex может работать с пустым ключом (пока).

  • Чувствительность реагирования на ключевое слово

    Чем больше тем лучше слышит, но будет много ложных срабатываний.

  • Сервис распознавания речи

    Можно выбрать wit.ai или Microsoft, но для них нужно получить API ключ. Google работает без ключа.

  • Сохраняем.

Запись ключевых слов

Важно! Для компиляции нужно запустить локальный сервис или использовать универсальные модели

  • Переходим в Устройства > MDM VoiceAssistant > Выбираем наш терминал > Запись ключевого слова.

  • В самом верху выбираем какую модель-активатор мы хотим создать. Если модель уже существует, она будет перезаписана. Можно создать до 6 фраз-активаторов.

  • Нажимаем Запись, последовательно записываем 3 образца голоса.

  • (Опционально) Прослушиваем записи.

  • Нажимаем Компиляция. Терминал отправит образцы на сервер snowboy и получит готовую модель.

    Если все прошло хорошо, терминал выполнит реинициализацию моделей и начнет активироваться по новой фразе.

Модели хранятся в mdmTerminal2/src/resources/models/ и имеют расширение .pmdl. Они идентичны моделям в mdmPiTerminal. Если вы хотите убрать фразу из активации вам нужно удалить соответствующую модель.

Системные требования

  • Python 3.5+
  • Snowboy:
    • OS: Linux (рекомендую debian-based)
    • Architectures: armv7l, aarch64, x86_64
  • Porcupine: Linux, Windows, Raspberry Pi, Armlinux (a9-neon).

Решение проблем

  • Если после установки возникают ошибки со snowboy - соберите его вручную.
  • Если не работает USB микрофон, попробуйте выдернуть и вставить обратно, иногда это помогает.
  • Заикание rhvoice* в конце фраз лечится использованием одного из конфигов для asound.conf. Или отключением кэша (wav не заикается)
  • Если голос терминала искажается при активации, нужно настраивать asound.conf или попробовать другие конфиги.
  • Если терминал плохо распознает голос т.к. записывает сам себя, blocking_listener = 1 может помочь.
  • Ошибка во время компиляции модели Hotword is too long возникает из-за того что в семпл попало слишком много аудиоданных. Прослушайте соответствующие семплы, перепишите их и попробуйте снова.

Сообщество

Ссылки

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].