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

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Andrey_B
Администратор
Сообщения: 3645
Зарегистрирован: 18 мар 2011, 12:06

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

Сообщение Andrey_B » 26 апр 2011, 01:21

Ура, товарищи! То, о чем так долго мечтали большевики, свершилось!

Я сделал управление системой голосом. Замечу, ридною мо... простите, русским голосом!
Конечно, есть тут пара, скажем так, нюансов, но в целом работает хорошо. Поднять схему можно за 5 минут. Собственного кода почти нет.
Если на днях будет время, расскажу как сделать. Можно теперь даже робота прикручивать.
Да что робота, там такие возможности открываются...

stpavel
Сообщения: 75
Зарегистрирован: 08 апр 2011, 18:43

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

Сообщение stpavel » 26 апр 2011, 14:26

Очень интересно. Ждем с нетерпением...

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

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

Сообщение Andrey_B » 27 апр 2011, 18:28

Опубликовал статью. Система находится в стадии тестирования. Впечатления положительные.

stpavel
Сообщения: 75
Зарегистрирован: 08 апр 2011, 18:43

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

Сообщение stpavel » 27 апр 2011, 22:10

Спасибо. Идея супер :) Как закончится дачный сезон, надо будет попробовать.

tester
Модератор
Сообщения: 49
Зарегистрирован: 18 мар 2011, 14:22
Откуда: СПб
Контактная информация:

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

Сообщение tester » 27 апр 2011, 23:40

я в шоке! не ожидал такого красивого решения!! гугл в очередной раз поразил.
теперь нужно расставлять микрофоны по всему дому? ;)
..и расширять словарный запас исключениями типа "не включайте свет, пожалуйста" :lol:

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

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

Сообщение Andrey_B » 28 апр 2011, 00:08

Здесь нужно многое предусмотреть.
Во-первых, sox реагирует на любые звуки, значит нужно отсекать очень короткие файлы и очень маленькие файлы, а то Google забанит ;)
Во-вторых, смотреть confidence. В-третьих, вы, правы, нужно проверять "не".
Подключил микрофон к 30 метровому кабелю UTP. Естественно, фоновые шумы усилились. Это сказалось на качестве. Возможно потребуется дополнительно прогонять wav через какой-нибудь фильтр. Чтобы повысить чувствительность микрофонов, можно задрать все ползунки в микшере, но тогда программа будет реагировать на пролетающих мимо мух. Я у себя наоборот, снизил чувствительность, отключил Mic Boost. Удивительно, но детей с их дикцией и меня распознает нормально, а голос жены воспринимает плохо. Ну понятно теперь, кто в Google занимается фонетическими моделями... ;) Явно не блондинки. ;)
Но Google ведь контора хитрая. Как пить дать речевой материал, который юзеры наговаривают со своих смартфонов для голосового поиска будет использован для дополнения словарей и лингвистических моделей. Думаю, качество распознавания со временем будет улучшаться.
Это, конечно, игрушка, но как знать. Через 5-7 лет и сервер то дома не захочется ставить. Модем и толстый канал в Интернет, а вся математика там, базы, обработка... реклама. ;)

Сергей99
Сообщения: 15
Зарегистрирован: 18 мар 2011, 18:16

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

Сообщение Сергей99 » 28 апр 2011, 21:50

Andrey_B писал(а): Это, конечно, игрушка, но как знать. Через 5-7 лет и сервер то дома не захочется ставить. Модем и толстый канал в Интернет, а вся математика там, базы, обработка... реклама. ;)
Ну и Большой Брат слушает тебя всегда! ;)

ЗЫ Я правильно понял что протестировать Speech API можно только в Хроме? Огнелис не катит?

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

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

Сообщение Andrey_B » 28 апр 2011, 23:21

