Страница 17 из 19

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

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

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

Добавлено: 31 июл 2014, 08:30
Aquarius
На хабре появилась статья, в которой проводят анализ доступных средств распознавания речи.

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

Добавлено: 06 авг 2014, 17:02
flighttothemoon
Вот вам микрофон для умного дома
http://www.voicepod.com/home.asp

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

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

Добавлено: 07 авг 2014, 12:52
Bluefox
flighttothemoon писал(а):Вот вам микрофон для умного дома
http://www.voicepod.com/home.asp

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

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

Добавлено: 10 сен 2014, 16:21
kellas
Рекомендую обратить внимание на autovoice и tasker под android.

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

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

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

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

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

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

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

Добавлено: 22 сен 2014, 13:19
Aquarius

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Добавлено: 14 окт 2014, 00:35
Bagir
Сегодня мне удалось собрать материал для отправки звукового файла в гугл и получения текста. Надо сказать, что результатами я доволен. Дальнейшая битва за качество пойдет уже на уровне железа.
Подобного добра полно в Интернете, но весной этого года гугл закрыл доступ к своему 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"
Вообщем можно поэкспериментировать. Но пока что работает и так и сяк.

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

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

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

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

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

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

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

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

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

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

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

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

Добавлено: 15 окт 2014, 20:59
ArtSamovar
arbuzmaster писал(а):Если не сложно то можно рабочий пример (node.js установлен)
Вот статья на Хабре, почитайте. Думаю многое прояснится :)