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

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
gofrom
Сообщения: 67
Зарегистрирован: 09 дек 2011, 00:58
Откуда: Ростов-на-Дону

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

Сообщение gofrom » 08 янв 2012, 00:40

Со встроенными микрофонами думаю добиться результата не реально, хотя пробовать буду
Меня пока устраивает давать команды через свой мобильный который по совместительству еще SIPhone, ошибок распознавания практически нет, я доволен
В доме управлять всеми умными штуками удобнее планшетом, через него и буду командовать)

скоро на работе запущу голосовой донабор внутреннего номера по фамилии сотрудника, наберу статистику ошибок распознавания

den26
Сообщения: 40
Зарегистрирован: 05 янв 2012, 16:13
Откуда: Nsk

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

Сообщение den26 » 10 янв 2012, 10:05

http://user1.cooler-online.ru/blog/11669.html
Voice Genie - продукт компании MSI, которая выпустила его, видимо, желая сделать управление голосом "в железе". Программный способ дешевле, конечно, но именно в железке есть свои плюсы: для определенных плат (от MSI конечно), становится возможным включать комп голосовой командой, а не только запускать браузер, выключать и т.п. При этом, все это - платформонезависимо, что является большим плюсом. Не очень понятно, какая есть защита от случайного выключения. Может фраза должна быть сильно сложная? :)
Девайс будет демонстрироваться на выставке CES 2012, которая начнется 10 января.

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

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

Сообщение ArtSamovar » 10 янв 2012, 11:37

Вот и добрался я до компа... )))
Все отлично, но вот столкнулся с одной немаленькой проблемкой... )))
У меня уровень определения тишины просто немоверный. 58%, и то, подгонять усиление входа и микрофона приходится постоянно. То он тут же кодирует, то приходится ручками процесс записи останавливать. Очень редко сам останавливает запись... Что делать, не знаю. Все бегунки искрутил в настройках Альсы. Безрезультатно...
Попробывал запустить две три копии скрипта, который пишет по четыре секунды, но результаты еще хуже...
На недельке буду заказывать кусочки для платы Андрея (или ТНК), поразвлекаюсь с паяльником )
Лень — двигатель прогресса...

midaw
Сообщения: 93
Зарегистрирован: 14 янв 2012, 14:38
Откуда: Москва
Контактная информация:

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

Сообщение midaw » 14 янв 2012, 20:53

пытаюсь реализовать схему как в статье, но в виндовс. вроде все получается, кроме самого главного. вот этот момент в php ничего не выдает:

$file_to_upload = array('myfile'=>'@current.flac');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://www.google.com/speech-api/v1/re ... lang=ru-RU");
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);
curl_close ($ch);

думаю вместе с php надо как то поставить curl. вроде с php ставится phpcurl.dll, но надо ли отдельно ставить curl я так и не понял. может кто чего подскажет?

Leon7
Сообщения: 17
Зарегистрирован: 24 дек 2011, 10:40

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

Сообщение Leon7 » 15 янв 2012, 07:56

В php.ini должно быть - extension=php_curl.dll,
и там с сертификатом проблема была.
Добавьте в скрипт строчку

curl_setopt($ch, CURLOPT_CAINFO, 'curl-ca-bundle.crt');

Сам файл сертификата "curl-ca-bundle.crt" не помню от куда выдрал, могу поискать.
Все заработало.

Посмотреть отчет curl можно так:
print_r(curl_getinfo($ch));
echo "\n\ncURL error number:" .curl_errno($ch);
echo "\n\ncURL error:" . curl_error($ch);

midaw
Сообщения: 93
Зарегистрирован: 14 янв 2012, 14:38
Откуда: Москва
Контактная информация:

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

Сообщение midaw » 15 янв 2012, 20:15

Leon7 писал(а): Посмотреть отчет curl можно так:
print_r(curl_getinfo($ch));
echo "\n\ncURL error number:" .curl_errno($ch);
echo "\n\ncURL error:" . curl_error($ch);
Результат:
cURL error number:
cURL error:

