LINUX.ORG.RU

А можно ли запилить домашнее распознавание голоса?

 распознавание голоса


0

3

Сабж. Ну типа как какая-нибудь алиса, тока дома, от сервака и чтоб она по командам умела мне какие-нибудь POST-запросы слать или прочее, современное, ненужное.

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

★★★★★
Ответ на: комментарий от pihter

Личный опыт - хреня это всё. Серьёзно.

Использовать голосовой ввод на телефоне вместо клавиатуры — обожаю. Яндекс.Клавиатура распознаёт русский просто шикарно.

Использовать на компе для команд — пробовал, не понравилось.

Aceler ★★★★★
()

Самый допиленный вариант - Rhasspy. К тому же у него отличная поддержка русского (и польского), в отличие от многих других свободных проектов.

token_polyak ★★★★★
()
Последнее исправление: token_polyak (всего исправлений: 2)

Внешнее платно же. Пробовал и Яндекс и Гугл. Почему-то распознаёт не так хорошо как хотелось бы. Хотя для команд наверняка сойдёт.

unDEFER ★★★★★
()

А можно ли запилить

«Пилите, Шура, пилите»!
Vosk is a speech recognition toolkit ©.
Ещё глянь TensorFlow Lite Python audio classification example with Raspberry Pi ©.

quickquest ★★★★★
()

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

Элементарно и бесплатно.

Просто создаешь навык алисы, не публичный. Будет доступен только на твоем аккаунте яндекса, бесплатно, полнофункционально, и никаких проверок/документов/верификаций и прочего.

Просто настраивается через их веб-интерфейс и все.

Любая сказанная в алису фраза прилетает тебе в распознанном текстовом виде как JSON структура. Дальше дело техники, как ты организуешь исполнение команды.

Недостаток - у тебя должен быть статический белый IP, на который сервер яндекса будет заливать HTTP POST запрос с распознанными данными. Просто на домашний комп он слать не сможет (если у тебя конечно не статика дома).

Я использую для решения этой проблемы VPS сервер, на котором запущен простейший ретранслятор запросов. Это приложение на NodeJS, которое имеет http сервер для приема запросов от яндекса. И к нему же подключается домашний, клиентский сервис (с домашнего сервера за NAT домашнего интернета) по WebSocket.

Когда на VPS приходит от яндекса распознанная команда, она по WebSocket пересылается клиенту на домашнем сервере. И там уже парсится, исполняется и твори что хочешь. Дальше клиент обратно отправляет текстовый ответ, он пересылается через VPS - яндексу как ответ на запрос, и Алиса озвучивает голосом этот ответ.

James_Holden ★★★★
()
Последнее исправление: James_Holden (всего исправлений: 1)

Если же ты хочешь самопальными устройствами умного дома рулить, ардуинами малинами там какими и подобным. Тогда лучше не навык алисы создавать, а платформу умного дома Яндекса.

Устроено почти также, только преимущества в том что тебе не надо будет парсить приходящие от яндекса распознанные команды. Там все стандартизировано.

Например, твое устройство добавляется как шторы в гостиной. И дальше ты Алисе говоришь в любых вариантах - «открой шторы, установи шторы на 50%, закрой в гостиной шторы», а она присылает тебе уже не распознанный текст, а стандартные JSON структуры с машиночитаемой командой что сделать - такое то устройство, задать такое то положение, включить/выключить.

Дальше исполнение этой команды реализуется тривиально в твоем коде.

James_Holden ★★★★
()
Ответ на: комментарий от targitaj

Да. Только не я отдаю, а тот кто это сделает ))) Лично у меня дома это не используется. Пока.

Тут вся задница в том, как реализовать такого высокого уровня распознавание русской речи, как делает Алиса. На настоящий момент, оффлайн это не реально. А через их облачный сервис все распознается влет. Но - но - но…

James_Holden ★★★★
()
Ответ на: комментарий от James_Holden

Нужен правильный алгоритм обучения и мощность...

targitaj ★★★★★
()
Ответ на: комментарий от James_Holden

открой шторы, установи шторы на 50%

Главное чтобы сохранялась возможность ручного управления и замены одной системы на другую. А то полно отзывов в стиле «сделал решение для умного дома на базе стороннего облака, а потом в какие-то моменты коннект до облака пропадает и человек свет не может включить или дверь открыть». Ну или вообще сам вендор вместе с облаком пропадает/банкротится и остается его поделки только выбросить.

zent
()
Ответ на: комментарий от zent

Так тут вендор системы ты сам. Без алисы ты теряешь только голосовое управление, и все. А слать запросы из своего андроид приложения по нажатию кнопок на свой же сервер никто не мешает.

James_Holden ★★★★
()
Ответ на: комментарий от James_Holden

Так тут вендор системы ты сам. Без алисы ты теряешь только голосовое управление, и все. А слать запросы из своего андроид приложения по нажатию кнопок на свой же сервер никто не мешает.

Я о том, что желательно, чтобы сама система умного дома была спроектирована таким образом, чтобы при его отключении можно было всем управлять в ручном режиме несколько часов или дней. Чтобы не было такого, что какой-нибудь умный выключатель или розетка физически становятся не работоспособными, если пропадает интернет соединение, или падает какой-нибудь внешний сервер. Компромисный вариант - если основной сервер/шлюз для управления умным домом находится собственно в этом доме и переходит в локальный режим работы при потери связи с внешней сетью и соответственно всеми умными устройствами все также можно управлять с тех же мобильных устройств, подключенных к домашней WiFi сети. Ну и соответственно разные датчики и триггеры на них завязанные тоже сохраняли работоспособность без интернета.

