голосовой ввод через браузер

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

lysyy
Сообщения: 113
Зарегистрирован: Вт июн 09, 2015 9:41 pm
Откуда: Moscow
Благодарил (а): 15 раз
Поблагодарили: 9 раз

Re: голосовой ввод через браузер

Сообщение lysyy » Вс дек 06, 2015 4:11 am

ээ блин, а у меня все равно на обеих серваках "неизвестная команда"... че делать? какие логи смотреть? в
METHOD PARAMS EXECUTED
ThisComputer.commandReceived a:1:{s:7:"command"; s:8:"
нету закрытой скобки, хз
mackot
Сообщения: 2
Зарегистрирован: Пт дек 18, 2015 6:09 pm
Благодарил (а): 0
Поблагодарили: 0

Re: голосовой ввод через браузер

Сообщение mackot » Пт дек 18, 2015 6:36 pm

встречайте пополнение в свои ряды!

Поставил систему для теста на виртуальную ubuntu 14, подружил с говорилкой яндекса, указав ключ, кое-как начала мне Алиска отвечать вслух. Я тоже хочу с ней вслух..) Винды как и андройда в доме нет, а все что нашел на форуме для них. Для iphone и ipad думаю поднять proxy siri, а вот с ноута получается только через браузер общаться можно. Способ, описанный в этой теме интересен, но менее удобен чем любой поисковой плагин для хрома, что собственно и навело на мысль взять таковой и подправить поисковой запрос.

только что взял первый попавшийся который заработал https://github.com/zmyaro/chrome-voice-actions но думаю любой подойдет, нашел в каком файле пути запросов (у моего это папка_плагинов_хром/4.5_0/scripts/defaults.js и ../option.html ) где поменял никому ненужный bing на "Умный дом" а поисковой запрос получился вида http://myip/common.php?qry=%s

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

Что думаете? Будет ли работать, будет ли удобно? Имеет ли смысл допилить до ума? Или может такой плагин уже есть? ногами не бить.
mackot
Сообщения: 2
Зарегистрирован: Пт дек 18, 2015 6:09 pm
Благодарил (а): 0
Поблагодарили: 0

Re: голосовой ввод через браузер

Сообщение mackot » Сб дек 19, 2015 12:24 am

потестил, тот плагин глючит, видимо лимит есть.
нашел другой - GooNow - Voice Search у него в опциях есть кастом поиск. Пока работает, теперь надо найти как заставить отвечать на то звуковое устройство с которого спросили, ну либо вывести на все колонки в доме можно наверно.
BrainRoot
Сообщения: 4
Зарегистрирован: Ср янв 13, 2016 3:47 pm
Благодарил (а): 0
Поблагодарили: 0

Re: голосовой ввод через браузер

Сообщение BrainRoot » Ср янв 13, 2016 3:57 pm

А вывод через браузер вообще работает?
Я "начинающий", не пинайте.
МЖД поставил на виртуалку (потом - перенесу на что-нибудь аппаратное), на гипервизоре звуковой карты нет.
При попытке пообщаться с Алисой вижу в Debug

Код: Выделить всё

15:38:01 DEBUG [root]: Executing: mplayer /var/www/html/sounds/dingdong.mp3 (at /var/www/html/lib/general.class.php:547) 
15:37:03 DEBUG [root]: Executing (exclusive): mplayer /var/www/html/cached/voice/e1f8e6e2a5279f08160517771cedb394.mp3 (at /var/www/html/lib/general.class.php:547) 
15:37:02 DEBUG [root]: Executing (exclusive): mplayer /var/www/html/sounds/dingdong.mp3 (at /var/www/html/lib/general.class.php:547) 
15:36:39 DEBUG [root]: Executing (exclusive): mplayer /var/www/html/cached/voice/608333adc72f545078ede3aad71bfe74.mp3 (at /var/www/html/lib/general.class.php:547) 
15:36:38 DEBUG [root]: Executing (exclusive): mplayer /var/www/html/sounds/dingdong.mp3 (at /var/www/html/lib/general.class.php:547)
При этом выхлоп cycle.php

