При использовании класса SpeechRecognitionEngine
в пространстве имен System.Speech.Recognition
платформы .NET, ввод, который я бы рассматривал как тишину (пиковая амплитуда примерно -30 дБFS или менее в аудио от SpeechRecognizedEventArgs.Result.Audio
) часто распознается как фраза из загруженной грамматики с высокой достоверностью (90% или выше).
Можно ли установить порог амплитуды / громкости, ниже которого входные данные будут игнорироваться и / или считаться бесшумными? Молчание во время текущего распознавания, например, паузы между словами, в порядке, но события распознавания не должны вызываться в течение периодов, когда все входные данные ниже порога амплитуды.
Есть несколько свойств, связанных с таймаутами молчания (InitialSilenceTimeout
, EndSilenceTimeout
и EndSilenceTimeoutAmbiguous
), но я не смог найти ничего, связанного с определением характеристик самой тишины.