Pocketsphinx在Android上占用太多电池

时间:2017-04-01 03:34:35

标签: android speech-recognition cmusphinx pocketsphinx-android

我正在使用pocketsphinx在服务中不断发现关键字。问题是,它占用了大量电池,使得应用程序完全无法用于普通用户。

嗯,原始代码在B4A中,但它的外观如下:

recognizer = defaultSetup()
        .setAcousticModel(new File(assetsDir, "en-us-ptm"))
        .setDictionary(new File(assetsDir, "cmudict-en-us.dict"))
        .setRawLogDir(assetsDir).setKeywordThreshold(1e-20f)
        .getRecognizer();
recognizer.addListener(this);

关键字:

// Create keyword-activation search.
recognizer.addKeyphraseSearch(KWS_SEARCH, "extreme");

我甚至排除以下内容以减少CPU消耗。毕竟,我的主要目标只是发现关键字。

// Create grammar-based searches.
File menuGrammar = new File(assetsDir, "menu.gram");
recognizer.addGrammarSearch(MENU_SEARCH, menuGrammar);
// Next search for digits
File digitsGrammar = new File(assetsDir, "digits.gram");
recognizer.addGrammarSearch(DIGITS_SEARCH, digitsGrammar);
// Create language model search.
File languageModel = new File(assetsDir, "weather.dmp");
recognizer.addNgramSearch(FORECAST_SEARCH, languageModel);

有没有其他方式可以使用更少的电池?

1 个答案:

答案 0 :(得分:0)

由于您使用的是麦克风,因此程序代码的更改无法显着解决电池耗尽问题。您可以找到一种方法,在不需要的时候停止使用麦克风进行识别。