繁体   English   中英

C#语音识别

[英]C# Speech Recognition

在哪里可以找到C#语音识别命名空间的参考资料和完整文档。 MSDN仅提供了对成员的简要描述,而不仅仅是我能找到的内容。 是否存在这些事物的绝对资源。 我所学的大部分内容都来自论坛中的其他教程或片段。

简介: 语音识别

代码示例涵盖了大多数基础知识:

语音识别入门

语音识别应用程序执行的基本操作: - 启动语音识别器。

  • 创建识别语法。

  • 将语法加载到语音识别器中。

  • 注册语音识别事件通知。

  • 为语音识别事件创建处理程序。

我发现.NET 4的System.Speech.Recognition上的最新MSDN页面在细节上很少,但.NET 3.5的旧页面有更多细节。 为了快速比较,我抓住了这两页:

.NET 3.5文档有详细的说明和示例。 .NET 4.0版本只有定义。

我发现Server Speech Platform SDK附带的帮助文件包含.NET 4.0 MSDN页面遗漏的详细信息 - http://www.microsoft.com/downloads/en/details.aspx?FamilyID=1b1604d3-4f66-4241- 9a21-90a294a5c9a4

为了开始使用.NET语音,几年前在http://msdn.microsoft.com/en-us/magazine/cc163663.aspx上发表了一篇非常好的文章。 这可能是迄今为止我发现的最好的介绍性文章。 它有点过时了,但非常好。 (在测试版之后,AppendResultKeyValue方法被删除,可能还有其他重大变化。)

首先,添加用于语音识别的库。

using System.Speech.Recognition

如果无法加载库,可以使用add reference添加它。

项目>添加参考>浏览

通常, System.Speech.dll位于C:\\ Program Files \\ Reference Assemblies \\ Microsoft \\ Framework \\ v3.0中

这里,识别“是”,“否”,“输入”,“输出”的示例代码如下:

namespace SpeechRecognition
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            SpeechRecognizer sr = new SpeechRecognizer();
            Choices ch = new Choices();
            ch.Add(new string[] { "yes", "no","in","out" });

            GrammarBuilder gb = new GrammarBuilder();
            gb.Append(ch);

            Grammar gr = new Grammar(gb);

            sr.LoadGrammar(gr);

            sr.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(sr_SpeechRecognition);

        }

        private void sr_SpeechRecognition(object sender, SpeechRecognizedEventArgs e)
        {
            MessageBox.Show(e.Result.Text);

        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM