pash4uga писал(а): ↑Чт мар 05, 2020 3:40 pm
Но есть глюк, полная тишина, а планшет начинает слушать "приказ", хотя ключевое слово при этом не произносилось. И это повторяется очень часто, примерно 1 раз в 5 мин.
Да, я об этом писал выше, что такое возможно.
1. Попробуйте поиграться ключевыми словами. Возможно, к более сложной фразе он будет менее восприимчив.
2. Я попробую добавить в настройки Сфинкса параметр
.setKeywordThreshold(чередование). С его помощью можно указывать ему как распознавать короткие и длинные выражения, интервалы между словами и паузы. Возможно, удастся подстроить под себя более точно.
после того как распознается ключевая фраза и планшет просит что-то ему сказать после фразы подсказки, проходит секунды 3 перед тем как он начинает реально слушать команду, а ты ему в это время уже что-то сказал и диалог не очень то получается) Может быть на более мощных планшетах такого и нет ну да ладно...
там смотрите какая последовательность:
- ожидается ключевая фраза
- как ключевая фраза поймана проговаривается фраза-подсказка (если она включена в Настройках), типа "Говорите после сигнала"
- запускается системное Google-распознавание в фоне. После того как оно пикнет можно говорить...
- если ничего не произнесено в течение 4-5 секунд, оно опять приметно пикает и отваливает. Если что-то распознано - команда высвечивается и отправляется на сервер.
Вот, видимо, между 2 и 3 у вас происходит длинная пауза. Возможно, просто ОЗУ не хватает, и Андроид отчаянно пытается договорить фразу-подсказку, и потом начинает срочно подгружать Google recognizer...
Про остальное понял, что-нибудь придумаем. Пока занимаюсь terminal API, видимо придется переписывать на новый лад терминальный сервер, т.к. не нравится мне как работают потоки в Андроиде, если их запускать на фоне активности UI... думаю вынести в отдельный сервис как сделано с виджетами.