Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 系统。语音下降麦克风灵敏度_C#_Microphone_Sensitive Data_System.speech.recognition - Fatal编程技术网

C# 系统。语音下降麦克风灵敏度

C# 系统。语音下降麦克风灵敏度,c#,microphone,sensitive-data,system.speech.recognition,C#,Microphone,Sensitive Data,System.speech.recognition,我想知道如何通过系统降低麦克风的灵敏度。C#中的语音 为了解释我自己,我有一个语法文件,当我说SIVRAJ(我的程序名)时,我的应用程序应该开始记录我 然而,我可以说一些完全不同的话,我的应用程序将理解一些“SIVRAJ” 我的XML文件中有一部分: <rule id="mouskie" scope="public"> <item> <one-of> <item>SIVRAJ</item> </one-of>

我想知道如何通过系统降低麦克风的灵敏度。C#中的语音

为了解释我自己,我有一个语法文件,当我说SIVRAJ(我的程序名)时,我的应用程序应该开始记录我

然而,我可以说一些完全不同的话,我的应用程序将理解一些“SIVRAJ”

我的XML文件中有一部分:

<rule id="mouskie" scope="public">
<item>
  <one-of>
    <item>SIVRAJ</item>
  </one-of>
</item>
<ruleref special="GARBAGE" />
<one-of>
  <item>
    <one-of>
      <item>quit</item>
    </one-of>
    <tag>$.mouskie={}; $.mouskie._value="QUIT";</tag> // quit programm when i say SIVRAJ + quit
  </item>
  ..... etc etc
最后,我在这里恢复数据:

 recoText.Text = e.Result.Text;
 devine.Text = "";
 affiche.Text = "";

 string baseCommand = e.Result.Semantics["mouskie"].Value.ToString();
 commandText.Text = baseCommand;

 if (baseCommand.Equals("QUIT"))
 {
   m_SpeechSynth.Speech("au revoir", VoiceGender.Male, VoiceAge.Adult);
   Environment.Exit(0);
 }

在这种情况下,您实际上并不是在寻找话筒灵敏度。我相信你在寻找的是自信

当引擎返回一个识别结果时,它还会同时返回一个置信度分数。“基本上说,这就是我有多自信我听到的就是你说的。”

它包含一个从0到1的值,其中1是最可靠的,0基本上是导致reco事件的背景噪声。您将不得不考虑信心值的意义,因为它是高度语法和环境特定的

你可以做的另一件事是改变触发字。我怀疑语音引擎的词典中是否有SIVRAJ这个短语。在这种情况下,引擎将尝试猜测这个单词是由什么音素组成的(如果您有语言背景,您可以在语法中自己提供它们作为自定义发音)。像“开始录音”这样的东西会有更好的机会给你一个更体面的体验

 recoText.Text = e.Result.Text;
 devine.Text = "";
 affiche.Text = "";

 string baseCommand = e.Result.Semantics["mouskie"].Value.ToString();
 commandText.Text = baseCommand;

 if (baseCommand.Equals("QUIT"))
 {
   m_SpeechSynth.Speech("au revoir", VoiceGender.Male, VoiceAge.Adult);
   Environment.Exit(0);
 }
if (Speech.Recognition.RecognitionResult.Confidence > .20)
{
    //do some good stuff
}
else
{
   // ignore
}