Код: Выделить всё

Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
A:   1.5 (01.4) of 1.7 (01.6)  0.1%
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
A:   0.0 (00.0) of 1.7 (01.6) ??,?%
A:   1.5 (01.4) of 1.7 (01.6)  0.1%
что логично.
Возможно ли звук воспроизводить браузером?
Нашел тему http://aonijospot11.appspot.com/majordo ... 4&start=20
Видно, что дело не в моих руках, придется наверно использовать костыли. А хотелось - в качестве управлялки по планшету.
Xseon
Сообщения: 51
Зарегистрирован: Ср сен 18, 2013 12:21 am
Благодарил (а): 9 раз
Поблагодарили: 7 раз

Re: голосовой ввод через браузер

Сообщение Xseon » Пт янв 15, 2016 1:53 am

Поскольку дома у меня все девайсы от фруктовой компании, а голосовое управление очень хотелось, то мне не составило труда разрешить доступ к микрофону и позволить siri переводить слова в текст прямо в браузере и передавать алисе на обработку.
Аватара пользователя
slgeo
Сообщения: 551
Зарегистрирован: Чт фев 05, 2015 2:35 pm
Откуда: РнД
Благодарил (а): 139 раз
Поблагодарили: 74 раза

Re: голосовой ввод через браузер

Сообщение slgeo » Пн фев 08, 2016 6:11 pm

Добавлю к первому посту Сергея, если в свойствах ярлыка Chrome дописать параметр --enable-speech-input, то появляется индикация активности микрофона.
Raspberry Pi2 Model B + NRF24L01 (MySensors) + 1-Wire + Esp8266 (WiFi-IoT)
CONNECT
Аватара пользователя
ovcher
Сообщения: 183
Зарегистрирован: Сб сен 12, 2015 3:11 am
Откуда: Волгоград
Благодарил (а): 60 раз
Поблагодарили: 39 раз
Контактная информация:

Re: голосовой ввод через браузер

Сообщение ovcher » Чт апр 28, 2016 11:39 pm

mackot писал(а): Что думаете? Будет ли работать, будет ли удобно? Имеет ли смысл допилить до ума? Или может такой плагин уже есть? ногами не бить.
Зачем же ногами :) . Плагин, в принципе, неплохой и прекрасно работает с моей VF0700 от Креатива, практически результат около 100% примерно с метра-двух, и весьма неплохой результат даже при включенном телевизоре. Он у меня уже давно, ~ на 95% запилен под MajorDoMo(дефолт из коробки, возможность выбирать Мажор из списка, а следовательно можно пользоваться и другими поисковиками, добавлен выбор скрытого режима работы). Пока я его немного забросил :oops: . Почему? Дело в том что у гуглов бзик на безопасности, отсюда Ява для расширений весьма и весьма ограниченная, если не сказать вывернутая наизнанку, даже в рамках версий манифеста, отсюда необходимость много читать, а у меня к сожалению жуткий завал.
Чего не хватает, для полного счастья?
1. Нет активации по ключевой фразе.
2. Нужно в настройки добавить поле где можно зафиксировать адрес сервера, конечно и без этого собрать совсем несложно, дело 5 минут, собрал и забыл, но это мне видится как то незаконченным.
3. Самое заморочистое, собственно, то на чем я стопорнулся, на слух прозвучит банально :) , но тем не менее, фактически, благодаря гуглам ребус получается еще тот особенно когда слету. У меня, тупо, проблемы со скрытым режимом :? , там даже банальный setTimeout не получается заставить работать. Что имеем? На входе в функцию openURL мы получаем собственно переменную в которой наша ссылка (.../command.php?qry=)+ то что распознал Гугл. Называется она url. Далее в настройках есть возможность выбрать один из трех вариантов("Открывать в новой вкладке", "Обновлять текущую" и некий "Умный режим", а в частности если открыта новая вкладка, результат запишется в нее, если новая вкладка не открыта то скрипт ее предварительно создаст), естественно нам ни один из этих вариантов не подойдет, так как в первом случае при каждой команде будут плодиться эти самые вкладки, а во втором будет подменяться, возможно важное содержимое, страничкой command нашей системы, т.е. в любом случае придется лишний раз тыкать, чтобы либо закрыть ненужную страничку, либо вернутся на нужную. Исходя из этих соображений, я добавил еще один пунктик а именно скрытый, :D ну или хотя бы, почти скрытый режим. Проще говоря, в идеале ссылка просто должна уйти на сервер и там отработать, ну, а в более простом варианте, ссылка должна открыться в новой вкладке/окне(не суть) и отработав, это окно/вкладка должны закрыться. Сразу честно признаюсь, я сильно глубоко не копал. На первый вариант я практически ничего не нашел, на второй вариант я добился открытия/закрытия как вкладки так и окна, но не более того. Как это работает. Имеем, например, рабочие:

