Giter VIP home page Giter VIP logo

aggregate's Introduction

Агрегат

Агрегат - платформа для создания виртуальных голосовых ассистентов любой сложности.

Он предоставляет широкие возможности по реализации голосовых функций и берет на себя все сложности управления диалоговыми контекстами, распознавания и синтеза речи, а также взаимодействия модулей между собой.

Не нужно быть специалистом в области ИИ, чтобы создать голосового ассистента с помощью Агрегата!

Лицензия

Проект распространяется по лицензии GPL-v3. Чтобы использовать его как часть собственного коммерческого проекта, отправьте пожалуйста запрос на [email protected]

aggregate's People

Contributors

ivanbalashov239 avatar morfeusys avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aggregate's Issues

[detector.key.KeyDetector| .Dictation] дублирование функционала

Посмотрел модуль dictation, там так же как и в keydetector есть

    private Set<Integer> keySet = new HashSet<>();
    private Set<Integer> pressedKeys = Collections.synchronizedSet(new HashSet<>());

и ловятся события клавиатуры, проверяются совпадения(аналогично keydetector)
Мне не нравится :)
Предлагаю всю проверку вынести в модуль keyDetector
Мне это представляется простым событием(методом keydetector), на вход объект содержащий набор клавиш для срабатывания и событие срабатывания.
@morfeusys согласен?

[cmd.datetime.date] английская локаль

в Linux используется английская локаль, агрегат говорит по русски, но англискую строку(03 марч фёрсдэй) думаю локаль нужно брать всегда русскую(точне в соответствии с языком используемым в агрегате)

Не работает asr-google

Установил хакинтош(10.9.3, есть интернет), при установке модуля распознавания речи вылетает:
SEVERE: Cannot deploy maven:com.aggregate:asr-google:1.0.0::asr-google io.vertx.core.impl.NoStackTraceThrowable: No data line is available

[detector.key.KeyDetector] залипание клавиш

 Mar 05, 2016 3:58:50 PM com.aggregate.detector.key.KeyDetector
INFO: Keys: [1, 82, 65038]

нажата только клавиша мыши 1, соответственно 82 и 65038 считаются нажатыми ложно.

активация однократным нажатием

На данный момент любая активация должна сама сообщить когда пора перестать слушать.
Если активировать распознавание по отжатию клавиши(комбинации), то останавливать его можно когда человек перестал говорить. То есть слушать микрофон отдельным процессом и посылать сигнал когда он молчит какое то время. Это можно сделать с помощью sox,
sox -d /tmp/record.flac silence 1 0.1 5% 1 2.8 5%
например здесь после того как человек на 2.8 секунд замолчит(громкость меньше 5%) процесс записи остановится, соответственно можно послать сигнал завершить запись распознавания. Наверное можно сделать более красиво, используя эту библиотеку, но я не нашел обертки для джавы этой либы.
Как поступим? Что используется в Дусе?

Создание файла pom.xml для функционального модуля

Файл pom.xml создан для нового модуля "my-brain" ,Eclipse синхронизировал модуль с всеми необходимыми библиотеками.
Возникает вопрос: Синхронизация проекта в Eclipse c установленным плагином EGit со своим Fork на github.com

[Feature request] Выбор используемых модулей для ASR и TTS

Я давно задавался вопросом: а что будет, если взять и поставить в Агрегат два модуля синтеза речи, например?
Попробовал поставить TTS от Яндекса и Ивоны. В результате они разговаривают попеременно (очевидно, кому первому досталась фраза, тот и говорит).
В случае онлайн-синтезаторов это, в сущности, не критично. Однако если Агрегат будет снабжён как онлайновыми, так и оффлайновыми модулями синтеза (и распознавания) речи, пользователю может потребоваться выбрать конкретный модуль. Самая очевидная ситуация — отсутствие Интернета или плохая связь с ним.
Мой feature request заключается в возможности (через aggregate.json?) выбирать конкретный модуль распознавания и синтеза речи, с фоллбэком к некоему модулю, который стоит всегда (Google для ASR, например). Тут тоже вопрос тонкий, насчёт фоллбэка: пользователь мог не получать никаких ключей, например. В общем, над этим ещё надо думать, но суть такова :).

