Варианты создания полноценного мультирума

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

ilyasor
Сообщения: 20
Зарегистрирован: Чт ноя 30, 2017 7:19 am
Благодарил (а): 3 раза
Поблагодарили: 21 раз

Варианты создания полноценного мультирума

Сообщение ilyasor » Пт мар 27, 2020 3:19 pm

Приветствую всех!

Хотелось бы написать некоторое обобщение по всем темам, связанным с мультирумом, а конкретно с голосовым управлением из разных комнат. Изложу свои мысли и вопросы по этому поводу, прошу высказать свою критику.

Во-первых, что касается оборудования. Насколько я правильно понимаю (правильно ли?) на данный момент единственным полноценным, без багов и зависаний, является распознавание голоса и управление через расширение хрома ChromeGateMJD. Лично я перепробовал несколько представленных на форуме других способов, лучшего не нашел.

Во-вторых, в качестве микрофона лучше всего работает камера PS3 Eye (опять же, верно ли?). Пробовал различные микрофоны, высокого качества распознавания в рамках всей комнаты получено не было. На расстоянии 1-2 метра работают многие, чуть дальше- все. С PS3 Eye можно даже из соседней комнаты сказать погромче, все сработает. Массивы микрофонов не пробовал, напишите, пожалуйста, дают ли они сопоставимый результат.

Если брать первые два суждения за истину, можно прийти к третьему - для распознавания голоса требуется компьютер, работающий с полноценной Windows. Я пробовал использовать расширение ChromeGateMJD на Chromium, установленном на Raspberry Pi 3 B+, в целом распознавание работало, но стабильной работы я так и не смог получить, примерно через 1-2 суток происходило зависание, приходилось перезагружать устройство, что, на мой взгляд, недопустимо, если умный дом используется не как игрушка, а как полноценный помощник. Если у кого-то есть иной опыт использования ChromeGateMJD на одноплатниках, расскажите.

Исходя из этого, представляется возможным 3 модели функционирования мультирума:
1. В каждой комнате стоит свой мини-компьютер, являющийся отдельным терминалом, на каждом отдельно происходит распознавание голоса, команды отсылаются на сервер. Вариант наиболее надежный, но наиболее дорогостоящий. Каждый такой компьютер будет стоить в районе 150$.
2. Один компьютер стоит в центре квартиры, на нем стоит ПО и железо, позволяющие подключать несколько PS3 Eye и колонок, провода протянуты в разные комнаты. Вариант вроде бы замечательный, но если в случае со звуком, передавать его можно на любые расстояния в рамках квартиры, сигнал по usb до дальних комнат никак не достанет. К тому же, придется думать либо над совмещением звуковых потоков с разных микрофонов (тут проблем несколько: если в одной комнате кто-то разговаривает, из другой команда может не распознаться, а также становится невозможным для сервера понимать, из какой комнаты отправлена команда), либо каждый поток нужно слушать и распознавать отдельно (компьютер справится, но как это решить программно не очень понимаю). Для воспроизведения звука вариантов куча, для распознавания хороших я не нашел.
3. Вариант который кажется оптимальным - микрофоны (PS3 Eye) и колонки стоят в своих комнатах, подключены к одноплатнику. Одноплатник в свою очередь занимается только тем, что передает и принимает данные с сервера (или с отдельного сервера для распознавания голоса), а уже на сервере происходит анализ и распознавание со всех потоков. Плюсы - дешевле, чем ставить полноценный windows-терминал в каждую отдельную комнату при сохранении качества распознавания речи.

В целом, наверняка несложно научить одноплатник передавать и принимать звук на/с другого устройства, но вот каким образом научить сервер обрабатывать каждый из речевых потоков отдельно - не понимаю. Следующая задача - научить сервер понимать, что эта команда пришла с такого-то терминала, а вот эта - с другого.

Прошу высказать свое мнение на счет всего этого и поделиться опытом в реализации.
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Варианты создания полноценного мультирума

Сообщение tarasfrompir » Пт мар 27, 2020 3:32 pm