Код: Выделить всё

okno=window.open(url,'okno'); 
okno.close();
В этом случае, система даже не успеет передать ссылку, так как в Яве по сути пауз не бывает, она лупит как из "пулемета" т.е. не закончив одно уже вовсю выполняется следующее. Вот и получается что наша новая вкладка успевает лишь мелькнуть, а далее тишина. Естественно, в таком варианте:

Код: Выделить всё

okno=window.open(url,'okno'); 
// okno.close();
Все работает, но этого добра у нас уже и так предостаточно(помните я говорил про плодящиеся вкладки :) ).
В общем далее, по логике вещей, в самом простом и кривом случае, должна быть, как минимум, задержка. Ну что то типа:

Код: Выделить всё

okno=window.open(url,'okno'); 
setTimeout(function () {okno.close();}, 5000);
Ан нет, фигушки во второй версии манифеста оно чегой-то не работает :D . Сначала я на 3 сек. задержке попробовал целую кучу вариантов, не помогло. Потом наткнулся, на то что гуглы дабы не грузить систему на фоновых процессах увеличили минимальную задержку до 5 сек. Попробовал для проформы на 5 сек. не помогло. Далее дочитался до изменений во второй версии манифеста, там как раз имеется поправка на setTimeout и иже с ним. На этом моменте, каюсь :oops: , я забил, кругом завалы дома ремонт, на работе меняем оборудование, а я каждый день еще сижу до трех четырех утра, в общем оценив нагрузку пришлось, на неопределенный срок отказаться от затеи :( . Уж лучше вы меня здесь по пинайте, чем домашние за ремонт :D .
В общем кто более менее заинтересован в вопросе и знаком с кодингом расширений для хрома может попробовать дописать, я прицеплю сюда архив с распакованным расширением. Две вещи чтобы не искать:
1. Адрес сервера прописывается в: 4.5_0\scripts\defaults.js в 19 строке.
2. Эксперименты со скрытым режимом в: 4.5_0\scripts\popup.js строки 312-326 (оставляю там все как есть не подчищая, по дефолту, сейчас, в настройках, активирован именно этот кусок.) Будет весьма здорово если кто то закончит это расширение, оно действительно весьма неплохо распознает, а нет, нестрашно, немного буду посвободнее поковыряю еще.
Собственно, архивчик:
4.5_0.zip
(87.61 КБ) 192 скачивания
За это сообщение автора ovcher поблагодарил:
lanket (Пт апр 29, 2016 9:24 am)
Рейтинг: 1.16%
Аватара пользователя
ovcher
Сообщения: 183
Зарегистрирован: Сб сен 12, 2015 3:11 am
Откуда: Волгоград
Благодарил (а): 60 раз
Поблагодарили: 39 раз
Контактная информация:

Re: голосовой ввод через браузер

Сообщение ovcher » Вт май 10, 2016 3:42 am

Сегодня, на скору руку, маленько, подпилил плагин. Он все еще далек от совершенства и его придется немного адаптировать, но главная цель достигнута и теперь он не так мозолит глаза. Ну, а нюансы я сейчас распишу, тут все очень просто.
Шаг первый. Ставим Какнарейку, если все еще не поставили: https://www.google.ru/chrome/browser/canary.html Это Хром для разработчиков. Дело в том что в стандартном Хроме и ему подобным, жестко установлены правила по которым, после первого же, после инсталляции, сеанса, наглухо отключаются все расширения которые отсутствуют в маркете. Их конечно можно каждый раз переустанавливать но это очень раздражает :) . Следует отметить что Хромиум так же как и Канарейка лояльно относится к разработчикам, поэтому под Линуксом этой проблемы возникнуть не должно.
Шаг второй. Скачиваем обновленный плагин:
4.5_0.zip
(87.64 КБ) 181 скачивание
и распаковываем архив в любое место.
Скачиваем и ставим Notepad++ (Или ему подобный, главное чтобы отображал номера строк я буду оперировать ими. Если лень ищите в тексте файлов перечисленных далее 192.168.1.58 и меняйте на свое.)
Открываем файл: \4.5_0\scripts\defaults.js и в строке 19 меняем IP на свой, можно применять и доменные имена, кому как удобнее (чтобы внешний адрес работал в локалке нужно его прописать в файле C:\Windows\System32\drivers\etc\hosts привязав к локальному IP, например, прописав в отдельной строке: 192.168.1.58 mysite.ru впрочем это уже факультативно).
Открываем файл: \4.5_0\scripts\popup.js и в строке 313 делаем тоже самое.
Шаг третий. Открываем в браузере страничку расширений chrome://extensions/ и переключаемся в режим разработчика(надо поставить галочку).
Далее жмем кнопку "Упаковать расширение" и вводим в верхнюю строчку путь к нашей папке с расширением ...\4.5_0 и жмем "Упаковать расширение" На уровень выше папки ...\4.5_0 т.е. в этих самых ... у вас появятся два файлика, а именно 4.5_0.crx(собственно само расширение) и 4.5_0.pem (Файл закрытого ключа, он нужен для обновления версий, но можете его не использовать, просто, после правки, если конечно понадобится, перед упаковкой, удаляйте оба файла и у вас все прекрасно упакуется). Итак. Главное мы получили 4.5_0.crx это наше расширение. Просто перетаскиваем его из проводника на страничку расширений (chrome://extensions/) и соглашаемся на установку, далее нам предложат дать разрешение на использование микрофона, соглашаемся. После установки справа вверху на панели расширений, появится значок микрофона. Но подождите его жать!!! :) есть еще одна маленькая деталь: Создаем новую вкладку и загружаем на нее нашу командную страничку в моем случае: http://192.168.1.58/command.php у вас наверняка будет свой IP или адрес. Ну и последнее, щелкаем правой кнопкой мышки по вкладке с командной страничкой и выбираем "Закрепить вкладку"
Вот собственно и все, жмите в правом верхнем углу иконку микрофона и командуйте Алисой. Все ваши команды незаметно будут обновляться на закрепленной вкладке.
Ах, да. Чуть не забыл. Все на той же страничке расширений(chrome://extensions/), в самом низу, есть ссылка "Быстрые клавиши" где вы можете привязать к нашему расширению(кстати, оно называется: "Voice Actions for Chrome (beta) Mod"), горячие клавиши, а коли есть горячие клавиши, то запуск расширения уже можно привязать к чему угодно, но я пока с этим не разбирался... ;)
За это сообщение автора ovcher поблагодарил:
Securbond (Вт май 10, 2016 3:31 pm)
Рейтинг: 1.16%
strike
Сообщения: 12
Зарегистрирован: Чт сен 01, 2016 5:56 pm
Благодарил (а): 0
Поблагодарили: 0

Re: голосовой ввод через браузер

Сообщение strike » Чт сен 01, 2016 6:02 pm

Добрый день, начал пользоваться вашей системой majordomo. Пока настраиваю без датчиков, но в дальнейшем планирую использовать продукцию от Broadlink, уж очень меня заинтересовала она. Знаний в программировании немного, на уровне начальных (изменить под себя готовый код, что либо поменять по мелочи).
Очень заинтересовала эта тема, жаль что ее забросили в мае, может возобновить ее? Интересует одно, удалось кому нибудь реализовать возможность активации голосом по запросу контрольного слова, на примере кода sergejey?
strike
Сообщения: 12
Зарегистрирован: Чт сен 01, 2016 5:56 pm
Благодарил (а): 0
Поблагодарили: 0

Re: голосовой ввод через браузер

Сообщение strike » Пт сен 02, 2016 11:32 am

sergejey писал(а): Если вы можете разместить файл voice.html на своём хостинге с нормальным SSL, то действия из предыдущего абзаца выполнять не нужно, нужно залить этот файл и поменять ссылку в HTML-коде с https://smartliving.ru/voice.html на вашу. Файлик сервер сайта совершенно не напрягает и никаких действий с сайтом не производит, важен только факт его загрузки.
закинул файлик на один из хостингов к которому был доступ, открывается по ссылке http://home-555.ru/voice.html, поменял ссылку в HTML-коде, но что то все равно не работает, постоянно выскакивает запрос на разрешение микрофона, причем только нажимаешь "разрешить", тут же опять выскакивает, даже ничего сказать не успеваешь, и так бесконечно.
Ответить