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

Re: Реализация голосового управления по типу ОК Гугл (OK Goo

Добавлено: Чт окт 19, 2017 1:26 pm
directman66
lanket писал(а): Соответственно Majordomo должен уметь принимать вызовы извне, явно не ожидаемые им в данный момент. Получается либо через connect либо хз как там организованно надо изучать. Модуль нужен будет для majordomo.
Вот и я о том, что api.ia в связке с имеющимся плагином может отвечать на поступивший из вне запрос и отвечать на него.

Re: Реализация голосового управления по типу ОК Гугл (OK Goo

Добавлено: Чт окт 19, 2017 1:27 pm
directman66
а мысли как отобрать звукозапись? впринципе actions теоретически должен иметь к ней доступ.

Re: Реализация голосового управления по типу ОК Гугл (OK Goo

Добавлено: Чт окт 19, 2017 1:32 pm
lanket
directman66 писал(а):а мысли как отобрать звукозапись? впринципе actions теоретически должен иметь к ней доступ.
Ответ приходит в массиве. Мы пользуемся 1ой ячейкой массива text. Походу там есть ячейка audio_out в которой, судя по описанию, бинарник.

Отправлено с моего Redmi Note 4 через Tapatalk

Re: Реализация голосового управления по типу ОК Гугл (OK Goo

Добавлено: Чт окт 19, 2017 1:34 pm
lanket
Блин надо открыть ssh наружу до zero с Google assistant чтобы можно было экспериментировать с работы. А так только вечером дома когда все спать ложатся.

Отправлено с моего Redmi Note 4 через Tapatalk

Re: Реализация голосового управления по типу ОК Гугл (OK Goo

Добавлено: Чт окт 19, 2017 1:53 pm
directman66
у меня малина на работе, подключена в wifi с телефона, отличный вариант для экспериментов. Выход в сеть есть, что еещ нужно?

Re: Реализация голосового управления по типу ОК Гугл (OK Goo

Добавлено: Чт окт 19, 2017 9:34 pm
lanket
Нифига не могу понять этого питона. У гугловедов есть примеры как работать с SDK и судя по тому что я вижу в данном примере то тут явно записывается звук, да еще и выбирается формат записи.

В массиве ответа есть только текст распознанный, думаю потому что гдето надо явно указать возвращать аудио.

Re: Реализация голосового управления по типу ОК Гугл (OK Goo

Добавлено: Чт окт 19, 2017 10:48 pm
lanket
Не отдает он аудио сырье, нет у него такой функции.

А audio_out это аудио ответа помошника

:idea: Гы.
попросить прекратить слушать пользователя:

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

assistant.stop_conversation() 
Осталось записать самому вав и отправить на распознование

Re: Реализация голосового управления по типу ОК Гугл (OK Goo

Добавлено: Чт окт 19, 2017 11:04 pm
Gelezako
lanket писал(а):
directman66 писал(а):Кстати у domoticz вроде как есть нативный плагин гугл асистента. Имхо самый нормальный вариант. Гугл все api предоставляет. Надо чтобы наши умы-программисты к этому делу подключились.
Как я понял механизм такой.

В Google actions создаётся приложение, которое в случае 2го уровня ключевого слова отправляет в api.ai.

Api.ai инициализирует дальнейший диалог в случае его необходимости, уточнении например обязательных параметров.

И результат отправляет, походу дела, в приложение зарегистрированного в экшене. Как например в viber, который уже давно зарегистрирован и есть в списке приложений api.ai

Соответственно Majordomo должен уметь принимать вызовы извне, явно не ожидаемые им в данный момент. Получается либо через connect либо хз как там организованно надо изучать. Модуль нужен будет для majordomo.

Отправлено с моего Redmi Note 4 через Tapatalk
Сам сервис api.ai (который на самом деле уже называется dialogflow.com) поддерживает русский и я его использую каждый день используя модуль МЖД api.ai. Я все команды из шаблонов поведения перевёл в api.ai, он более интеллектуальный и не требует строго заданной команды. Но я не успел протестировать эту схему вместе с Google actions, не совсем понимаю зачем это нужно.

*** Сообщение запрещено. Сообщение похоже на спам. ***

Re: Реализация голосового управления по типу ОК Гугл (OK Goo

Добавлено: Чт окт 19, 2017 11:40 pm
lanket
Собственно event ON_CONVERSATION_TURN_STARTED срабатывает после ключевого слова.
Просим асистента не слушать эфир командой assistant.stop_conversation()

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

    if event.type == EventType.ON_CONVERSATION_TURN_STARTED:
        assistant.stop_conversation()
Но что бы сработала эта команда надо передать объект асситента в подпрограмму которая обрабатывает эвенты:

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

# передавал только event
process_event(event)

# Надо передать и объект ассистента
process_event(event,assistant)


# Принимали только event
def process_event(event):

# Соответственно надо принять и объект ассистента тоже
def process_event(event,assistant):
Далее надо самим записывать эфир и распознать.
Самый простой вариант нашел в инете тут

Но чтобы установить pyaudio надо сначала через apt-get установить portaudio
А чтобы заработало надо еще и через apt-get установить flac

И вуаля все работает!!!!!
СпойлерПоказать

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

Скажите что-нибудь
Ну что по-русски поймёшь

<html>
<head>
   <title></title>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <meta name="viewport" content="width=device-width, initial-scale=1">
</head>

<body>
   <script type="text/javascript">
      function startSearch(event) {
         event.target.form.submit();
      }
      </script>

   <form action="?" method="get" name="frmSearch">
      <input type="text" name="qry" value="Ну что по-русски поймёшь" speech required x-webkit-speech
         onspeechchange="startSearch" /><input type="submit" name="Submit" value="Say" />
   </form>

<p>Command: <b>Ну что по-русски поймёшь</b></p><h2>2017-10-19</h2>

23:33 <b>Alice</b>: Всё хорошо. Как у тебя дела?<br />23:33 <b>Admin</b>: Ну что по-русски поймёшь<br />23:00 <b>Alice</b>: Руслан зарегистрирован<br />22:00
СпойлерПоказать
2017-10-19_23-34-06.png
2017-10-19_23-34-06.png (4.14 КБ) 4368 просмотров

Re: Реализация голосового управления по типу ОК Гугл (OK Goo

Добавлено: Чт окт 19, 2017 11:41 pm
lanket
Я сделал это!!!!

заказываю зеро на все комнаты и ящик пива :D