По поводу голосового управления и ответов голосом

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Toutlemond
Сообщения: 27
Зарегистрирован: Ср дек 05, 2012 10:58 am
Благодарил (а): 0
Поблагодарили: 1 раз

По поводу голосового управления и ответов голосом

Сообщение Toutlemond » Ср дек 05, 2012 12:13 pm

Всем привет!
Пишу тут впервые, хотя давно уже интересуюсь проектом.

Сейчас строю дом, пока на зиму дело встало можно попридумывать и помечтать :-)
Всю проводку буду делать само собой под систему MajorDoMo.
Но вот я озадачился мыслью что надо бы чтоб управление голосовое было и ответы звучали именно там где был задан вопрос.
Гугловское распознавание попробовал то что на ab-log.ru, спасибо Андрею.
Но тут 2 нюанса-
  • что много всего лишнего будет идти на гугл
  • опять же не делиться по комнатам
Почитал про то что б ставить по планшету в каждую комнату - можно конечно но это как то некрасиво мне кажется.

И вот что придумал.
Сильно не ругайте я не "настоящий" электронщик :-)

Сперва схему приведу
Изображение

А логика такая -

микрофоны слушают комнаты, шумы отфильтровывают
ну что то по типу вот этого -

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

int sig = 0;
int mic = 0;
 
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
}
void led() {
sig = analogRead(mic)*50;
 
if (sig>50)  {digitalWrite(2, HIGH);} else {digitalWrite(2, LOW);}//зажигаем светодиот 1
if (sig>250) {digitalWrite(3, HIGH);} else {digitalWrite(3, LOW);}//зажигаем светодиот 2
if (sig>500) {digitalWrite(4, HIGH);} else {digitalWrite(4, LOW);}//зажигаем светодиот 3
if (sig>750) {digitalWrite(5, HIGH);} else {digitalWrite(5, LOW);}//зажигаем светодиот 4
}
void loop() {
led();
}
но весь сигнал идет на звуковой сервер(о нем дальше)

Если уровень выше какой то отметки то ардуина по сети передает серверу УмногоДома ну скажем свойство ComandRoom обьекта ThisComp. Короче какую то глобальную переменную с номером комнаты где уровень сигнала выше. Оно там пока храниться.

В это время на звуковом сервере -
прога julius фильтрует всю болтовню пока не услышит слово Система(Ну или Алиса, как у Cергея, но я так не могу у меня дочь Алиса) :-D
Когда оно это услышало она отправляет этот код на скрипт который шлет на гугл, в принципе такое там возможно сделать.
Гугл расшифровывает остальное и возвращает ответ скрипту, который GET-ом передает команду серверу Умного Дома, он команду анализирует и перед выполнением проверяет gg.ComandRoom и если она не 0 то выполняет команду только применительно к той комнате где она звучала. А после обнуляет ее...

Вот как то так :-D

Ну он так же может на основе этой переменной выдавать речевые сообщения в нужную комнату. Но тут надо или как то придумать как рулить каналами звуковухи, или опять же микроконтроллер какой то приделать.
А также песни включать туда где требуется а не по всему дому. :D

Ну что скажете - может такое заработать или слишком долго и муторно будет?
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: По поводу голосового управления и ответов голосом

Сообщение sergejey » Ср дек 05, 2012 12:23 pm

Идея интересная, можно попробовать. Собственно из муторного тут только "железная" часть -- микрофоны и подведение их к звуковому серверу.
А что за программа Julius?

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Toutlemond
Сообщения: 27
Зарегистрирован: Ср дек 05, 2012 10:58 am
Благодарил (а): 0
Поблагодарили: 1 раз

Re: По поводу голосового управления и ответов голосом

Сообщение Toutlemond » Ср дек 05, 2012 12:32 pm

Привет!
julius это такая линуксовая распознавалка голоса.
Работает более менее.
От нее требуется только 1 слово распознавать :-)
вот тут про нее есть http://www.xakep.ru/magazine/xa/133/082/1.asp

Железо то не проблема когда дома нет :-) Мне надо просто будет заранее заложить это в проводку если удасться.
Надо будет на столе сделать схему такую.
Но пока нет сетевой ардуины.. идет..
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: По поводу голосового управления и ответов голосом

Сообщение Alex » Ср дек 05, 2012 2:05 pm

Что то я не понял как это работает. У вас на схеме платки микрофонов, которые передают в Ардуину уровень громкости, а потом ещё какие то диодики, идущие в усилитель. Это как? Платка микрофона используется и как датчик уровня звука и как собственно микрофон одновременно? Вы в реальности это проделывали?
Toutlemond
Сообщения: 27
Зарегистрирован: Ср дек 05, 2012 10:58 am
Благодарил (а): 0
Поблагодарили: 1 раз

Re: По поводу голосового управления и ответов голосом

Сообщение Toutlemond » Чт дек 06, 2012 10:09 am

Alex
Нет я это не проделывал в реале. Я поэтому и пишу что не электронщик.
Но я размышлял так -
диодики или что то такое надо чтобы ардуина не чувствовала повышение уровня на других каналах.

То есть по сути микрофоны просто идут в усилок.

А ардуина подцеплена параллельно к проводам микрофонов и слушает уровень.

Платки такие нарисованы просто для наглядности - это могут быть любые микрофоны.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: По поводу голосового управления и ответов голосом

Сообщение Alex » Чт дек 06, 2012 11:34 am

Тогда надо отдельные сенсоры уровня звука для Ардуины и отдельные микрофоны для усилителя. Совместить одно с другим проблематично.
Toutlemond
Сообщения: 27
Зарегистрирован: Ср дек 05, 2012 10:58 am
Благодарил (а): 0
Поблагодарили: 1 раз

Re: По поводу голосового управления и ответов голосом

Сообщение Toutlemond » Пт дек 07, 2012 8:54 am

Ну это как то громоздко...
А почему не будет работать?
Надо попробовать, немного освобожусь и сделаю пробную схемку. надо только микрофон купить какой нить.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: По поводу голосового управления и ответов голосом

Сообщение Alex » Пт дек 07, 2012 12:20 pm

А почему не будет работать?
А как это может работать? Тут либо я чего то сильно не понимаю, либо вы. :)
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: По поводу голосового управления и ответов голосом

Сообщение sergejey » Пт дек 07, 2012 12:32 pm

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

Ещё, как идея на будущее, можно попробовать взять wifi-роутер, подключить к нему звуковую карту и настроить так, чтобы он принимал в себя все звуковые отрезки выше какого-то порогового значения, передавал как звуковой файл на сервер, последний его старался распознать и уже выполнить команду. Но это так, мысли вслух...

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: По поводу голосового управления и ответов голосом

Сообщение Alex » Пт дек 07, 2012 6:19 pm

Идея в том, что б микрофоны шли в компьютер, а arduino (с другими микрофонами) только для того, что б определять в какой комнате была произнесена команда, чтобы "включить свет" отрабатывал только там, где это было сказано.
Дык и я о том же
Ответить