Управление Умным Домом с помощью голоса

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
baikaltech
Сообщения: 20
Зарегистрирован: 16 окт 2013, 18:13
Откуда: Иркутск

Re: Управление Умным Домом с помощью голоса

Сообщение baikaltech » 24 июл 2014, 10:04

А почему бы не использовать модуль http://dvrobot.ru/shop/i275.Arduino_-_m ... _rechi.htm и USB-UART переходник для стартового слова?

Aquarius
Сообщения: 362
Зарегистрирован: 19 дек 2011, 17:17
Откуда: Дзержинск

Re: Управление Умным Домом с помощью голоса

Сообщение Aquarius » 31 июл 2014, 08:30

На хабре появилась статья, в которой проводят анализ доступных средств распознавания речи.

flighttothemoon
Сообщения: 104
Зарегистрирован: 27 мар 2011, 02:15

Re: Управление Умным Домом с помощью голоса

Сообщение flighttothemoon » 06 авг 2014, 17:02

Вот вам микрофон для умного дома
http://www.voicepod.com/home.asp

Демонстрация здесь
https://www.youtube.com/watch?v=uyLtcPIqcUo

Bluefox
Сообщения: 150
Зарегистрирован: 03 мар 2014, 20:02

Re: Управление Умным Домом с помощью голоса

Сообщение Bluefox » 07 авг 2014, 12:52

flighttothemoon писал(а):Вот вам микрофон для умного дома
http://www.voicepod.com/home.asp

Демонстрация здесь
https://www.youtube.com/watch?v=uyLtcPIqcUo
Не забудь приготовить 650 долларов. :D

kellas
Сообщения: 1
Зарегистрирован: 10 сен 2014, 16:18

Re: Управление Умным Домом с помощью голоса

Сообщение kellas » 10 сен 2014, 16:21

Рекомендую обратить внимание на autovoice и tasker под android.

andvas
Сообщения: 177
Зарегистрирован: 07 ноя 2011, 23:04
Откуда: Россия, Самара
Контактная информация:

Re: Управление Умным Домом с помощью голоса

Сообщение andvas » 11 сен 2014, 12:05

kellas писал(а):Рекомендую обратить внимание на autovoice и tasker под android.
Tasker-ом пользуюсь давно , управлять голосом удобно, отклик 2-4 секунды от google(в зависимости от соединения интернет) но нужно заготовить некоторое количество фраз на одно действие, например "Выключить свет на кухне", "Выключить на кухне свет", "Выключи свет на кухне", "Выключи на кухне свет" и т.д. Столько фраз нужно потому что трудно контроллировать себя в произношении, получается самопроизвольно, поэтому постоянно добавляются новые/похожие фразы. А так очень удобно опрашивать голосом например температуру, и для этого можно напрямую обратиться к Megad, распарсить страничку ответа tasker-ом и тут же проинести в ответ и влажность и температуру, и состояние вх/вых и для этого нам не нужна ни база ни web-интерфейс, все самое простое можно делать через tasker.

arbuzmaster
Сообщения: 254
Зарегистрирован: 15 июл 2013, 23:43
Откуда: Астрахань

Re: Управление Умным Домом с помощью голоса

Сообщение arbuzmaster » 21 сен 2014, 01:18

Можно использовать тег c атрибутом autoplay HTML5 для воспроизведения ответов созданных RHVoice (mp3) в браузерах Chrome на Android (по умолчанию запустить воспроизведение можно только с участием пользователя)если в chrome://flags включить функцию управления жестами при воспроизведении мультимедийных файлов
И ещё можно заставить Smartphone точно а Планшет не знаю вибрировать так

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

<script type="text/javascript">
navigator.vibrate([3000, 2000, 1000]);
</script>
Vibration API Все проверялось на SonyXperiaS


arbuzmaster
Сообщения: 254
Зарегистрирован: 15 июл 2013, 23:43
Откуда: Астрахань

Re: Управление Умным Домом с помощью голоса

Сообщение arbuzmaster » 22 сен 2014, 22:14

