0

我怀疑 SAPI 在语音识别方面是否具有良好的准确性?当我尝试从一到十读取数字时,准确率甚至不到 3%。我怀疑我做错了还是SAPI本身在准确性方面不稳定?令我震惊的是,引擎无法完美识别 1 到 10 个数字。我厌倦了它的准确性,我们还有其他用于语音识别的 C# 开源吗

我的代码是

我将在这里给出我的代码片段

    private Grammar Grammar Creation()
            {
                Choices NumberChoice = new Choices("one", "two", "three", "four", "five", "six", "seven", "eight","nine","ten");                    
                GrammarBuilder NumGrammarBuilder = new GrammarBuilder(NumberChoice);
                var NumGrammar = new Grammar(NumGrammarBuilder);
                return NumGrammar;
            }

and i am recognizing like this
  recognitionEngine.UnloadAllGrammars();
                Grammar cg = CreateSampleGrammar();
                recognitionEngine.LoadGrammar(cg);
                recognitionEngine.RecognizeAsync(RecognizeMode.Multiple);
       recognitionEngine.SetInputToDefaultAudioDevice();               

  recognitionEngine.SpeechRecognized += (s, args) =>
            {

                foreach (RecognizedWordUnit word in args.Result.Words)
                {
                    // You can change the minimun confidence level here                    
                    if (word.Confidence > 0.8f)
                        freeTextBox.Text += word.Text + " ";
                }
                freeTextBox.Text += Environment.NewLine;
            };

问候布万

4

2 回答 2

3

这是一个迟到的回复,但我希望它会对其他人有所帮助,在判断任何语音识别引擎之前,您需要确保一些事情。

  1. 您的引擎字典模型是否与您正在测试的语音的口音完全相同。例如,默认情况下 SAPI 适用于美国口音,因此如果您尝试在英国口音或任何其他口音上运行此引擎,其准确性肯定会不尽如人意。为此,您需要添加适当的模型!

    2.其次,您正在测试哪种类型的 gram 模型?

    3.还有其他因素,如语音清晰度、失真背景噪音等,但我相信你已经确保了这些基本因素。

如果你的准确度低于声称的那么你应该确保你已经根据你的输入配置你的引擎,比如口音等如果你试图将已经保存的声音转换为语音,那么你应该检查声音的格式,它应该是未压缩的像wav格式

于 2013-09-08T15:54:06.783 回答
-2

谷歌显示了一些,但对于一个好的,你可能需要支付 $$。

于 2011-06-30T11:55:29.193 回答