ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C#3.0基于 Speech.Recognition的SRGS 语音识别定义模糊语法范例

2021-04-25 20:04:52  阅读:190  来源: 互联网

标签:command SRGS C# doc SrgsRule System Speech using new


   C#3.0基于  Speech.Recognition的SRGS 语音识别定义模糊语法范例    

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Speech;
using System.Speech.Recognition;
using System.Speech.Synthesis;
using System.Speech.AudioFormat;
using System.Speech.Recognition.SrgsGrammar;

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

        private void Form1_Load(object sender, EventArgs e)
        {

            //载入自定义xml文件
            /*
            SpeechRecognizer recognizer = new SpeechRecognizer();
            SrgsDocument doc = new SrgsDocument("gaarmmar.xml");
            recognizer.LoadGrammar(new Grammar(doc));
             */


            //载入内存sgrs语法文件范例
            /*
            SpeechRecognizer recognizer = new SpeechRecognizer();
            SrgsDocument doc = new SrgsDocument();
            SrgsRule command = new SrgsRule("command",new SrgsOneOf("尹成是大哥", "尹成是二哥", "尹成是三哥"));
            doc.Rules.Add(command);
            doc.Root = command;
            recognizer.LoadGrammar(new Grammar(doc));
            */

            //复杂语法文件定义范例

            SpeechRecognizer recognizer = new SpeechRecognizer();
            SrgsDocument doc = new SrgsDocument();
            SrgsRule command = new SrgsRule("command");
            SrgsRule rank = new SrgsRule("rank");
            SrgsItem of = new SrgsItem("of");
            SrgsRule suit = new SrgsRule("suit");
            SrgsItem card = new SrgsItem(new SrgsRuleRef(rank), of, new SrgsRuleRef(suit));
            command.Add(card);
            rank.Add(new SrgsOneOf("一", "二", "三", "四", "五", "六", "七", "八", "九"));
            of.SetRepeat(0, 1);
            suit.Add(new SrgsOneOf("山大", "山大王", "时代"));
            doc.Rules.Add(command, rank, suit);
            doc.Root = command;
            recognizer.LoadGrammar(new Grammar(doc));

 

 


        }
    }
}
如需源码,请留下email


标签:command,SRGS,C#,doc,SrgsRule,System,Speech,using,new
来源: https://blog.51cto.com/u_9634496/2732449

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有