файл грамматик vs конфиг файл

В вики кажется нет упоминаний, возможно ли добавлять новые грамматики из конфига при инициализации модуля в методе start() теоретически можно редактировать/генерировать xml файл, перед привязкой команд к агрегату, но мне представляется это не правильным.

перенаправления вывода отладчика

в выводе start_debug.sh очень много всего, иногда лишнего, хотелось бы его фильтровать, самый простой способ перенаправить вывод в grep. Но это почему то не работает.
./start_debug.sh | grep -i "info"
есть идеи почему? Как фильтровать вывод дебага лучше?

директория deploy

Подскажите. Мы все модули кладем в директорию deploy. После запуска батника модули из этой директории исчезают. Это нормально? В терминале правда вижу реакцию на клавиатуру. Значит модуль работает. Только уда он делся?

Модуль голосовой активации на основе cmu sphinx

http://cmusphinx.sourceforge.net/
просьба проголосовать на этом сайте за создание модели русского языка. С ней будет возможность использовать сфинкс как модуль распознавания речи, но и сейчас его можно использовать для активации, натренировав на одно единственное слово/фразу, если я не ошибаюсь это доступно.

модуль tts-yandex из папки deploy не убирается

@Oire процитирую предыдущий разговор

P.S. У меня всё работает штатно, но модуль tts-yandex из папки deploy не убирается и соответственно в модулях json не появляется.

Попробуй убрать tts-yandex из aggregate.json, запустить агрегат и когда он инициализирует все плагины, обработает удаление, добавить новый ттс

