C#语音识别引擎真空

时间:2017-03-27 19:30:49

标签: c# visual-studio speech-recognition

以下是我的语音识别代码。我注意到它并不擅长拿起句子。有什么我可以做的来解决这个问题吗?

public String listenForVoice() {
   SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine(new CultureInfo("en-US"));
   Grammar dictationGrammar = new DictationGrammar();
   recognizer.LoadGrammar(dictationGrammar);
   try
   {
       recognizer.SetInputToDefaultAudioDevice();
       RecognitionResult result = recognizer.Recognize();
       return result.Text;
   } catch (InvalidOperationException exception) { }
   finally {
      recognizer.UnloadAllGrammars();
   }
   return "";
}

1 个答案:

答案 0 :(得分:0)

<强>首先: 要提高语音识别引擎的准确性,请尝试创建和加载与您要使用的单词/语法/语音类似的语法。这样我们就可以提高准确性。

<强>第二 评估假设的触发器1,触发器2,然后识别置信水平和结果。这是不实际的,因为每个人/用户都会有所不同。

无法阻止.NET语音识别引擎始终返回语法匹配。你也可以说&#34; bob&#34;在一个安静的房间里,它变成了一个工作室级的麦克风,它会识别出打开的Windows媒体播放器&#34;。洛尔

警告1:语法单词列表超过1,000个缓慢的事情并且可以锁定应用程序。

警告2:en-US具有良好的英语识别能力,切换到en-GB等会大大降低准确性

到目前为止,使用谷歌语音识别API (确实需要您在线),但它准确度提高了10倍,您可以自己轻松测试匹配。