Расширение в ini указано.
Где взять сертификат?

midaw
Сообщения: 93
Зарегистрирован: 14 янв 2012, 14:38
Откуда: Москва
Контактная информация:

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

Сообщение midaw » 15 янв 2012, 20:29

вот такая команда в windows отработала на ура, может кому пригодиться:
wget -q -U "Mozilla/5.0" --post-file current.flac --header="Content-Type: audio/x-flac; rate=16000" -O - "http://www.google.com/speech-api/v1/rec ... t=chromium"

но сертификат мне ещё нужен. да и вообще понять для чего он нужен.

Leon7
Сообщения: 17
Зарегистрирован: 24 дек 2011, 10:40

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

Сообщение Leon7 » 15 янв 2012, 20:42

Сертификат заберите: http://lm737.narod.ru/curl-ca-bundle.crt
Была ошибка curl, что-то про корневой сертификат. Файл сертификата выдернут из программы "Prey" (противоугонная для ноутбука), там много еще чего есть, например консольная программка снимок с камеры делает.
Следующие строки
print_r(curl_getinfo($ch));
echo "\n\ncURL error number:" .curl_errno($ch);
echo "\n\ncURL error:" . curl_error($ch);
должны быть до "curl_close ($ch);"

midaw
Сообщения: 93
Зарегистрирован: 14 янв 2012, 14:38
Откуда: Москва
Контактная информация:

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

Сообщение midaw » 15 янв 2012, 20:50

Leon7 писал(а):Сертификат заберите: http://lm737.narod.ru/curl-ca-bundle.crt
Была ошибка curl, что-то про корневой сертификат. Файл сертификата выдернут из программы "Prey" (противоугонная для ноутбука), там много еще чего есть, например консольная программка снимок с камеры делает.
С сертификатом работает! Но осталось непонятным, зачем curl нужен какой то там сертификат. Ну работает и ладно, продолжу ковырять.

И спасибо конечно же! )

midaw
Сообщения: 93
Зарегистрирован: 14 янв 2012, 14:38
Откуда: Москва
Контактная информация:

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

Сообщение midaw » 15 янв 2012, 20:55

Leon7 писал(а): Следующие строки
print_r(curl_getinfo($ch));
echo "\n\ncURL error number:" .curl_errno($ch);
echo "\n\ncURL error:" . curl_error($ch);
должны быть до "curl_close ($ch);"
Поправил и получил:
SSL certificate problem, verify that the CA cert is OK.
Вообщем сертификат ему нужно, чтоб он не приставал с глупостями )

Re'aktiv
Сообщения: 3
Зарегистрирован: 30 янв 2012, 00:44

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

Сообщение Re'aktiv » 30 янв 2012, 01:09

Всем доброго времени суток. Может я конечно и "устарел" но как-то привязывать свой умный дом ко всяким там левым сервисам в интернете как-то не хочется. А вдруг да интернет пропадет....
Вобщем я считаю что нужно использовать именно вычислительные мощности "мозга" умного дома для понимания речевых команд. Кодить конечно моного придется...
Вобщем алгоритм я вижу себе таким:
Расставляются по всем комнатам микрофоны, которые в свою очеред подключаются к компу. Как и каким образом вдаватся в подробности не буду, главное что комп обретает "уши". Затем пишется хитрая программа. Алгоритм ее работы примерно такой: каждые, допустим, 0,05 сек., комп определяет частоту поступающего на микрофон сигнала, в результате получается некоторая цифра. Таким образом одна команда представляет собой ряд этих цифр, назовем его "сигнатура" (неизвестно сколько их будет в одной команде). Записываем цифры в строку в таблице где строки - команды, столбцы - цифры. Надиктовываем нужное нам количество команд, в результате получаем одну большушую таблицу. в которой содержится своебразная "сигнатура" всех голосовых команд. Таблицу упорядочиваем по возрастанию, или по убыванию, кому как больше нравится. Таблица готова к эксплуатации. Сама же программа управления домом в режиме реального времени "слушает" команду, и каждые 0,05 секунд снимает частоту сигнала с микрофона, и проверяет подходит ли она к какой либо сигнатуре в таблице. Причем не просто сверяет тютелька в тютельку, а можно указать своеобразную погрешность. Таким образом, так как таблица сигнатур будет полностью упорядочена, то искатся будет быстро, (0,05 сек я думаю должно хватить процессору чтобы сотню другую строчек в таблице пробежать или понять что нужных строчек нету) а так как существует возможность внести погрешность, то зависимость от интонации поуменьшится (а возможно и от того кто говорит команду). В моем понимании как-то так. Гуглить еще готовые системы для сравнивания двух звуков не пробовал, точнее пробовал но негусто нагуглилось. Самому писать прогу руки не дошли, и еще наверное не скоро дойдут так как пока еще стены возвожу :). Спасибо.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

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