@seniorivn, в том-то и прикол, что у меня в aggregate.json его никогда не было и нет(

@Oire а в консоли он что говорит когда находит jar в deploy? должен вывести ошибку если не смог инициализировать.

@seniorivn, как бы вам сказать... дело в том, что я работаю без зрения, а следовательно, с клавиатуры. И пока я просмотрю консоль, у меня весь экран занимают фидбэки от keyDetector, поэтому я не могу понять, в чём дело :(. По поводу эмоции для каждой фразы... даже не знаю, как это реализовать. Это такой же параметр урла, как и текст, например.

танцы с бубном

Дмитрий как Вы думаете много пользователей будут пользоваться активацией голоса с таким запуском голосового сервиса гугл:-)

Разработка в ветке master

Предлагаю разработку вынести в ветку dev
А в ветку master мержить только готовые изменения, тогда можно будет настроить auto build

[asr.google.SpeechRecognizer] Exception in thread "Thread-78" java.lang.IllegalStateException: Queue full

сначала работает нормально, через какое то время/количество использований вот такая ошибка


Mar 03, 2016 2:31:05 PM com.aggregate.detector.key.KeyDetector
INFO: Keyset detected
Mar 03, 2016 2:31:05 PM Dispatcher
INFO: Listening...
Mar 03, 2016 2:31:05 PM Dispatcher
INFO: ASR state: start
Exception in thread "Thread-78" java.lang.IllegalStateException: Queue full
    at java.util.AbstractQueue.add(AbstractQueue.java:98)
    at java.util.concurrent.ArrayBlockingQueue.add(ArrayBlockingQueue.java:312)
    at com.aggregate.asr.google.SpeechRecognizer$RecorderThread.record(SpeechRecognizer.java:161)
    at com.aggregate.asr.google.SpeechRecognizer$RecorderThread.run(SpeechRecognizer.java:148)
Mar 03, 2016 2:31:05 PM Dispatcher
INFO: ASR state: rec
Mar 03, 2016 2:31:05 PM Dispatcher
INFO: ASR state: done

Автообновление модулей

Для начала руками закинуть не сложно, но в дальнейшем хотелось бы обновлять автоматом, можно автоматически билдить из репозитория, но лучше бы наверное обновление бинарных сборок силами агрегата сделать, а на будущее плагин менеджер, понятное дело.

RaspberryPI - разные проблемы

На малине Агрегат запустился. Приятно удивила java на малине, от которой я всегда жду жор памяти и тормозов, поддержка процем присутствует, и как результат - довольно таки неплохо по памяти и быстродействию.
О проблемах при установке я писал на Aggregate G+. Модуль key-detector мне не удалось инсталлировать, так как устанавливал не на "чистую" систему, у меня LAMP плюс куча разного софта. Этот модуль в принципе мне и не нужен был, управляю с модуля gpio.
При запуске, с какого-то перепугу, появилось вот это -

INFO: Module maven:com.aggregate:asr-google:1.0.0::asr-google has been deployed
wiringPiSetup: Must be root. (Did you forget sudo?)

Ну ладно, у Дуси завтра праздник, зайдем с sudo. С конфига убрал удаленный доступ, загрузка - реально веселее. ASR работает с китайским usb микрофоном за чуть более пол бакса. Сие китайское "чудо" с Auto Gain Control умудряется слышать с 2 метров( большее расстояние я не пробовал). Распознавание без проблем. А вот с TTS у меня реальная проблема. Мне удается услышать остатки фразы только при первом запросе. Я слушаю на ящике по HDMI. "Следующий сеанс" возможен только после перезагрузки малины. Звук с TTS RHVoice, установленный на малине, продолжает работать в любом случае.

INFO: Processing Который час
Mar 07, 2016 2:50:29 PM Dispatcher
INFO: Processed in 1116 ms: cmd.datetime.time
Mar 07, 2016 3:02:28 PM Dispatcher
INFO: Listening...
Mar 07, 2016 3:02:28 PM Dispatcher
INFO: ASR state: start
Mar 07, 2016 3:02:28 PM Dispatcher
INFO: ASR state: rec
Mar 07, 2016 3:02:33 PM Dispatcher
INFO: ASR state: done
Mar 07, 2016 3:02:33 PM Dispatcher
INFO: ASR state: end
Mar 07, 2016 3:02:34 PM Dispatcher
INFO: Processing...
Mar 07, 2016 3:02:34 PM Dispatcher
INFO: Processing Который час
Mar 07, 2016 3:02:34 PM Dispatcher
INFO: Processed in 6 ms: cmd.datetime.time
Mar 07, 2016 3:02:48 PM Dispatcher
INFO: Listening...
Mar 07, 2016 3:02:48 PM Dispatcher
INFO: ASR state: start
Mar 07, 2016 3:02:49 PM Dispatcher
INFO: ASR state: rec
Mar 07, 2016 3:02:53 PM Dispatcher
INFO: ASR state: done
Mar 07, 2016 3:02:53 PM Dispatcher
INFO: ASR state: end
Mar 07, 2016 3:02:54 PM Dispatcher
INFO: Processing...
Mar 07, 2016 3:02:54 PM Dispatcher
INFO: Processing время
Mar 07, 2016 3:02:54 PM Dispatcher
INFO: Processed in 2 ms: cmd.datetime.time

Нужны какие-нибудь мысли

[conf/aggregate.json]: Не удаляются старые версии модулей

Собрал и поставил несколько новых модулей (Дусю, Яндекс.TTS, KeyDetector). В результате элемент modules в моём aggregate.json выглядит вот так:

"modules" : [ "maven:com.aggregate:date-time:1.0.0::date-time", "maven:com.aggregate:dictation:1.0.0::dictation", "maven:com.aggregate:browser:1.0.0::browser", "maven:com.aggregate:key-detector:1.0.0::key-detector", "maven:com.aggregate:asr-google:1.0.0::asr-google", "maven:com.aggregate:dusi:1.0.0::dusi", "maven:com.aggregate:tts-ivona:1.0.0::tts-ivona", "maven:com.aggregate:dusi:1.0.1::dusi", "maven:com.aggregate:date-time:1.0.1::date-time", "maven:com.aggregate:key-detector:1.1.0::key-detector" ]

Проверка валидности строки как команды.

предположим есть модуль отложенных задач, таймеров, $Text через $Number минут должен запустить $Text в нужный момент. Правильно ли я понимаю, что его нужно передать как result здесь:

vertx.eventBus().publish("asr.result", result);

И главное, как проверить валидность $Text как команды агрегата?

Другие зависимости для своего модуля (как добавить)

Если ваш модуль имеет другие зависимости, то обязательно включайте их классы в сборку с помощью следующего плагина:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.6</version>
<configuration>
<createDependencyReducedPom>true</createDependencyReducedPom>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
Куда добавлять этот плагин?
Как прописать в нём зависимости?

модуль графического интерфейса

Хотелось бы иметь графический интерфейс, с текстовым представлением всех команд и ответов, в виде чата и возможностью напечатать новую команду.

[asr-google] Какой ключ получить?

Начал проходить процедуру получения API-ключа для asr-google. Их Credentials wizard спрашивает меня, какой из четырёх ключей я хочу получить:

  • Server key
  • Browser key
  • Android key
  • IOs Key

А я даже не знаю. Выбрал по наитию Server key, а оно меня спрашивает, от каких IP-адресов разрешать. Опционально, но таки напрягло.
Собственно, вопрос/просьба уточнить в readme, какой ключ нужно получить :).

