Управление Умным Домом с помощью голоса
Re: Управление Умным Домом с помощью голоса
Гарнитуру в ухо и дальше юзай как браслет. Только все это не то. Все что нужно это ИИ, который услышав ключевое слово заглушит все лишнее и выполнит дальнейшие команды. Все это вполне возможно сделать уже сейчас, вот только как гугл распорядиться своим ИИ хрен знает, а они уже не раз озвучивали великие планы.
Re: Управление Умным Домом с помощью голоса
Как я понял вышло ПО. Голосового управления на андроид. Пока сам несмотрел, но хвалят. https://market.android.com/details?id=c ... h.remindit
Re: Управление Умным Домом с помощью голоса
Так это приложение все равно работает через гугл. Так что лучше уж напрямую гугл использовать.midaw писал(а):Как я понял вышло ПО. Голосового управления на андроид. Пока сам несмотрел, но хвалят. https://market.android.com/details?id=c ... h.remindit
Re: Управление Умным Домом с помощью голоса
API сервиса Google у кого работает? у меня нет.
вот что я использую: texttocmd.php
<?
// Используем cURL для формирования HTTP POST-запроса к Google API
// Пакет php5-curl в Debian
$file_to_upload = array('myfile'=>'@current.flac');
$ch = curl_init();
curl_setopt($ch, CURLOPT_CAINFO,'curl-ca-bundle.ctr');
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: audio/x-flac; rate=16000"));
curl_setopt($ch, CURLOPT_POSTFIELDS, $file_to_upload);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result = curl_exec ($ch);
print_r(curl_getinfo($ch));
echo "\n\ncURL error number:" .curl_errno($ch);
echo "\n\ncURL error:" . curl_error($ch);
curl_close ($ch);
// Описываем команды, которые мы будем выполнять
$cmd_matrix = array(array(array("включ", "свет"), "switch on"), array(array("выключ", "свет"), "switch off"));
// Google возвращает JSON, поэтому парсим стандартной функцией. Доступна в PHP 5.2
$json_array = json_decode($result, true);
$voice_cmd = $json_array["hypotheses"][0]["utterance"];
// Ищем в ответе Google наши команды.
// Если находим, выполняем заранее запрограммированное действие. В данном случае, вывод на экран
for ( $i = 0; $i < count($cmd_matrix); $i++ )
{
$ok = 1;
for ( $k = 0; $k < count($cmd_matrix[$i][0]); $k++ )
{
if ( !preg_match("/".$cmd_matrix[$i][0][$k]."/", $voice_cmd) )
$ok = 0;
}
if ( $ok == 1 )
echo $cmd_matrix[$i][1];
}
?>
запускаю: googl.sh
#!/bin/bash
while [ true ]; do
rec -q -c 1 current.wav silence 1 0.3 3% 1 0.3 3%
sox current.wav current1.wav rate 16000
flac -f -s current1.wav -o current.flac
php texttocmd.php
done
в корне лежит файл curl-ca-bundle.crt
или его кудато в другое место надо кидать?
выходит ошибка:
PHP Parse error: syntax error, unexpected T_VARIABLE in /var/www/googl/texttocmd.php on line 27
это строка - $ok = 1;
вот что я использую: texttocmd.php
<?
// Используем cURL для формирования HTTP POST-запроса к Google API
// Пакет php5-curl в Debian
$file_to_upload = array('myfile'=>'@current.flac');
$ch = curl_init();
curl_setopt($ch, CURLOPT_CAINFO,'curl-ca-bundle.ctr');
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: audio/x-flac; rate=16000"));
curl_setopt($ch, CURLOPT_POSTFIELDS, $file_to_upload);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result = curl_exec ($ch);
print_r(curl_getinfo($ch));
echo "\n\ncURL error number:" .curl_errno($ch);
echo "\n\ncURL error:" . curl_error($ch);
curl_close ($ch);
// Описываем команды, которые мы будем выполнять
$cmd_matrix = array(array(array("включ", "свет"), "switch on"), array(array("выключ", "свет"), "switch off"));
// Google возвращает JSON, поэтому парсим стандартной функцией. Доступна в PHP 5.2
$json_array = json_decode($result, true);
$voice_cmd = $json_array["hypotheses"][0]["utterance"];
// Ищем в ответе Google наши команды.
// Если находим, выполняем заранее запрограммированное действие. В данном случае, вывод на экран
for ( $i = 0; $i < count($cmd_matrix); $i++ )
{
$ok = 1;
for ( $k = 0; $k < count($cmd_matrix[$i][0]); $k++ )
{
if ( !preg_match("/".$cmd_matrix[$i][0][$k]."/", $voice_cmd) )
$ok = 0;
}
if ( $ok == 1 )
echo $cmd_matrix[$i][1];
}
?>
запускаю: googl.sh
#!/bin/bash
while [ true ]; do
rec -q -c 1 current.wav silence 1 0.3 3% 1 0.3 3%
sox current.wav current1.wav rate 16000
flac -f -s current1.wav -o current.flac
php texttocmd.php
done
в корне лежит файл curl-ca-bundle.crt
или его кудато в другое место надо кидать?
выходит ошибка:
PHP Parse error: syntax error, unexpected T_VARIABLE in /var/www/googl/texttocmd.php on line 27
это строка - $ok = 1;
Re: Управление Умным Домом с помощью голоса
Сертификат нужен был для виндового PHP и мне лично. А про линукс с сертификатов вроде сверху ничего не сказано. Ну и у тебя сказано что ошибка в 27 строке, что это у тебя за строка я хз...
Re: Управление Умным Домом с помощью голоса
Если скрипт ничего не возвращает (у меня так было) то можно либо как сказано выше использовать сертификат, либо
// Отключить ошибку "SSL certificate problem, verify that the CA cert is OK"
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
// Отключить ошибку "SSL: certificate subject name 'hostname.ru' does not match target host name '123.123.123.123'"
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
// Отключить ошибку "SSL certificate problem, verify that the CA cert is OK"
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
// Отключить ошибку "SSL: certificate subject name 'hostname.ru' does not match target host name '123.123.123.123'"
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
Re: Управление Умным Домом с помощью голоса
Люди, как долго у Вас выполняется распознавание?
$t1 = time();
$result = curl_exec($ch);
echo time()-$t1." секунд \n";
У меня 17-18 секунд.
Размер файла current.flac 28 kb.
Как-то это долго. Быстрее никак?
$t1 = time();
$result = curl_exec($ch);
echo time()-$t1." секунд \n";
У меня 17-18 секунд.
Размер файла current.flac 28 kb.
Как-то это долго. Быстрее никак?
-
- Сообщения: 177
- Зарегистрирован: 07 ноя 2011, 23:04
- Откуда: Россия, Самара
- Контактная информация:
Re: Управление Умным Домом с помощью голоса
У меня от голоса, до выполнения команды секунд 5-6 проходитAlexSmok писал(а):Люди, как долго у Вас выполняется распознавание?
$t1 = time();
$result = curl_exec($ch);
echo time()-$t1." секунд \n";
У меня 17-18 секунд.
Размер файла current.flac 28 kb.
Как-то это долго. Быстрее никак?
Re: Управление Умным Домом с помощью голоса
вот именно для этого нужна гарнитура. тогда четкость и скорость опознания будет увеличиваться. хотя пока не тестировал на практике.
иначе получается, вроде настроил программу на микрофон. отошел подальше и все. программа не воспринимает, что ты там вообще чего то говорил. то есть до распознавания дело вообще не доходит...
иначе получается, вроде настроил программу на микрофон. отошел подальше и все. программа не воспринимает, что ты там вообще чего то говорил. то есть до распознавания дело вообще не доходит...
-
- Сообщения: 177
- Зарегистрирован: 07 ноя 2011, 23:04
- Откуда: Россия, Самара
- Контактная информация:
Re: Управление Умным Домом с помощью голоса
Меня пока мой Шорох-7 устраивает, установил его на кухне у стены рядом со столом, т.е. сидя за столом, или вообще в радиусе 1,5 метра 90% распознаётся с первого раза. Но как уже тут где то упоминал Andrey_B , жену у меня практически не распознаёт. Так что получается, все таки я главный в домеmidaw писал(а):вот именно для этого нужна гарнитура. тогда четкость и скорость опознания будет увеличиваться. хотя пока не тестировал на практике.
иначе получается, вроде настроил программу на микрофон. отошел подальше и все. программа не воспринимает, что ты там вообще чего то говорил. то есть до распознавания дело вообще не доходит...
Re: Управление Умным Домом с помощью голоса
У женщин больше эмоций и чувств в голосе. Что именно женщина хочет сам черт не поймет. Отсюда и проблемы. А что за шорох такой? Можно ссылочку?
-
- Сообщения: 177
- Зарегистрирован: 07 ноя 2011, 23:04
- Откуда: Россия, Самара
- Контактная информация:
Re: Управление Умным Домом с помощью голоса
Вот у себя в городе покупал http://vm-sb.ru/p3160847-miniatyurnyj-a ... rofon.html, а подробнее не сложно найти в интернете.midaw писал(а):У женщин больше эмоций и чувств в голосе. Что именно женщина хочет сам черт не поймет. Отсюда и проблемы. А что за шорох такой? Можно ссылочку?
Re: Управление Умным Домом с помощью голоса
А еще говорят Корпорация Добра...midaw писал(а):Что именно женщина хочет сам черт не поймет.
Re: Управление Умным Домом с помощью голоса
Да, я сразу нашел. А вопрос надо было задать так. Куда это чудо подключается вообще и в вашем частном случае? Может настала покупать крутую аудиокарту.andvas писал(а): Вот у себя в городе покупал http://vm-sb.ru/p3160847-miniatyurnyj-a ... rofon.html, а подробнее не сложно найти в интернете.
-
- Сообщения: 177
- Зарегистрирован: 07 ноя 2011, 23:04
- Откуда: Россия, Самара
- Контактная информация:
Re: Управление Умным Домом с помощью голоса
У себя я подключил напрямую в сервер, в mic. от него метра 4 экранированной витой парой до того места которое описывал выше. У себя на сервере я правда не стал до конца разбираться с настройками, шумов, громкости, уровня и.т.д., потому что то что у меня получилось сразу, меня вполне устраивает.midaw писал(а):Да, я сразу нашел. А вопрос надо было задать так. Куда это чудо подключается вообще и в вашем частном случае? Может настала покупать крутую аудиокарту.andvas писал(а): Вот у себя в городе покупал http://vm-sb.ru/p3160847-miniatyurnyj-a ... rofon.html, а подробнее не сложно найти в интернете.
Re: Управление Умным Домом с помощью голоса
После поиска откуда косяк со скоростью удалось только обнаружить что
CURLINFO_NAMELOOKUP_TIME: 15.007158
CURLINFO_PRETRANSFER_TIME: 15.299692
ну и следовательно
CURLINFO_STARTTRANSFER_TIME: 16.300858
CURLINFO_TOTAL_TIME: 18.119222
Следовательно косяк где-то в дугом месте.
CURLINFO_NAMELOOKUP_TIME: 15.007158
CURLINFO_PRETRANSFER_TIME: 15.299692
ну и следовательно
CURLINFO_STARTTRANSFER_TIME: 16.300858
CURLINFO_TOTAL_TIME: 18.119222
Следовательно косяк где-то в дугом месте.
Re: Управление Умным Домом с помощью голоса
По моему основной косяк будет здесь:AlexSmok писал(а): Следовательно косяк где-то в дугом месте.
rec -q -c 1 -r 16000 current.wav silence 1 0.3 3% 1 0.3 3%
А там где ты разбираешься. Если даже и поймешь, что долго гугл преобразуют голос в текст. Ничего изменить нельзя.
Re: Управление Умным Домом с помощью голоса
Разобрался я с вопросом.
Для белорусов: на debian поменяйте DNS на гугловский 8.8.8.8 (DNS от байфлая тут не помощник)
CURLINFO_NAMELOOKUP_TIME: 0.091166
CURLINFO_PRETRANSFER_TIME: 0.385008
CURLINFO_STARTTRANSFER_TIME: 1.386168
CURLINFO_TOTAL_TIME: 2.511629
Как-то так. С 18-ти секунд до 2-х. Уже радует.
Распознаёт неплохо если говорить с одинаковой громкостью... осталось Шорох прикупить и с ним попробовать.
midaw, я там копал. Запись и перекодировка влёт. Да и распознавание теперь то же.
И разобраться с озвучиванием текста. Предварительно попробовав я понял что это посложнее будет. Но это другая тема.
Для белорусов: на debian поменяйте DNS на гугловский 8.8.8.8 (DNS от байфлая тут не помощник)
CURLINFO_NAMELOOKUP_TIME: 0.091166
CURLINFO_PRETRANSFER_TIME: 0.385008
CURLINFO_STARTTRANSFER_TIME: 1.386168
CURLINFO_TOTAL_TIME: 2.511629
Как-то так. С 18-ти секунд до 2-х. Уже радует.
Распознаёт неплохо если говорить с одинаковой громкостью... осталось Шорох прикупить и с ним попробовать.
midaw, я там копал. Запись и перекодировка влёт. Да и распознавание теперь то же.
И разобраться с озвучиванием текста. Предварительно попробовав я понял что это посложнее будет. Но это другая тема.
Re: Управление Умным Домом с помощью голоса
хех, а я давно на этом наркотике сижу 8.8.8.8 (гугловский DNS). интернет также шустрее работает с ним.AlexSmok писал(а): Для белорусов: на debian поменяйте DNS на гугловский 8.8.8.8 (DNS от байфлая тут не помощник)
хотя по хорошему и правильнее будет ссылаться на IP, если он конечно не меняется.
а вообще конечно 8.8.8.8 опасная штука. ведь они знают теперь куда мы ходим и какую рекламу сувать... для тех кому это важно )))
ну и да, я забираю свои слова обратно. на счет не стоит разбираться. забыл про DNS.
Re: Управление Умным Домом с помощью голоса
Кто нибудь обдумывал места расположения микрофона?
Точно вижу целесообразно разместить на кухне (например: руки грязные) и в коридоре (например когда уходишь подал команду). В комнате уже не та потребность, т.к. под рукой может быть планшет, телефон и т.д.
А Вы как считаете?
Если кто то будет заказывать через интернет магазин, то киньте ссыль. Прикупил бы для пробы.
Точно вижу целесообразно разместить на кухне (например: руки грязные) и в коридоре (например когда уходишь подал команду). В комнате уже не та потребность, т.к. под рукой может быть планшет, телефон и т.д.
А Вы как считаете?
Если кто то будет заказывать через интернет магазин, то киньте ссыль. Прикупил бы для пробы.