为什么随着时间的流逝,Pocketsphinx唤醒词检测变得越来越差?

时间:2019-04-01 09:17:42

标签: pocketsphinx-android

我在我的Android应用中使用Pocketsphinx进行唤醒单词检测。初始化Pocketsphinx之后并开始通过

收听
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次唤醒词,直到语音识别器检测到它为止。如果我再次重新初始化语音识别器,则唤醒词检测质量会再次达到很好,但随着时间的流逝会像以前一样变差。

我如何做才能保持长时间的良好质量,而无需permananet再次重新初始化Pocketsphinx SpeechRecognizier?

0 个答案:

没有答案