Подключение к Git по SSH в Windows без PuttyGen на примере Eclipse Version: Mars.2 Release (4.5.2)

  • добр* утр* * сказал я Дусе и услышал в ответ стандартный набор фраз из скрипта (Доброе утро)

Много статей прочитал по подключению к Git по SSH-ключам. Почти во всех из них используется один из двух способов: либо с помощью puttygen.exe, либо командами ssh-keygen или ssh-add.
Мои попытки сгенерировать ключи, указать пути в переменных среды, привязать ключи к гиту были бесполезны. Либо гит ругался крякозябрами (в случае ssh-agent cmd.exe), либо просто игнорировал всё предложенное...

Issues #39 можно удалить.

Ошибка в обработке строки URL в модуле dusi

Всё из-за пробела. Видимо надо процентную кодировку ссылки сделать. Лог:

INFO: Processing Что показывают по Первому каналу
мар 06, 2016 1:11:17 PM Dispatcher
INFO: Processed in 1 ms: cmd.dusi
мар 06, 2016 1:11:19 PM com.aggregate.dusi.DusiAssistant
INFO: Received: {"speech":"Открываю сайт m.tv.yandex.ru/search?text=Первому каналу&type=channels","sas":false,"text":"Открываю сайт m.tv.yandex.ru/search?text=Первому каналу&type=channels","agent":"LauncherAgent","response_uri":"http://m.tv.yandex.ru/search?text=Первому каналу&type=channels"}
мар 06, 2016 1:11:19 PM com.aggregate.dusi.DusiAssistant
SEVERE: Cannot open URI
java.net.URISyntaxException: Illegal character in query at index 41: http://m.tv.yandex.ru/search?text=Первому каналу&type=channels
at java.net.URI$Parser.fail(Unknown Source)
at java.net.URI$Parser.checkChars(Unknown Source)
at java.net.URI$Parser.parseHierarchical(Unknown Source)
at java.net.URI$Parser.parse(Unknown Source)
at java.net.URI.(Unknown Source)
at com.aggregate.dusi.DusiAssistant.processReply(DusiAssistant.java:88)
at com.aggregate.dusi.DusiAssistant.access$100(DusiAssistant.java:24)
at com.aggregate.dusi.DusiAssistant$WSClient.onMessage(DusiAssistant.java:111)
at org.java_websocket.client.WebSocketClient.onWebsocketMessage(WebSocketClient.java:312)
at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:368)
at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:157)
at org.java_websocket.client.WebSocketClient.interruptableRun(WebSocketClient.java:230)
at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:188)
at java.lang.Thread.run(Unknown Source)

