在系统中识别数字时出现问题。语音?

problem in recognition of numbers in system.speech?(在系统中识别数字时出现问题。语音?)
本文介绍了在系统中识别数字时出现问题。语音?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Speech和我添加了Grmmar,它只检测这样的数字

            SpeechRecognitionEngine RecognitionEngine = new SpeechRecognitionEngine(new CultureInfo("en-US", true));

            // Created Grammar For only Numbers 1 to 10
            var NumberChoice = new Choices();
            for (var i = 0; i <= 10; i++)
            {
                NumberChoice.Add(i.ToString());
            }
            var NumGrammarBuilder = new GrammarBuilder(NumberChoice);
            var NumGrammar = new Grammar(NumGrammarBuilder);
            RecognitionEngine.LoadGrammar(NumGrammar);

            RecognitionEngine.SetInputToDefaultAudioDevice();
            RecognitionResult Result = RecognitionEngine.Recognize();

            txt_vtc.Text = Result.Text;
但当我说话时,输出有时会变得不同,当我说2的时候,输出是8,最糟糕的是当我打开风扇说话时,即使是很小的声音也不能识别。那么,这对普通客户有用吗?当客户端说PIN时,它必须捕获PIN代码并将其保存在文本文件中。这对我有用吗..

如果它对我正确地识别从1到10就足够了?在这种情况下,有人能帮我吗。 当用户说话时,我可以显示进度条或任何计时器吗? 我可以使用英英文化来进行语音识别吗? 我们是否有用于此操作的第三方DLL?

问候 布万

推荐答案

您可以尝试此代码示例以克服您的问题

  SpeechRecognitionEngine rec = new SpeechRecognitionEngine();
  var c = new Choices();
  for (var i = 0; i <= 100; i++)
      c.Add(i.ToString());
  var gb = new GrammarBuilder(c);
  var g = new Grammar(gb);
  g.Priority = 127;
  rec.SetInputToDefaultAudioDevice();

  rec.LoadGrammar(g);
  rec.RecognizeAsync(RecognizeMode.Multiple);

这篇关于在系统中识别数字时出现问题。语音?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)