Почему обнаружение слова пробуждения Pocketsphinx ухудшается со временем? - PullRequest
0 голосов
/ 01 апреля 2019

Я использую Pocketsphinx для обнаружения слова пробуждения в моем приложении для Android.После инициализации карманного сфинкса и после начала прослушивания через

private void setup() {
    try {
        final Assets assets = new Assets(ListeningActivity.this);
        final File assetDir = assets.syncAssets();
        mRecognizer = SpeechRecognizerSetup.defaultSetup()
                .setAcousticModel(new File(assetDir, "models/en-us-ptm"))
                .setDictionary(new File(assetDir, "models/lm/words.dic"))
                .setKeywordThreshold(Float.valueOf("1.e-" + 2 * sensibility))
                .getRecognizer();
        mRecognizer.addKeyphraseSearch(WAKEWORD_SEARCH, getString(R.string.wake_word));
        mRecognizer.addListener(this);
        mRecognizer.startListening(WAKEWORD_SEARCH);
        Log.d(LOG_TAG, "... listening");
    } catch (IOException e) {
        Log.e(LOG_TAG, e.toString());
    }
}

качество распознавания очень хорошее.

Но со временем качество распознавания ухудшается.Это означает, что мое обнаружение слова пробуждения настолько плохо, что я должен сказать слово пробуждения примерно 5 раз, пока распознаватель речи не обнаружит его.Если я снова инициализирую распознаватель речи, качество обнаружения пробуждающих слов снова становится очень хорошим, но со временем ухудшается, как и раньше.

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

...