[dusi.DusiAssistant] SEVERE: Unhandled exception

Mar 05, 2016 3:29:26 PM com.aggregate.detector.key.KeyDetector
INFO: Keyset detected
Mar 05, 2016 3:29:26 PM Dispatcher
INFO: Listening...
Mar 05, 2016 3:29:26 PM Dispatcher
INFO: ASR state: start
Mar 05, 2016 3:29:26 PM Dispatcher
INFO: ASR state: start
Mar 05, 2016 3:29:26 PM Dispatcher
INFO: ASR state: rec
Mar 05, 2016 3:29:26 PM Dispatcher
INFO: ASR state: rec
Mar 05, 2016 3:29:27 PM Dispatcher
INFO: ASR state: done
Mar 05, 2016 3:29:27 PM Dispatcher
INFO: ASR state: done
Mar 05, 2016 3:29:27 PM Dispatcher
INFO: ASR state: end
Mar 05, 2016 3:29:27 PM Dispatcher
INFO: ASR state: end
Mar 05, 2016 3:29:28 PM Dispatcher
INFO: Processing...
Mar 05, 2016 3:29:28 PM Dispatcher
INFO: Processing ДТП
Mar 05, 2016 3:29:28 PM Dispatcher
INFO: Processed in 43 ms: cmd.dusi
Mar 05, 2016 3:29:29 PM Dispatcher
INFO: Processing...
Mar 05, 2016 3:29:29 PM Dispatcher
INFO: Processing ДТП
Mar 05, 2016 3:29:29 PM Dispatcher
INFO: Processed in 1 ms: cmd.dusi
Mar 05, 2016 3:29:29 PM com.aggregate.dusi.DusiAssistant
INFO: Connected
Mar 05, 2016 3:29:29 PM io.vertx.core.impl.ContextImpl
SEVERE: Unhandled exception
org.java_websocket.exceptions.WebsocketNotConnectedException
    at org.java_websocket.WebSocketImpl.send(WebSocketImpl.java:566)
    at org.java_websocket.WebSocketImpl.send(WebSocketImpl.java:543)
    at org.java_websocket.client.WebSocketClient.send(WebSocketClient.java:171)
    at com.aggregate.dusi.DusiAssistant.send(DusiAssistant.java:74)
    at com.aggregate.dusi.DusiAssistant.lambda$process$2(DusiAssistant.java:60)
    at io.vertx.core.impl.FutureImpl.checkCallHandler(Unknown Source)
    at io.vertx.core.impl.FutureImpl.setHandler(Unknown Source)
    at io.vertx.core.impl.ContextImpl.lambda$null$16(Unknown Source)
    at io.vertx.core.impl.ContextImpl.lambda$wrapTask$18(Unknown Source)
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(Unknown Source)
    at io.netty.channel.nio.NioEventLoop.run(Unknown Source)
    at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:745)

Mar 05, 2016 3:29:29 PM com.aggregate.dusi.DusiAssistant
INFO: Connected
Mar 05, 2016 3:29:34 PM com.aggregate.dusi.DusiAssistant
INFO: Received: {"speech":"ДТП. Что с этим делать?","text":"ДТП. Что с этим делать?"}

Не встает синтезатор речи

При установке синтезатора яндекса файл tts-yandex-1.0.0.jar не пропадает из папки deploy, запись в aggregate.json НЕ появляется, однако в папке repository происходит распаковка. Файл конфигурации проверен. Ivona тоже не работает, но установка проходит полностью как надо, его файл конфигурации так же проверен, а статистика с Ivona говорит 0 / 50000 (нет использований). Вывод из консоли