Сообщение Andrey_B » 30 янв 2012, 10:53

Если я правильно понял вашу идею "как в старых мобильниках", то система будет адекватно работать только с вашим голосом (с темы паттернами, которые надиктованы).
Система, вероятно, будет чувствительна даже к интонации и длительности звуков. Вам придется обучать систему на каждого члена семьи. А при добавлении новых команд дообучать. И не дай бог простудиться...

gofrom
Сообщения: 67
Зарегистрирован: 09 дек 2011, 00:58
Откуда: Ростов-на-Дону

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

Сообщение gofrom » 30 янв 2012, 11:16

и не только простудится еще собака лает, телевизор орет или просто кто в комнате общается

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

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

Сообщение Andrey_B » 30 янв 2012, 11:24

Ну вот как раз в случае "привязки" системы к конкретному голосу, собака и телевизор не будут проблемами.
Другое дело, когда система откажется понимать даже голос хозяина. ;)

gofrom
Сообщения: 67
Зарегистрирован: 09 дек 2011, 00:58
Откуда: Ростов-на-Дону

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

Сообщение gofrom » 30 янв 2012, 11:28

как раз будут, микрофон всё запишет и будет каша

midaw
Сообщения: 93
Зарегистрирован: 14 янв 2012, 14:38
Откуда: Москва
Контактная информация:

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

Сообщение midaw » 30 янв 2012, 13:01

Есть такое ПО,называется home sapiens. Без проблем занимается голосовым управлением любой техникой и интернет нужен раз в две недели. Я почти решился купить, пока случайно не нашел комментарии. Чем больше команд, тем больше ошибается система и скоро мы, авторы, выложим инструкцию как правильно составлять команды... вообще только Гугл сейчас рулит.

midaw
Сообщения: 93
Зарегистрирован: 14 янв 2012, 14:38
Откуда: Москва
Контактная информация:

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

Сообщение midaw » 30 янв 2012, 13:05

На данный момент купил irlink приемопередатчик и написал миниапи к нему с привязкой к программе Unified remote. Получился универсальный пульт на андройде за 2100р. Правда возни достаточно много, но управлять можно и через инет.

Re'aktiv
Сообщения: 3
Зарегистрирован: 30 янв 2012, 00:44

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

Сообщение Re'aktiv » 30 янв 2012, 23:08