Сергей99 писал(а):Ну и Большой Брат слушает тебя всегда! ;)
Я бы не стал придавать этому большое значение. Большой Брат давно уже следит за нами. Регистрируясь в почтовых сервисах Google, Яндекс, Mail, участвуя в социальных сетях, вы идентифицируете себя и создаете тем самым свое личное дело. Все ваши перемещения по Интернету, все ваши поисковые запросы, все клики и переходы - все попадает в личное дело. Кому вы пишете, с кем общаетесь, какую информацию передаете. Используя платежные системы ЯндексДеньги, WebMoney с формальным аттестатом, а тем более PayPal, привязывая номер пластиковой карты вы в полной мере дополняете свое личное дело всей необходимой информацией. Про вас знают все. С кем, когда, что заказывали, где бывали. Ваш стационарный и мобильный телефон - это ваш личный мини представитель Большого Брата. Звонки, SMS, разговоры, местоположение. Ничто от него не скрыть. Все провайдеры и дата-центры имеют служебные каналы в нужные организации. Я не конспиролог, но это жизнь. Социальные сети, поверьте, знают о человеке больше, чем знает о нем самые близкие родственники...
Поэтому все наши "Выключи свет в сортире" особенно не удивят Большого Брата и не сильно дополнят и без того полный портрет. ;)
Сергей99 писал(а):ЗЫ Я правильно понял что протестировать Speech API можно только в Хроме? Огнелис не катит?
Вы о чем? Протестировать Speech API можно на любой операционной системе и в любом браузере. При этом даже не обязательно пользоваться браузером. Как это сделать написано в статье.
Что касается мобильных платформ, то я вот думаю, что надо купить какой-нибудь iPhone/iPad или что-нибудь на Google Android, чтобы не отстать от жизни. ;) Вообще давно хотел какой-нибудь планшетник в роли универсального пульта к системе. С помощью него и команды голосом можно отправлять и Web-интерфейсом управлять. Благо моя система изначально ориентировалась на Интернет-технологии. А по-другому я развития не вижу. По-другому тупик.

Сергей99
Сообщения: 15
Зарегистрирован: 18 мар 2011, 18:16

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

Сообщение Сергей99 » 28 апр 2011, 23:32

Andrey_B писал(а):...участвуя в социальных сетях, вы идентифицируете себя и создаете тем самым свое личное дело.
Социальные сети, поверьте, знают о человеке больше, чем знает о нем самые близкие родственники...
Я не параноик, но ни в одной из социальных сетей не зарегистрирован. :roll:
Andrey_B писал(а):Вообще давно хотел какой-нибудь планшетник в роли универсального пульта к системе.
Дык братья-китайчики на DX уже пачками выкладывают планшетики, в том числе и с Андроидом. Думаю что за такие цены можно и потестировать взять. :D
Хотя если хоть раз держал в руках нативный iPad...

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

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

Сообщение Andrey_B » 28 апр 2011, 23:45

Сергей99 писал(а):Дык братья-китайчики на DX уже пачками выкладывают планшетики, в том числе и с Андроидом. Думаю что за такие цены можно и потестировать взять. :D
Хотя если хоть раз держал в руках нативный iPad...
И хотя тема немного уходит во флуд, а главный инициатор и в то же время модератор тут я, все равно скажу.
Боюсь, если подержать в руках нативный iPad, обратной дороги уже нет... ;) Это же секта. Придется осваивать XCode.
Только сегодня посидел немного за нативным маком и MacOS. Но когда открываешь терминал и попадаешь в среду FreeBSD как-то сразу на душе легче становится... ;)
Пусть пульт под Mac, а пользовательские компьютеры под Windows. Я пингвинов в подвале разводил, развожу и буду разводить!

denis
Сообщения: 3
Зарегистрирован: 02 май 2011, 19:42

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

Сообщение denis » 02 май 2011, 19:56

Доброго времени суток!
При попытке записать звук 16K система выдала сообщение:

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

rec -q -c 1 -r 16000 current.wav silence 1 0.3 3% 1 0.3 3%
rec WARN formats: can't set sample rate 16000; using 48000
пришлось модифицировать bash-скрипт:

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

#!/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
Скажите, какую звуковую карту Вы используете, нужно ли говорить непосредственно в микрофон или можно его закрепить под фальшпотолком?

у меня результат распознования неудовлетворителльный, раза с 5-го, говорю непосредственно в микрофон, включен Mic Boost (+20dB)
Моя звуковая карта:

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

lspci | grep audio
00:1f.5 Multimedia audio controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (rev 02)

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

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

Сообщение Andrey_B » 03 май 2011, 10:08

denis, звуковая карта у меня интегрирована в системную плату ASUS P5G41C-M LX

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

lspci | grep Audio
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)
Все эксперименты я проводил, давая команды только непосредственно в микрофон. Что касается расположения микрофона где-то "там", то необходимо какое-то дополнительное исследование.
Я, например, установил, что наилучшее качество распознавания достигается только тогда, когда речь чистая, одинаковая по уровню громкости и отсутствует фоновый шум.

Как только я подключил микрофон через удлиняющий кабель - появился фон и качество распознавания резко ухудшилось. В качестве кабеля использовалось то, что было под рукой - экранированная витая пара. В принципе необходимо:
1. Подобрать "правильный" с точки зрения чувствительности микрофон. Например, те, что для караоке, наверное, не подойдут.
2. Правильно подключить микрофон к компьютеру. Возможно есть специальный микрофонный кабель и/или дополнительные средства для удаленного подключения микрофона. Был бы признателен, если опытные люди посоветуют что-нибудь на эту тему.
3. Использовать дополнительные программные фильтры: а) нормализовать звук по уровню громкости; б) задавить фоновый шум, если таковой имеется.

