Git Product home page Git Product logo

mdmterminal2's People

Contributors

aculeasis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mdmterminal2's Issues

Задержка около 9 минут после уведомления

Скажите пожалуйста почему есть постоянная задержка между тем когда пришло уведомление в majordomo и оно его сказало. При чем задержка на всех абсолютно уведомлениях. И генерация ответа голосового тоже через 9 минут по логам.

Замена snowboy

Совсем не программист, но натолкнулся на такую вещь: https://picovoice.ai/ вроде не ресурсоемкий, работает на Python 3 (или NodeJS 10+).

Отправка уведомлений на majordomo

Когда терминал активируется фразой и начинает запись, когда заканчивает запись, по таймеру (пинг?).

[majordomo-notify]
object_name = 
object_method = 
# Вопрос еще в том, что именно отправлять в property.
object_property = 
# 0 - не отправлять
heartbeat_timeout = 300

Будет работать только если name, property и method заданы.

Объединение

Не могу найти тебя ни на форуме, ни в телеграмме.
Мне кажется нам нужно объединить усилия над проектом, а не делать 2 отдельных, а то и народ путается, и мы одну и туже работу делаем.

Напиши как найти тебя, спасибо

Снятие с паузы mpd по колбеку: stop_talking или stop_record

Снятие с паузы mpd по колбеку: stop_talking или stop_record
После того как музыка в терминале (mpd) стала на паузу (если например произносится фраза), то возврат к воспроизведению музыки делать по событиям:
stop_talking (если wait==-1)
stop_record (если wait==x>=0) возврат к воспроизведению музыки делать через x секунд (я надеюсь, что алса позволяет микшировать музыку и wav голоса)
Целесообразность по stop_record: Полезная "автоматизация" в случае ложных срабатываний ключевого слова.

Добавить событие speech_recognized_success

Добавить настройку alarmstt_recognizedsuccess, если 1 то "динг" по событию speech_recognized_success
Должно быть применимо для chrome_mode=0 и 1
Целесообразность: ответ (start_talking) после удачного распознования (особенно это заметно при chrome_mode=0) может задержатся, например происходит выборка из большой БД или просто запрос к википедии, например ))
п.с. можно будет как у гугла звуком сообщать, что фраза распознана и идет ее логический анализ (время ожидания ответа tts тогда не будет "психологически нагружено" ожиданием, т.к. мы знаем что фраза точно распознаня и она обрабатывается)
п.п.с. в гугловом голосовом поиске сейчас сделано так: "динг" по распознаванию ключа и "динг" когда закончил распознавать основной текст, а потом есть небольшая задержка пока он выведет результат поиска или озвучит его.

болтливость системы

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

Почему то чувствительность, ниже чем у первого mdmpiterminal
На ключевую фразу реагирует так же, но вот голос потом слышит хуже и почти постоянно говорит "не поняла".

Еще одно странное поведение:
От мжд приходит сообщение с "важностью" 10 и терминал его проговаривает, но минимальный уровень проговаривания в мжд стоит 30.
Т.е. игнорируется уровень важности и терминал болтает всё что должен и что не должен.
Не знаю, может это "фишка" мжд отправки в терминал или ошибка скрипта mdmterminal2

Предлагаю рассмотреть проект VOSK в качестве замены snowboy

Добрый день.
Недавно заметил появление проекта VOSK
(https://alphacephei.com/ru/
https://alphacephei.com/vosk/index.ru.html)

Возможно он подойдет для замены snowboy.

VOSK — это инновационная библиотека нового поколения для распознавания речи с открытым кодом.
Распознавание речи с библиотекой VOSK не требует подключения к сети и передачи данных. Установка и использование.

Для теста развернул на OPPC+ под управлением ARMBIAN, установка оказалась не сложной.
После включения микрофона vosk стал распознавать. Испытания распознавания с микрофона на скрипте из проекта прошли успешно.
Мне показалась длительным время между произношением и выводом готового результата. Однако в сравнении с pocketsphinx vosk субъективно выигрывает.

Пока не нашел как в нем сделать распознавание по ключевому слову.

double 'ip' in config.ini

[settings]
.....
# IP терминала, определяется автоматически при первом запуске.
# Используется только для проговаривания.
ip = 
[mpd]
......
# ip и порт сервера
ip = 127.0.0.1

Так как все настройки модуля в мажоре храняться в одной таблице немного заморочно отслеживать одноименные опции.
может сделаем так: ip_terminal и ip_mpd_server

Передача настроек

В связи с невозможностью вовремя дорабатывать модуль для Мажордома, а также для универсальности для других контроллеров и исключения несогласованности передачи настроект от модуля контроллера Предлагаю:
Чтобы модуль контоллера и терминал имели одну и туже структуру и набор настроек по запросу от контроллера через сокет "get_settings" отдавать json структуры settins.ini в таком формате:

{ "Наименование вкладки в HTML интерфейсе": { "Наименование секции настроек например settings": { "Переменная например providertts": { "namehtml": "Наименование для интерфейса в данном случае : провайдер синтеза речи", "deschtml": 'Описание переменной для интерфейса в данном случае : Провайдер синтеза речи <br> google - Ключ не нужен, голос так себе. <br> yandex - cм. [yandex] <br> aws - Polly от AWS. Нужен аккаунт AWS.<br> azure - MS Azure, см. [azure] <br> rhvoice, rhvoice-rest - "локальные провайдеры". См. соответствующие секции.', "type": "checkbox / text / select", "namehtml": "Наименование для интерфейса в данном случае : провайдер синтеза речи", "default": "Значение по умолчанию", "options": [ "массив значений", "в случе", "если type=select", "например переменная providertts", ], }, }, }, }

Список команд требуемых от модуля

Нужен список команд требуемых от модуля с кратким описанием функционала.
Можно оформить как иссуе в моем репозитарии чтобы тут не офтопить.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.