Вот, как раз для того, чтобы система не реагировала на простуженный голос и интонацию и используется некоторая погрешность при сверки частотных чисел, ведь если человек простужен, то в целом диаграмма не изменится, а лишь сползет с более высоких частот на более низкие. Не что не мешает когда вы простужены перебить в окне настроек программы эту единственную циферку-погрешность. То что надиктовывать голосовые команды придется для каждого члена семьи, это вполне на мой взгляд преемлемое занятие. Благодаря этому получается что система будет слушатся только тех кого надо слушатся, а не всякого встречного и поперечного (ато ведь и диктор по телевизору может команду назвать какую-нибудь). Насчет того что будут проблемы с распознаванием речи при шумах, это вопрос не простой. Предполагаю что можно поставить какойнить эквалайзер на входе в систему, который будет намертво обрезать шумы которые лежат не в диапазоне устной речи. Я, конечно, все это обосновываю на своих умозаключениях, рабочих прототипов пока нет, да и вообще никаких прототипов у меня в наличии нет, так как всерьез за эту работу не брался пока, возможно что другие варианты и готовые решения окажутся и вправду лучше.
Теперь вопросы. А гугл сможет распознать ту же самую команду при наличии шумов? А он сможет отличить произнес эту команду хозяин или человек из телевизора или вообще сосед под открытым окном? А что будет если инет отрубится? (этот вопрос адресован тем, кто живет в деревнях как я)

gofrom
Сообщения: 67
Зарегистрирован: 09 дек 2011, 00:58
Откуда: Ростов-на-Дону

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

Сообщение gofrom » 31 янв 2012, 00:48

А гугл сможет распознать ту же самую команду при наличии шумов?
Гугл тоже не распознает, вернее распознает, но там запросто может быть ерунда. Единственный выход использование узконаправленных микрофонов, хотя мне уже кажется что это фантастика.
Для себя я вижу голосовое управление как альтернатива и только с помощью хороших микрофонов с шумоподавлением. Например через свой мобильный телефон, звонок на 001 (первый телевизор) и сказать 24 и asterisk даст команду vlc сменить источник на [url=udp://@224.1.1.52:6000]udp://@224.1.1.52:6000[/url] т.е. телевизор начнет показывать канал Россия 24. В таком виде голосовое управление будет работать нормально.
В этой ветке я грозился на работе запустить голосовой донабор на мини-атс, не запустил( Через аналоговые аппараты число ошибок резко возрастает, более или менее работоспособно на аппаратных IP телефонах или хороших гарнитурах. Голосовой набор немного по тестил, например человек говорил по три цифры 11-значный номер из 5 наборов одна цифра мимо, а значит и весь набор номера накрылся.
А он сможет отличить произнес эту команду хозяин или человек из телевизора или вообще сосед под открытым окном?
Однозначно нет, голос из телевизора или голос под окном скорее всего вообще не распознает.
А что будет если инет отрубится?
Апокалипсис)

Re'aktiv
Сообщения: 3
Зарегистрирован: 30 янв 2012, 00:44

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

Сообщение Re'aktiv » 01 фев 2012, 22:14

Доброго времени суток.
Приятно осознавать что все же я в чем-то прав, спасибо за поддержку.
Пожалуй вы правы, нужны не абы какие микрофоны, а именно направленные. Только одна проблема, куда они должны быть направленны неизвестно. Но есть другой вариант который уродился тоже давно при чтении журналов "Моделист-конструктор". Опытному человеку который шарит в схемах и владеет паяльником я думаю ничего не составит спаять миниатюрный передатчик звукового сигнала, так сказать минирацию. Эту минирацию засунуть в часы, или отдельно в виде браслета какого-нибудь сделать можно. А приемник разместить возле мозга и подрубить к нему. Получается если четого захотел - нажал кнопку на браслете, сказал, мозг это дело уловил, расшифровал, выполнил. Хороша такая система в сравнении с телефоном и другими беспроводными технологиями тем что не придется "делать новую кнопку на телефоне" каждый раз. Записал в комп новую команду, и все. Если даже хорошо припомнить то в Вин7 вроде как есть какая-то стандартная распознавалка голоса, если кто знает проясните как оно работает, у меня такой винды нигде не стоит, и работать с ней пока не приходилось, посему незнаю. При желании можно еще в такой браслет запихнуть какойнить "чип присутствия" а в комнатах датчики развесить, чтобы мозг мог определить где сейчас человек находится и свет включить, либо замок входной двери открыть хозяину при приближении его. Вот как-то так. Что думаете по этому поводу?

Ответить