Интересная штука! Но вот вопрос зачем - ведь например в Androide есть Настройки голосового ввода google где можно скачать словарь и так же распознавать слова в chrome в offline У меня прекрасно распознаёт короткие фразы тип (свет ,светильник, даже - температура в комнате , погода в городе"я так даже подозреваю что и обучается новым фразам так как при сбросе системы тупеет") Я не скажу за iPhone т.к. он мне не нравится(поэтому у меня его нет!!!), вполне возможно и там будет работать если на него chrome поставить! Если кто нибудь сможет проверить код на 16 странице на iPhone то буду благодарен!!

Aquarius
Сообщения: 362
Зарегистрирован: 19 дек 2011, 17:17
Откуда: Дзержинск

Re: Управление Умным Домом с помощью голоса

Сообщение Aquarius » 23 сен 2014, 10:22

arbuzmaster писал(а): Интересная штука! Но вот вопрос зачем - ведь например в Androide есть Настройки голосового ввода google где можно скачать словарь и так же распознавать слова в chrome в offline
Да, про это тоже говорится в статье, но я заметил интересную штуку у этого проекта - "волшебное слово". На сколько я знаю распознавание в гугле работает, но с непрерывным распознаванием какие-то проблемы, а с этим проектом можно запускать распознавание после того, как система услышит "волшебное слово".

arbuzmaster
Сообщения: 254
Зарегистрирован: 15 июл 2013, 23:43
Откуда: Астрахань

Re: Управление Умным Домом с помощью голоса

Сообщение arbuzmaster » 23 сен 2014, 12:39

Aquarius писал(а): На сколько я знаю распознавание в гугле работает, но с непрерывным распознаванием какие-то проблемы, а с этим проектом можно запускать распознавание после того, как система услышит "волшебное слово".
Я тестировал по http распознает непрерывно до образования тишины и через 5-10 сек сбрасывается доступ к микрофону, по https доступ к микрофону не спрашивает, просто начинает заново распознавать (если распознавание поставить в цикл) на Androide также работает и при выключенном экране т.е в фоне. У меня на Sony распознавал приблизительно с 2-3 метров(видимо микрофон хороший)

ArtSamovar
Сообщения: 184
Зарегистрирован: 07 ноя 2011, 08:45
Откуда: Ступино МО

Re: Управление Умным Домом с помощью голоса

Сообщение ArtSamovar » 23 сен 2014, 12:43

Aquarius писал(а): Да, про это тоже говорится в статье, но я заметил интересную штуку у этого проекта - "волшебное слово". На сколько я знаю распознавание в гугле работает, но с непрерывным распознаванием какие-то проблемы, а с этим проектом можно запускать распознавание после того, как система услышит "волшебное слово".
Чуть не соглашусь по поводу гугла, он беглую речь вполне понимает. И "Ok Google" теперь доступен и в браузере на PC, как раз по "волшебному слову".
Что касается сфинкса, то могу сказать, что он всё равно ещё не настолько хорош. Очень часто "путает" кодовые слова с похожими по звучанию.
Лично тестил у себя дома с тремя "Шорохами".
Но и в пользу сфинкса скажу, что как локальная система распознавания - она достойна внимания. Чтобы она работала надо в связке со сфинксом использовать локальную базу и простенькую нейронную сеть, которая избавит от срабатывания в беглой речи и похожих фраз, слов, предложений. (Своего рода создать контекст для объекта)
Лень — двигатель прогресса...

Aquarius
Сообщения: 362
Зарегистрирован: 19 дек 2011, 17:17
Откуда: Дзержинск

Re: Управление Умным Домом с помощью голоса

Сообщение Aquarius » 23 сен 2014, 15:58

ArtSamovar писал(а):Лично тестил у себя дома с тремя "Шорохами".
Микрофоны были параллельны как-то подключены или были независимыми друг от друга?

ArtSamovar
Сообщения: 184
Зарегистрирован: 07 ноя 2011, 08:45
Откуда: Ступино МО

Re: Управление Умным Домом с помощью голоса

Сообщение ArtSamovar » 23 сен 2014, 16:00

Aquarius писал(а):
ArtSamovar писал(а):Лично тестил у себя дома с тремя "Шорохами".
Микрофоны были параллельны как-то подключены или были независимыми друг от друга?
Они независимы друг от друга.

Когда параллельны, то это ужасный аналог Кинекта... И довольно тяжело разбирать каналы.
Лень — двигатель прогресса...

Bagir
Сообщения: 8
Зарегистрирован: 12 окт 2013, 02:45

Re: Управление Умным Домом с помощью голоса

