Варианты создания полноценного мультирума
Модератор: immortal
-
- Сообщения: 20
- Зарегистрирован: Чт ноя 30, 2017 7:19 am
- Благодарил (а): 3 раза
- Поблагодарили: 21 раз
Варианты создания полноценного мультирума
Приветствую всех!
Хотелось бы написать некоторое обобщение по всем темам, связанным с мультирумом, а конкретно с голосовым управлением из разных комнат. Изложу свои мысли и вопросы по этому поводу, прошу высказать свою критику.
Во-первых, что касается оборудования. Насколько я правильно понимаю (правильно ли?) на данный момент единственным полноценным, без багов и зависаний, является распознавание голоса и управление через расширение хрома 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-терминал в каждую отдельную комнату при сохранении качества распознавания речи.
В целом, наверняка несложно научить одноплатник передавать и принимать звук на/с другого устройства, но вот каким образом научить сервер обрабатывать каждый из речевых потоков отдельно - не понимаю. Следующая задача - научить сервер понимать, что эта команда пришла с такого-то терминала, а вот эта - с другого.
Прошу высказать свое мнение на счет всего этого и поделиться опытом в реализации.
Хотелось бы написать некоторое обобщение по всем темам, связанным с мультирумом, а конкретно с голосовым управлением из разных комнат. Изложу свои мысли и вопросы по этому поводу, прошу высказать свою критику.
Во-первых, что касается оборудования. Насколько я правильно понимаю (правильно ли?) на данный момент единственным полноценным, без багов и зависаний, является распознавание голоса и управление через расширение хрома 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 раза
- Поблагодарили: 816 раз
Re: Варианты создания полноценного мультирума
Все это есть и почти решено -
В идеале бы на сервере распознавать голос - поскольку обучать каждый терминал запаришся...
Распознавание нужно лепить на нейронках - Тензорфолов в помощь - если разберешся - отпиши...
Я так и не докопался до решения - хотя наметки на вер. 1.1 есть и неплохие...
В идеале бы на сервере распознавать голос - поскольку обучать каждый терминал запаришся...
Распознавание нужно лепить на нейронках - Тензорфолов в помощь - если разберешся - отпиши...
Я так и не докопался до решения - хотя наметки на вер. 1.1 есть и неплохие...
- За это сообщение автора tarasfrompir поблагодарил:
- Samir77 (Пт июл 24, 2020 11:43 am)
- Рейтинг: 1.16%
Спасибо нам ПОМОЖЕТ..!
-
- Сообщения: 1463
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 261 раз
- Поблагодарили: 454 раза
Re: Варианты создания полноценного мультирума
Не знаю насколько в тему, но вот вариант чувствительного микрофона на основе связки "малинка + активный микрофон" (после подзаголовка "Про микрофон").
https://www.ab-log.ru/smart-house/aster ... orphone-v2
https://www.ab-log.ru/smart-house/aster ... orphone-v2
Последний раз редактировалось Chainik Вт мар 31, 2020 5:10 pm, всего редактировалось 1 раз.
-
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
- Благодарил (а): 400 раз
- Поблагодарили: 1753 раза
- Контактная информация:
Re: Варианты создания полноценного мультирума
А готовые умные колонки от Яндекса и Гугла не вариант?
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Мой CONNECT | Блоги | Telegram
-
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
- Благодарил (а): 400 раз
- Поблагодарили: 1753 раза
- Контактная информация:
Re: Варианты создания полноценного мультирума
Можно глянуть voxcommando https://voxcommando.com/mediawiki/index ... icrophones М.б. он умеет с несколькими микрофонами работать.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Мой CONNECT | Блоги | Telegram
-
- Сообщения: 1555
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: Варианты создания полноценного мультирума
Малинка + что-то с массивом микрофонов (PS EYE или Respeaker) + mdmTerminal2 прекрасно работают уже почти год. Без багов и глюков.
Стоимость одного терминала примерно 25 (малинка) + 10 (sd карточка) + 12 (respeaker) + 5 (блок питания) + 7 (usb-колонки)
Помимо своей основной обязанности малинка в комнате собирает данные с датчиков, малинка на кухне выполняет функцию видеорамки + медиа-комбайна
Полноценное офф-лайн распознавание можно пытаться делать на deepspeech используя 4 малинку дождавшись нормально натренированную сетку для русского или натренировать самому, но это дело на любителя - меня пока устраивать то, как распознаёт гугл. Спускаться на уровень tensorflow и пытаться самому придумывать архитектуру сети это дело такое... Всё равно всё упрётся в необходимость большого количества данных и вычислительных мощностей для обучения
Стоимость одного терминала примерно 25 (малинка) + 10 (sd карточка) + 12 (respeaker) + 5 (блок питания) + 7 (usb-колонки)
Помимо своей основной обязанности малинка в комнате собирает данные с датчиков, малинка на кухне выполняет функцию видеорамки + медиа-комбайна
Полноценное офф-лайн распознавание можно пытаться делать на deepspeech используя 4 малинку дождавшись нормально натренированную сетку для русского или натренировать самому, но это дело на любителя - меня пока устраивать то, как распознаёт гугл. Спускаться на уровень tensorflow и пытаться самому придумывать архитектуру сети это дело такое... Всё равно всё упрётся в необходимость большого количества данных и вычислительных мощностей для обучения
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
Re: Варианты создания полноценного мультирума
Простите за нескромный вопрос - вот ДИПСПИИЧ - в нем написано - A TensorFlow implementation of Baidu's DeepSpeech architecture. Куда ж мы будем опускатся ?fandaymon писал(а): ↑Пт мар 27, 2020 4:49 pmМалинка + что-то с массивом микрофонов (PS EYE или Respeaker) + mdmTerminal2 прекрасно работают уже почти год. Без багов и глюков.
Стоимость одного терминала примерно 25 (малинка) + 10 (sd карточка) + 12 (respeaker) + 5 (блок питания) + 7 (usb-колонки)
Помимо своей основной обязанности малинка в комнате собирает данные с датчиков, малинка на кухне выполняет функцию видеорамки + медиа-комбайна
Полноценное офф-лайн распознавание можно пытаться делать на deepspeech используя 4 малинку дождавшись нормально натренированную сетку для русского или натренировать самому, но это дело на любителя - меня пока устраивать то, как распознаёт гугл. Спускаться на уровень tensorflow и пытаться самому придумывать архитектуру сети это дело такое... Всё равно всё упрётся в необходимость большого количества данных и вычислительных мощностей для обучения
Основной источник познаний - https://github.com/mozilla/DeepSpeech
Спасибо нам ПОМОЖЕТ..!
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 816 раз
Re: Варианты создания полноценного мультирума
Простите за нескромный вопрос - вот ДИПСПИИЧ - в нем написано - A TensorFlow implementation of Baidu's DeepSpeech architecture. Куда ж мы будем опускатся ?fandaymon писал(а): ↑Пт мар 27, 2020 4:49 pmМалинка + что-то с массивом микрофонов (PS EYE или Respeaker) + mdmTerminal2 прекрасно работают уже почти год. Без багов и глюков.
Стоимость одного терминала примерно 25 (малинка) + 10 (sd карточка) + 12 (respeaker) + 5 (блок питания) + 7 (usb-колонки)
Помимо своей основной обязанности малинка в комнате собирает данные с датчиков, малинка на кухне выполняет функцию видеорамки + медиа-комбайна
Полноценное офф-лайн распознавание можно пытаться делать на deepspeech используя 4 малинку дождавшись нормально натренированную сетку для русского или натренировать самому, но это дело на любителя - меня пока устраивать то, как распознаёт гугл. Спускаться на уровень tensorflow и пытаться самому придумывать архитектуру сети это дело такое... Всё равно всё упрётся в необходимость большого количества данных и вычислительных мощностей для обучения
Основной источник познаний - https://github.com/mozilla/DeepSpeech
ПС
Проблема в том что дипспич можно собрать только на линуксе... А я ВИндоузятниК - потому и не выжу смысла использовать - разрекламированный продукт - поскольку сам Тензорфолоу можно использовать пофиг где - а вот и простые примеры
https://missinglink.ai/guides/tensorflo ... tutorials/
Спасибо нам ПОМОЖЕТ..!
-
- Сообщения: 1555
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: Варианты создания полноценного мультирума
В дипспиче архитектура сетки уже задана - это очень нетривиально придумать самому что-то лучше, чем исследователи больших контор. Если упрощенно, tensorflow это кубики, из которых можно что-то построить, а deepspeech это выстроенная из этих кубиков конструкцияtarasfrompir писал(а): ↑Пт мар 27, 2020 7:14 pmПростите за нескромный вопрос - вот ДИПСПИИЧ - в нем написано - A TensorFlow implementation of Baidu's DeepSpeech architecture. Куда ж мы будем опускатся ?fandaymon писал(а): ↑Пт мар 27, 2020 4:49 pmМалинка + что-то с массивом микрофонов (PS EYE или Respeaker) + mdmTerminal2 прекрасно работают уже почти год. Без багов и глюков.
Стоимость одного терминала примерно 25 (малинка) + 10 (sd карточка) + 12 (respeaker) + 5 (блок питания) + 7 (usb-колонки)
Помимо своей основной обязанности малинка в комнате собирает данные с датчиков, малинка на кухне выполняет функцию видеорамки + медиа-комбайна
Полноценное офф-лайн распознавание можно пытаться делать на deepspeech используя 4 малинку дождавшись нормально натренированную сетку для русского или натренировать самому, но это дело на любителя - меня пока устраивать то, как распознаёт гугл. Спускаться на уровень tensorflow и пытаться самому придумывать архитектуру сети это дело такое... Всё равно всё упрётся в необходимость большого количества данных и вычислительных мощностей для обучения
Основной источник познаний - https://github.com/mozilla/DeepSpeech
-
- Сообщения: 1555
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: Варианты создания полноценного мультирума
Чего это?!tarasfrompir писал(а): ↑Пт мар 27, 2020 7:18 pm
Проблема в том что дипспич можно собрать только на линуксе... А я ВИндоузятниК - потому и не выжу смысла использовать - разрекламированный продукт - поскольку сам Тензорфолоу можно использовать пофиг где - а вот и простые примеры
https://missinglink.ai/guides/tensorflo ... tutorials/
pip3 install deepspeech-tflite работает и на 10ке