Необходимо экспериментально установить при каких параметрах Google дает наиболее качественный результат. Хорошо было бы проконсультироваться с людьми, работающими со звуком. Показать два файла: там где результата хороший и там где результат плохой. Проанализировать. Попробовать из "плохого" обработкой сделать хороший. Убежден, часть проблем можно попробовать решить и программно.

Сергей99
Сообщения: 15
Зарегистрирован: 18 мар 2011, 18:16

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

Сообщение Сергей99 » 03 май 2011, 12:30

А вот я бы посмотрел в сторону радиомикрофона. И цены приемлемые и установить можно в наиболее вероятном месте получения приказа (near from диван ;) ).

tester
Модератор
Сообщения: 49
Зарегистрирован: 18 мар 2011, 14:22
Откуда: СПб
Контактная информация:

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

Сообщение tester » 03 май 2011, 14:41

а может это - всем авторизованным домочадцам bluetooth гарнитуру нацепить? )))

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

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

Сообщение flighttothemoon » 05 май 2011, 20:42

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

denis
Сообщения: 3
Зарегистрирован: 02 май 2011, 19:42

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

Сообщение denis » 06 май 2011, 22:05

подключил микрофон через усилитель, не помогло ))

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

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

Сообщение Andrey_B » 06 май 2011, 22:59

denis писал(а):подключил микрофон через усилитель, не помогло ))
Видимо, тут важен не уровень сигнала, а соотношение сигнал/шум. Усилитель усиливает и то и другое. Тут нужно применять фильтрацию. Люди со звукорежиссерским опытом нужны. Или в Интернете поискать по этому поводу.

Жаль сейчас нет времени акцентироваться на этой теме. Вернусь к ней чуть позже.
Сейчас в повестке дня автоматизация полива газона и другие садово-огородные баталии. У меня около 150 м2 газона.
Прикупил тут на днях спринклер, магнитный клапан, ПНД-трубу и фитинги. Буду экспериментировать.

russoft
Сообщения: 3
Зарегистрирован: 16 июн 2011, 09:49

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

Сообщение russoft » 14 июл 2011, 17:12

Добрый день.... хотелось бы услышать совет профессионалов.
система Ubuntu 11.04 остановился на распозновании речи. сделал скрипт выпоняемый и т.д. как на сайте. при запуске скрипта произношу фразу... фраза в wav пишится (чисто) и на этом все.... flac файла нету.... т.е. получается что при запуске скрипта wav постоянно пишет тишину... даже после произношения команды все равно пишет тишину.. в чем может быть проблема. подскажите пожалуйста.

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

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

Сообщение Andrey_B » 14 июл 2011, 17:23

russoft, а программа flac вообще установлена?
Что система напишет если в командной строке набрать "flac"?

russoft
Сообщения: 3
Зарегистрирован: 16 июн 2011, 09:49

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

Сообщение russoft » 15 июл 2011, 12:31

Да flac установлено.....
если построчно выполнять скрипт то конверт происходит во flac формат....
проблема в том что при выполнении скрипта этого не происходит...

16.07.11
дополню:
сегодня добился результат - ответ от сервера..... (микрофон встроенный в ноутбук).. говорю средней интонацией...
НО: все таки скрипт сам не выполняется, я выпонляю ручками в консоле построчно, т.е.

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

bash conv.sh - запускаю скрипт на выполнение - говорю текст...
^Z 
[1]+  Остановлено  bash conv.sh - прерываю скрипт иначе дальше выполнятся ничего не будет.
root@Vital:/home/vital/scripts/festival# sox current.wav current1.wav rate 16000sox WARN rate: rate clipped 225 samples; decrease volume?
sox WARN dither: dither clipped 200 samples; decrease volume?  - конверт
root@Vital:/home/vital/scripts/festival#   flac -f -s current1.wav -o current.flac - конверт
root@Vital:/home/vital/scripts/festival# php texttocmd.php испоняемый модуль php c результатом
{"status":0,"id":"ee6498314a18d04c68520ba1604d5d06-1","hypotheses":[{"utterance":"включить свет","confidence":0.3186351}]} switch on
Друзья ну подскажите , почему всю не выпоняется попорядку (а именно bash скрипт). Его запускаешь и он то и делает как пишет фон с микрофона в файл......
ЖДУ ответа.....СПАСИБО.
Последний раз редактировалось russoft 16 июл 2011, 16:58, всего редактировалось 1 раз.

Ответить