2014-08-29 1 views
4

Когда я загружаю грамматику и использование: (! DOH, например)Когда я кашляю ... Как предотвратить неправильное распознавание в SpeechRecognitionEngine?

SpeechRecognitionEngine _sre = new SpeechRecognitionEngine(); 
... 
_sre.RecognizeAsync(RecognizeMode.Multiple); 

И я дую или кашле или другое слово на микрофоне, я получаю ложный положительный результат. Например:

Если я скажу микрофону: «Да!» (Как Гомер ...)

RecognizeText: "да" оценка доверия: 0,8639852

О grxml ... Вес не работает, как я ожидал моего "WakeUpWord".

Можно добавить доверие к моему файлу grxml?

Есть ли способ предотвратить ложное срабатывание с помощью SpeechRecognitionEngine в C#?

Я попытался последующая грамматика:

<?xml version="1.0" encoding="UTF-8"?> 
<grammar xmlns="http://www.w3.org/2001/06/grammar" version="1.0" root="yesOrNo"> 
    <rule id="yesOrNo"> 
     <one-of> 
     <item>yes</item> 
     <item>no</item> 
     </one-of> 
    </rule> 
    </grammar> 
+0

Вы когда-нибудь задумывались над этим? Я, вероятно, буду работать с распознаванием речи, и это может мне помочь. – egvaldes

ответ

0

не легкий путь, чтобы предотвратить это. Либо вы ставите очень хороший VAD (детектор голосовой активности) перед системой ASR, либо добавляете альтернативное правило вашему правилу yesno, содержащему все возможные последовательности телефонов, транскрибируемых как молчание.