Launching the Aggregate runtime...
ьрЁ 03, 2016 6:11:34 PM Aggregate
INFO: Starting...
ьрЁ 03, 2016 6:11:34 PM Aggregate
INFO: Initializing with C:\Users\Flash\Progs\aggregate-0.0.1-bin\.\conf\aggregat
e.json
ьрЁ 03, 2016 6:11:35 PM Aggregate
INFO: Shell service is started
ьрЁ 03, 2016 6:11:35 PM ModuleRegistry
INFO: Deploying module maven:com.aggregate:browser:1.0.0::browser
ьрЁ 03, 2016 6:11:35 PM ModuleRegistry
INFO: Deploying module maven:com.aggregate:date-time:1.0.0::date-time
ьрЁ 03, 2016 6:11:35 PM ModuleRegistry
INFO: Deploying module maven:com.aggregate:key-detector:1.0.0::key-detector
ьрЁ 03, 2016 6:11:35 PM ModuleRegistry
INFO: Deploying module maven:com.aggregate:asr-google:1.0.0::asr-google
ьрЁ 03, 2016 6:11:35 PM ModuleRegistry
INFO: Deploying module maven:com.aggregate:tts-ivona:1.0.0::tts-ivona
ьрЁ 03, 2016 6:11:35 PM ModuleRegistry
INFO: Deploying without external conf
ьрЁ 03, 2016 6:11:35 PM Aggregate
INFO: Module registry is initialized
ьрЁ 03, 2016 6:11:35 PM ModuleRegistry
INFO: Deploying without external conf
ьрЁ 03, 2016 6:11:35 PM ModuleRegistry
INFO: Deploying with conf C:\Users\Flash\Progs\aggregate-0.0.1-bin\.\conf\key-de
tector.json
ьрЁ 03, 2016 6:11:35 PM ModuleRegistry
INFO: Deploying with conf C:\Users\Flash\Progs\aggregate-0.0.1-bin\.\conf\asr-go
ogle.json
ьрЁ 03, 2016 6:11:35 PM ModuleRegistry
INFO: Deploying with conf C:\Users\Flash\Progs\aggregate-0.0.1-bin\.\conf\tts-iv
ona.json
ьрЁ 03, 2016 6:11:35 PM vertx-stack-resolver
INFO: Resolving com.aggregate:browser:jar:1.0.0
ьрЁ 03, 2016 6:11:39 PM vertx-stack-resolver
INFO: Resolving com.aggregate:date-time:jar:1.0.0
ьрЁ 03, 2016 6:11:40 PM vertx-stack-resolver
INFO: Resolving com.aggregate:key-detector:jar:1.0.0
ьрЁ 03, 2016 6:11:42 PM vertx-stack-resolver
INFO: Resolving com.aggregate:asr-google:jar:1.0.0
ьрЁ 03, 2016 6:11:43 PM vertx-stack-resolver
INFO: Resolving com.aggregate:tts-ivona:jar:1.0.0
ьрЁ 03, 2016 6:11:45 PM vertx-stack-resolver
INFO: Resolving com.aggregate:browser:jar:1.0.0
ьрЁ 03, 2016 6:11:45 PM vertx-stack-resolver
INFO: Resolving com.aggregate:date-time:jar:1.0.0
ьрЁ 03, 2016 6:11:45 PM ModuleRegistry
INFO: Module maven:com.aggregate:browser:1.0.0::browser has been deployed
ьрЁ 03, 2016 6:11:46 PM Dispatcher
INFO: Module maven:com.aggregate:browser:1.0.0::browser has been loaded with 1 c
ommands
ьрЁ 03, 2016 6:11:46 PM vertx-stack-resolver
INFO: Resolving com.aggregate:key-detector:jar:1.0.0
ьрЁ 03, 2016 6:11:46 PM ModuleRegistry
INFO: Module maven:com.aggregate:date-time:1.0.0::date-time has been deployed
ьрЁ 03, 2016 6:11:46 PM Dispatcher
INFO: Module maven:com.aggregate:date-time:1.0.0::date-time has been loaded with
 2 commands
ьрЁ 03, 2016 6:11:47 PM vertx-stack-resolver
INFO: Resolving com.aggregate:asr-google:jar:1.0.0