Все это есть и почти решено -
В идеале бы на сервере распознавать голос - поскольку обучать каждый терминал запаришся...
Распознавание нужно лепить на нейронках - Тензорфолов в помощь - если разберешся - отпиши...
Я так и не докопался до решения - хотя наметки на вер. 1.1 есть и неплохие...
За это сообщение автора tarasfrompir поблагодарил:
Samir77 (Пт июл 24, 2020 11:43 am)
Рейтинг: 1.16%
Спасибо нам ПОМОЖЕТ..!
Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: Варианты создания полноценного мультирума

Сообщение Chainik » Пт мар 27, 2020 4:07 pm

Не знаю насколько в тему, но вот вариант чувствительного микрофона на основе связки "малинка + активный микрофон" (после подзаголовка "Про микрофон").
https://www.ab-log.ru/smart-house/aster ... orphone-v2
Последний раз редактировалось Chainik Вт мар 31, 2020 5:10 pm, всего редактировалось 1 раз.
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Варианты создания полноценного мультирума

Сообщение skysilver » Пт мар 27, 2020 4:35 pm

А готовые умные колонки от Яндекса и Гугла не вариант?
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Варианты создания полноценного мультирума

Сообщение skysilver » Пт мар 27, 2020 4:45 pm

ilyasor писал(а):
Пт мар 27, 2020 3:19 pm
Следующая задача - научить сервер понимать, что эта команда пришла с такого-то терминала, а вот эта - с другого.
Можно глянуть voxcommando https://voxcommando.com/mediawiki/index ... icrophones М.б. он умеет с несколькими микрофонами работать.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
fandaymon
Сообщения: 1554
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: Варианты создания полноценного мультирума

Сообщение fandaymon » Пт мар 27, 2020 4:49 pm

Малинка + что-то с массивом микрофонов (PS EYE или Respeaker) + mdmTerminal2 прекрасно работают уже почти год. Без багов и глюков.
Стоимость одного терминала примерно 25 (малинка) + 10 (sd карточка) + 12 (respeaker) + 5 (блок питания) + 7 (usb-колонки)
Помимо своей основной обязанности малинка в комнате собирает данные с датчиков, малинка на кухне выполняет функцию видеорамки + медиа-комбайна
Полноценное офф-лайн распознавание можно пытаться делать на deepspeech используя 4 малинку дождавшись нормально натренированную сетку для русского или натренировать самому, но это дело на любителя - меня пока устраивать то, как распознаёт гугл. Спускаться на уровень tensorflow и пытаться самому придумывать архитектуру сети это дело такое... Всё равно всё упрётся в необходимость большого количества данных и вычислительных мощностей для обучения
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Варианты создания полноценного мультирума

Сообщение tarasfrompir » Пт мар 27, 2020 7:14 pm

fandaymon писал(а):
Пт мар 27, 2020 4:49 pm
Малинка + что-то с массивом микрофонов (PS EYE или Respeaker) + mdmTerminal2 прекрасно работают уже почти год. Без багов и глюков.
Стоимость одного терминала примерно 25 (малинка) + 10 (sd карточка) + 12 (respeaker) + 5 (блок питания) + 7 (usb-колонки)
Помимо своей основной обязанности малинка в комнате собирает данные с датчиков, малинка на кухне выполняет функцию видеорамки + медиа-комбайна
Полноценное офф-лайн распознавание можно пытаться делать на deepspeech используя 4 малинку дождавшись нормально натренированную сетку для русского или натренировать самому, но это дело на любителя - меня пока устраивать то, как распознаёт гугл. Спускаться на уровень tensorflow и пытаться самому придумывать архитектуру сети это дело такое... Всё равно всё упрётся в необходимость большого количества данных и вычислительных мощностей для обучения
Простите за нескромный вопрос - вот ДИПСПИИЧ - в нем написано - A TensorFlow implementation of Baidu's DeepSpeech architecture. Куда ж мы будем опускатся ?
Основной источник познаний - https://github.com/mozilla/DeepSpeech
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Варианты создания полноценного мультирума