Сообщение Bagir » 14 окт 2014, 00:35

Сегодня мне удалось собрать материал для отправки звукового файла в гугл и получения текста. Надо сказать, что результатами я доволен. Дальнейшая битва за качество пойдет уже на уровне железа.
Подобного добра полно в Интернете, но весной этого года гугл закрыл доступ к своему API V1, и включил V2. Код немного изменился.
1. Теперь для этого потребуется ключ. Его можно свободно получить, прочитав эту полезную статью http://tuarisa.ru/2014/08/google-speech ... chajnikov/. Я получил себе такой ключик на свой адрес в Gmail.com В примере есть парочка пока что работающих ключиков для пробы. Как получить свой, подробно расписано в статье.
2. Изменился формат для записываемого файла.
Расширение : flac
Channels : 2
Sample Rate : 44100
Precision : 32-bit
Sample Encoding: 32-bit Float
3. На винде столкнулся с проблемой сертификата для curl. Пришлось отключить проверку. В коде эта строчка есть. Так же я нашел и сам сертификат. Работает и с ним тоже. Для чего он нужен curl я пока что не вникал.

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

<?
// Используем cURL для формирования HTTP POST-запроса к Google API
// AIzaSyAqk7vE0vQDR3JItUPgFp6bcPqgJz8h8tI
// AIzaSyBOti4mM-6x9WDnZIjIeyEU21OpBXqWBgw

/* Если возникает ошибка
URL error number:60
URL error:SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Можно либо подсунуть найденный в просторах Интернета давно устаревший сертификат curl-ca-bundle.crt, либо просто отключить проверку
*/

/* Format *.flac
Channels : 2
Sample Rate : 44100
Precision : 32-bit
Sample Encoding: 32-bit Float
*/

$file_to_upload = array('myfile'=>'@'.'D:\Server\www\majordomo\current.flac');

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.google.com/speech-api/v2/recognize?output=json&lang=ru-RU&key=AIzaSyAqk7vE0vQDR3JItUPgFp6bcPqgJz8h8tI');

// curl_setopt($ch, CURLOPT_CAINFO, 'd:\server\apps\curl-ca-bundle.crt');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);  // Отключить ошибку "SSL certificate problem, verify that the CA cert is OK"
//curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);  // Отключить ошибку "SSL: certificate subject name 'hostname.ru' does not match target host name '123.123.123.123'"
curl_setopt($ch, CURLOPT_POST,1);
//curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: audio/l16; rate=16000;'));  // для wav файлов, но по слухам ни у кого не работает
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: audio/x-flac; rate=44100;'));
curl_setopt($ch, CURLOPT_POSTFIELDS, $file_to_upload);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result=curl_exec ($ch);

// показать инфу и ошибки
print_r(curl_getinfo($ch)); 
echo '<br>URL error number:' . curl_errno($ch); 
echo '<br>URL error:' . curl_error($ch);
echo '<br>';

curl_close ($ch);

// Покачать весь ответ гугла
echo '<br>result='.$result;
echo "<br>";

// По не выясненным пока причинам, в версии V2 первый ответ всегда пустой. Берем второй.
$result_arr = split("\n", $result); $result = $result_arr[1];
// Google возвращает JSON, поэтому парсим стандартной функцией. Доступна в PHP 5.2
$json_array = json_decode($result, true);
$voice_cmd = $json_array['result'][0]['alternative'][0]['transcript'];
$confidence = $json_array['result'][0]['alternative'][0]['confidence'];
echo('<br>voice_cmd='.$voice_cmd);
echo('<br>confidence='.$confidence);

?>
Код можно просто скопировать в пустой php файл, и запустить его из браузера например вот так http://localhost/voice_recognition.php Или просто скачать php файл с этим кодом из вложения и положить его в папку с файлами сайта. Также во вложении я добавил свой звуковой файлик с записью голоса для примера.
Обязательно надо поправить пути на свои!!! в строке
$file_to_upload = array('myfile'=>'@'.'D:\Server\www\majordomo\current.flac');
собачку не трогайте, а то покусает )) Я точно не знаю для чего она. Где то вычитал, что отключает проверки и curl будет выполняться дальше. Бред какой то, но без @ действительно не работает.
Строка
// curl_setopt($ch, CURLOPT_CAINFO, 'd:\server\apps\curl-ca-bundle.crt');
закоментирована. Можно указать путь к сертификату, который есть во вложении, и убрать эту строку отключения проверки
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // Отключить ошибку "SSL certificate problem, verify that the CA cert is OK"
Вообщем можно поэкспериментировать. Но пока что работает и так и сяк.
Вложения
voice_recognition.zip
php файл с этим кодом
(2.48 КБ) 466 скачиваний
current.zip
образец файла для распознавания
(134.88 КБ) 463 скачивания
curl-ca-bundle.zip
сертификат для экспериментов
(222.13 КБ) 444 скачивания

