#pocketsphinx-android
#pocketsphinx-android
Вопрос:
Я использую Pocketsphinx для обнаружения слова пробуждения в своем приложении для Android. После инициализации 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 раз, пока распознаватель речи не обнаружит его. Если я снова инициализирую распознаватель речи, качество обнаружения слова пробуждения снова будет очень хорошим, но со временем ухудшается, как и раньше.
Что я могу сделать, чтобы сохранить хорошее качество с течением времени без повторной инициализации pocketsphinx SpeechRecognizier снова?
Комментарии:
1. Установите vadThreshold для правильной фильтрации шума и следите за значениями CMN, чтобы убедиться, что они стабильны.
2. Если значение vadThreshold является статическим значением, тогда все должно быть в порядке, потому что в первый раз после инициализации точность отличная. И что может быть причиной того, что значения CMN меняются во время выполнения?
3. Поскольку порог VAD неверен, он рассматривает шум как речь и соответствующим образом корректирует оценку cmn. Если вы удалите фоновый шум или настроите пороговое значение vad, он сохранит правильную оценку cmn и точно распознает. Если у вас есть что-то вроде музыки, играющей в фоновом режиме, это будет сложнее исправить, вам придется фильтровать музыку другими способами.
4. На форуме есть много обсуждений по этой теме, вы можете просмотреть их для получения более подробной информации. sourceforge.net/p/cmusphinx/discussion/search /…