Сообщение tarasfrompir » Пт мар 27, 2020 7:18 pm

fandaymon писал(а):
Пт мар 27, 2020 4:49 pm
Малинка + что-то с массивом микрофонов (PS EYE или Respeaker) + mdmTerminal2 прекрасно работают уже почти год. Без багов и глюков.
Стоимость одного терминала примерно 25 (малинка) + 10 (sd карточка) + 12 (respeaker) + 5 (блок питания) + 7 (usb-колонки)
Помимо своей основной обязанности малинка в комнате собирает данные с датчиков, малинка на кухне выполняет функцию видеорамки + медиа-комбайна
Полноценное офф-лайн распознавание можно пытаться делать на deepspeech используя 4 малинку дождавшись нормально натренированную сетку для русского или натренировать самому, но это дело на любителя - меня пока устраивать то, как распознаёт гугл. Спускаться на уровень tensorflow и пытаться самому придумывать архитектуру сети это дело такое... Всё равно всё упрётся в необходимость большого количества данных и вычислительных мощностей для обучения
Простите за нескромный вопрос - вот ДИПСПИИЧ - в нем написано - A TensorFlow implementation of Baidu's DeepSpeech architecture. Куда ж мы будем опускатся ?
Основной источник познаний - https://github.com/mozilla/DeepSpeech

ПС
Проблема в том что дипспич можно собрать только на линуксе... А я ВИндоузятниК - потому и не выжу смысла использовать - разрекламированный продукт - поскольку сам Тензорфолоу можно использовать пофиг где - а вот и простые примеры
https://missinglink.ai/guides/tensorflo ... tutorials/
Спасибо нам ПОМОЖЕТ..!
fandaymon
Сообщения: 1554
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: Варианты создания полноценного мультирума

Сообщение fandaymon » Пт мар 27, 2020 8:35 pm

tarasfrompir писал(а):
Пт мар 27, 2020 7:14 pm
fandaymon писал(а):
Пт мар 27, 2020 4:49 pm
Малинка + что-то с массивом микрофонов (PS EYE или Respeaker) + mdmTerminal2 прекрасно работают уже почти год. Без багов и глюков.
Стоимость одного терминала примерно 25 (малинка) + 10 (sd карточка) + 12 (respeaker) + 5 (блок питания) + 7 (usb-колонки)
Помимо своей основной обязанности малинка в комнате собирает данные с датчиков, малинка на кухне выполняет функцию видеорамки + медиа-комбайна
Полноценное офф-лайн распознавание можно пытаться делать на deepspeech используя 4 малинку дождавшись нормально натренированную сетку для русского или натренировать самому, но это дело на любителя - меня пока устраивать то, как распознаёт гугл. Спускаться на уровень tensorflow и пытаться самому придумывать архитектуру сети это дело такое... Всё равно всё упрётся в необходимость большого количества данных и вычислительных мощностей для обучения
Простите за нескромный вопрос - вот ДИПСПИИЧ - в нем написано - A TensorFlow implementation of Baidu's DeepSpeech architecture. Куда ж мы будем опускатся ?
Основной источник познаний - https://github.com/mozilla/DeepSpeech
В дипспиче архитектура сетки уже задана - это очень нетривиально придумать самому что-то лучше, чем исследователи больших контор. Если упрощенно, tensorflow это кубики, из которых можно что-то построить, а deepspeech это выстроенная из этих кубиков конструкция
fandaymon
Сообщения: 1554
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: Варианты создания полноценного мультирума

Сообщение fandaymon » Пт мар 27, 2020 8:37 pm

tarasfrompir писал(а):
Пт мар 27, 2020 7:18 pm

Проблема в том что дипспич можно собрать только на линуксе... А я ВИндоузятниК - потому и не выжу смысла использовать - разрекламированный продукт - поскольку сам Тензорфолоу можно использовать пофиг где - а вот и простые примеры
https://missinglink.ai/guides/tensorflo ... tutorials/
Чего это?!
pip3 install deepspeech-tflite работает и на 10ке
Ответить