JNativeHook: Global keyboard and mouse hooking for Java.
Copyright (C) 2006-2015 Alexander Barker.  All Rights Received.
https://github.com/kwhat/jnativehook/

JNativeHook is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

JNativeHook is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

ьрЁ 03, 2016 6:11:47 PM ModuleRegistry
INFO: Module maven:com.aggregate:key-detector:1.0.0::key-detector has been deplo
yed
ьрЁ 03, 2016 6:11:47 PM vertx-stack-resolver
INFO: Resolving com.aggregate:tts-ivona:jar:1.0.0
ьрЁ 03, 2016 6:11:48 PM ModuleRegistry
INFO: Module maven:com.aggregate:asr-google:1.0.0::asr-google has been deployed
ьрЁ 03, 2016 6:11:48 PM ModuleRegistry
INFO: Module maven:com.aggregate:tts-ivona:1.0.0::tts-ivona has been deployed
ьрЁ 03, 2016 6:11:55 PM com.aggregate.detector.key.KeyDetector
INFO: Keys: [162]
ьрЁ 03, 2016 6:11:55 PM com.aggregate.detector.key.KeyDetector
INFO: Keys: [162, 165]
ьрЁ 03, 2016 6:11:55 PM com.aggregate.detector.key.KeyDetector
INFO: Keys: [162, 163, 165]
ьрЁ 03, 2016 6:11:55 PM com.aggregate.detector.key.KeyDetector
INFO: Keyset detected
ьрЁ 03, 2016 6:11:55 PM Dispatcher
INFO: Listening...
ьрЁ 03, 2016 6:11:55 PM Dispatcher
INFO: ASR state: start
ьрЁ 03, 2016 6:11:56 PM Dispatcher
INFO: ASR state: rec
ьрЁ 03, 2016 6:11:58 PM Dispatcher
INFO: ASR state: done
ьрЁ 03, 2016 6:11:58 PM Dispatcher
INFO: ASR state: end
ьрЁ 03, 2016 6:11:58 PM Dispatcher
INFO: Processing...
ьрЁ 03, 2016 6:11:58 PM Dispatcher
INFO: Processing youtube.com
ьрЁ 03, 2016 6:11:58 PM Dispatcher
INFO: Processed in 20 ms: cmd.browser.open
ьрЁ 03, 2016 6:12:11 PM com.aggregate.detector.key.KeyDetector
INFO: Keys: [162]
ьрЁ 03, 2016 6:12:11 PM com.aggregate.detector.key.KeyDetector
INFO: Keys: [162, 165]
ьрЁ 03, 2016 6:12:11 PM com.aggregate.detector.key.KeyDetector
INFO: Keys: [162, 163, 165]
ьрЁ 03, 2016 6:12:11 PM com.aggregate.detector.key.KeyDetector
INFO: Keyset detected
ьрЁ 03, 2016 6:12:11 PM Dispatcher
INFO: Listening...
ьрЁ 03, 2016 6:12:11 PM Dispatcher
INFO: ASR state: start
ьрЁ 03, 2016 6:12:11 PM Dispatcher
INFO: ASR state: rec
ьрЁ 03, 2016 6:12:13 PM Dispatcher
INFO: ASR state: done
ьрЁ 03, 2016 6:12:13 PM Dispatcher
INFO: ASR state: end
ьрЁ 03, 2016 6:12:14 PM Dispatcher
INFO: Processing...
ьрЁ 03, 2016 6:12:14 PM Dispatcher
INFO: Processing ╩юЄюЁ√щ ўрё
ьрЁ 03, 2016 6:12:14 PM Dispatcher
INFO: Processed in 0 ms: cmd.datetime.time

установка и удаление модулей

Вопрос по удалению модулей.
Убрать в поле modules ссылку на модуль - это понятно. При этом если используется файл типа tts-yandex.json из директории conf убирать надо?
Вопрос по повторной установки модуля.
Если файл типа tts-yandex.json удалять не надо, то достаточно модуль снова отправить в директорию deploy. Я правильно понимаю?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.