ArtSamovar
Сообщения: 184
Зарегистрирован: 07 ноя 2011, 08:45
Откуда: Ступино МО

Re: Управление Умным Домом с помощью голоса

Сообщение ArtSamovar » 14 окт 2014, 01:11

Bagir писал(а): Где то вычитал, что отключает проверки и curl будет выполняться дальше. Бред какой то, но без @ действительно не работает.
Знак собаки "говорит" cURL'у, что это данные для загрузки. Они будут отправлены POST запросом.

waw'ку надо в один канал и float перегонять в signed-integer, а также 16 бит... тогда будет работать
(соксом: rec --encoding signed-integer --channels 1 --bits 16 --rate 16000 example.wav)

...и на данный момент, доступно всего 50 запросов в день примерно по 10 секунд.
Лень — двигатель прогресса...

arbuzmaster
Сообщения: 254
Зарегистрирован: 15 июл 2013, 23:43
Откуда: Астрахань

Re: Управление Умным Домом с помощью голоса

Сообщение arbuzmaster » 14 окт 2014, 14:16

У меня собственно созрели вопросы - А как вы записываете файл с голосом и отправляете на сервер? В связи с чем есть еще один вопрос - если файл записывается посредством Flash то это не работает на Смартфонах по крайней мере с Android или есть какие то другие варианты записать и передать файл на сервер? У меня это реализовано без передачи аудио файлов на сервер - т.е напрямую c google работает (код Javascript в одном из пед идущих сообщений) Работает везде и на компах и на смартфонах только при наличии Google Chromre браузера (без ключей и сертификатов).

ArtSamovar
Сообщения: 184
Зарегистрирован: 07 ноя 2011, 08:45
Откуда: Ступино МО

Re: Управление Умным Домом с помощью голоса

Сообщение ArtSamovar » 14 окт 2014, 14:53

arbuzmaster писал(а):У меня собственно созрели вопросы - А как вы записываете файл с голосом и отправляете на сервер? В связи с чем есть еще один вопрос - если файл записывается посредством Flash то это не работает на Смартфонах по крайней мере с Android или есть какие то другие варианты записать и передать файл на сервер? У меня это реализовано без передачи аудио файлов на сервер - т.е напрямую c google работает (код Javascript в одном из пед идущих сообщений) Работает везде и на компах и на смартфонах только при наличии Google Chromre браузера (без ключей и сертификатов).
Что касается Андроида то конструктор приложений.
Или Tasker.

Что касается браузера, то UserMedia и через сокет на домашний сервер, а дальше что угодно... Хоть в Google, хоть в Sphinx4.
На микрофонах (через adc порт Меги) были попытки, но качество не очень, хоть и работает.
Лень — двигатель прогресса...

arbuzmaster
Сообщения: 254
Зарегистрирован: 15 июл 2013, 23:43
Откуда: Астрахань

Re: Управление Умным Домом с помощью голоса

Сообщение arbuzmaster » 15 окт 2014, 20:54

Что касается браузера, то UserMedia и через сокет на домашний сервер, а дальше что угодно... Хоть в Google, хоть в Sphinx4.
На микрофонах (через adc порт Меги) были попытки, но качество не очень, хоть и работает.
Если не сложно то можно рабочий пример (node.js установлен)

ArtSamovar
Сообщения: 184
Зарегистрирован: 07 ноя 2011, 08:45
Откуда: Ступино МО

Re: Управление Умным Домом с помощью голоса

Сообщение ArtSamovar » 15 окт 2014, 20:59

arbuzmaster писал(а):Если не сложно то можно рабочий пример (node.js установлен)
Вот статья на Хабре, почитайте. Думаю многое прояснится :)
Лень — двигатель прогресса...

Ответить