Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.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#_Speech Recognition_Speech To Text - Fatal编程技术网

改进语音识别,C#

改进语音识别,C#,c#,speech-recognition,speech-to-text,C#,Speech Recognition,Speech To Text,我使用System.Speech library来识别语音,但它通常能识别非常不同的语音 SpeechRecognizer_rec = new SpeechRecognizer(); DictationGrammar grammar = new DictationGrammar(); grammar.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(grammar_SpeechRecognized); _

我使用System.Speech library来识别语音,但它通常能识别非常不同的语音

SpeechRecognizer_rec = new SpeechRecognizer();
DictationGrammar grammar = new DictationGrammar();

grammar.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(grammar_SpeechRecognized);
_rec.LoadGrammar(grammar);
SpeechRecognizer\u rec=newspeechrecognizer();
听写语法=新听写语法();
grammar.SpeechRecognized+=新事件处理程序(grammar\u SpeechRecognized);
_记录加载语法(语法);

我怎样才能改善这种关系?它和语法课有关系吗

您必须限制语音识别引擎使用的模型(基本上是从语音输入到允许的英语文本输出的映射),以获得高置信度输出。你的模型越小,你的结果通常就越好,因为识别器在两个发音相似的单词之间选择错误单词的机会就越小

此简化示例,即只能识别1到3之间的数字:

SpeechRecognizer rec = new SpeechRecognizer();
Choices c = new Choices();

c.Add("one");
c.Add("two");
c.Add("three");

var gb = new GrammarBuilder(c);
var g = new Grammar(gb);
rec.LoadGrammar(g);

如果你能负担得起要求用户参加培训的费用,那么培训过程肯定会给你带来更好的结果。我自己用过(而且我有口音),这大大提高了我应用程序中识别的准确性。
至少你可以自己试试(控制面板,语音识别,训练你的计算机更好地理解你)。事实上,训练或减少模型(当然也可以在一个安静的地方使用你的应用程序,使用更好的麦克风)是提高结果准确性的唯一方法。

听写语法产生了奇怪的结果,我尝试了SpeechRecognitionEngine的不同属性,但几乎没有成功。 试行: SpeechRecognitionEngine.BabbleTimeOut
但是,为了防止错误,请先阅读使用方法。

但是我需要识别用户所说的话。@Kaan:通常对于呼叫中心语音识别,模型仅限于特定的选择,例如“我想要我的蛋糕”或“也吃它”,您必须建立自定义语法以允许不同的组合。如果您想坚持使用标准型号,则无法提高准确性-除非您根据特定的扬声器(或口音)重新训练型号,这是不实际的,甚至通常是不可行的。您能以编程方式培训语音识别引擎吗?看起来您可以使用SAPI。@NuWin您能提供一些指示,说明如何使用SAPI以编程方式培训语音识别引擎吗?