zent
()
Последнее исправление: zent (всего исправлений: 1)
Ответ на: комментарий от zent

Я о том, что желательно, чтобы сама система умного дома была спроектирована таким образом, чтобы при его отключении можно было всем управлять в ручном режиме несколько часов или дней.

Конечно. И не несколько дней, а вообще сколько хочешь - только будешь кнопки жать вместо голосовых команд.

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

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

Без интернета он перестанет получать голосовые команды, но в локалке им управлять то никто не мешает с чего угодно, что ты сможешь локально реализовать. Проще всего - свое приложение для смартфона с кнопками управления.

И переходить в автономный режим даже не надо специально. Домашний сервер может поднимать http в локалке и одновременно с этим - websocket с интернет ретранслятором. Откуда команда пришла - ту он и выполнит.

James_Holden ★★★★
()
Последнее исправление: James_Holden (всего исправлений: 1)
Ответ на: комментарий от James_Holden

А сам этот сервер - голосовые команды получает из интернета.

Куда гуглить, чтобы заставить Алису слать команды туда, где я смогу получить заветный json?

Jurik_Phys ★★★★★
()

Сосед по общаге чем-то таким баловался почти 25 лет назад, на 486dx4, может еще под DOS даже. Учил курсор двигать.
Я прихожу с пар, а он стоит и орет на комп ВНИЗ! ВНИЗ! ВНИЗ БЛ#! ВНИЗ!
Оно даже немножко работало.

thesis ★★★★★
()
Последнее исправление: thesis (всего исправлений: 1)

как можно организовать внешнее распознавание голоса и команды ко мне

Через ту же Алису.

no-such-file ★★★★★
()
Ответ на: комментарий от James_Holden

Недостаток - у тебя должен быть статический белый IP, на который сервер яндекса будет заливать HTTP POST запрос с распознанными данными

До сих пор жду когда уже Яндекс раздуплится чтобы колонка сама посылала http по локалке в которую она подключена. Без вот этих танцев с бубнами. Видимо не дождусь.

no-such-file ★★★★★
()
Ответ на: комментарий от James_Holden

Ну и как ты себе это представляешь

Что непонятного? Она сама получает ответ на свой запрос, с распознанным текстом, как она обычно это делает, и ретранслирует его в локальной сети на указанный локальный адрес. Всё, не нужно никаких заморочек с внешним сервером и ip.

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от no-such-file

Она сама получает ответ на свой запрос

Так не получится. Алиса может работать не только на колонке. На любом устройстве. За пределами локалки с датчиками тоже. Есть кейсы управления воротами гаража, например, подключенными через GSM модуль.

Далее - платформа умного дома принадлежит другой фирме. Ее не обязательно сам яндекс выпускает. Сервер, управляющий умным домом как правило в облаке (потому что зачем пользователю за него платить, покупая домой железку). А может и не в облаке. Как угодно.

С точки зрения яндекса все эти кейсы должны работать как единая платформа. Сделать это можно только в случае, если управляющий умным домом сервер торчит в интернет и принимает запросы оттуда, а не от локалки.

James_Holden ★★★★
()
Ответ на: комментарий от no-such-file

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

James_Holden ★★★★
()
Ответ на: комментарий от James_Holden

Алиса может работать не только на колонке

Другие устройства тоже дома торчат в локалке.

За пределами локалки с датчиками тоже. Есть кейсы управления воротами гаража, например, подключенными через GSM модуль

На этот случай просто объединяешь все свои бабалайки в VPN. Внезапно оно для того и придумано. Зачем ты городишь какие-то websocket?

С точки зрения яндекса все эти кейсы должны работать как единая платформа

С точки зрения Яндекса, ты должен отвалить бабла за отдельный хост/хаб для умного дома. Это понятно.

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от no-such-file

Зачем ты городишь какие-то websocket?

Это ко мне вопрос??

Так работает яндекс. Он не работает в локалке.

А распознавать голос без яндекса я пока не умею. Ну и что мне городить?

Можно и vpn конечно. Только это еще хуже. Нахрен мне на каждой эмбеддед железе на контроллере за 2$ поднимать vpn и обеспечивать стабильность подключения? Если они могут к домашнему серверу по локалке коннектиться.

James_Holden ★★★★
()
Последнее исправление: James_Holden (всего исправлений: 1)
Ответ на: комментарий от no-such-file

С точки зрения Яндекса, ты должен отвалить бабла за отдельный хост/хаб для умного дома. Это понятно.

Естественно.

А с чего тебе яндекс должен беспоатно давать в локалку свое облачное распознавание голоса? Это коммерческий сервис.

James_Holden ★★★★
()
Ответ на: комментарий от James_Holden

с чего тебе яндекс должен беспоатно давать в локалку свое облачное распознавание голоса

С того что я за это заплатил, прикинь. Более того, каждый месяц плачу по подписке.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Так то да, хотелось бы чтобы были разные варианты и лицом к пользователю. Но от яндекса я бы этого не ждал.

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

James_Holden ★★★★
()
Ответ на: комментарий от Aceler

Использовать голосовой ввод на телефоне вместо клавиатуры — обожаю.

Была а меня когда-то девушка, Соня Эриксон. Толи шведка, толи японка.

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

Дело было в нулевых и на меня часто смотрели как на сотрудника спецслужб.

utanho ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)