zoukankan      html  css  js  c++  java
  • 玩一下C#的语音识别

    在.NET4.0中,我可以借助System.Speech组件让电脑来识别我们的声音。

    1

    以上,当我说"name",显示"Darren",我说"age",显示"永远21"。如何做呢?


    首先要开启电脑的语音识别功能。


    右键电脑右下方的扬声器,选择"录音设备"。


    点击默认的"麦克风",再点击左下角的"配置"按钮。

    2


    点击"启动语音识别"。

    3

    一系列简单设置后,屏幕上出现如下:

    4

    在VS中创建一个窗体应用程序,界面上有一个RichTextBox和2个Button。


    添加System.Speech的引用。

    编写如下:

        public partial class Form1 : Form
    
        {
    
            SpeechRecognitionEngine recEngine = new SpeechRecognitionEngine();
    
            public Form1()
    
            {
    
                InitializeComponent();
    
            }
    
            private void btnEnable_Click(object sender, EventArgs e)
    
            {
    
                recEngine.RecognizeAsync(RecognizeMode.Multiple);
    
                btnDisable.Enabled = true;
    
            }
    
            private void Form1_Load(object sender, EventArgs e)
    
            {
    
                Choices preCmd = new Choices();
    
                preCmd.Add(new string[] { "name", "age" });
    
                GrammarBuilder gb = new GrammarBuilder();
    
                gb.Append(preCmd);
    
                Grammar gr = new Grammar(gb);
    
                recEngine.LoadGrammarAsync(gr);
    
                recEngine.SetInputToDefaultAudioDevice();
    
                recEngine.SpeechRecognized += recEngine_SpeechRecognized;
    
            }
    
            void recEngine_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    
            {
    
                switch (e.Result.Text)
    
                {
    
                    case "name":
    
                        richTextBox1.Text += "
    Darren";
    
                        break;
    
                    case "age":
    
                        richTextBox1.Text += "
    永远21";
    
                        break;
    
                }
    
            }
    
            private void btnDisable_Click(object sender, EventArgs e)
    
            {
    
                recEngine.RecognizeAsyncStop();
    
                btnDisable.Enabled = false;
    
            }
    
        }
    

    当然,中文的语音识别也是可以滴。

      

    好玩Y(^_^)Y   

  • 相关阅读:
    Haskell Interactive Development in Emacs
    Access Java API in Groovy Script
    手工设置Eclipse文本编辑器的配色
    Color Theme of Emacs
    Gnucash的投资记录
    Special Forms and Syntax Sugars in Clojure
    Use w3m as Web Browser
    SSE指令集加速之 I420转BGR24
    【图像处理】 增加程序速度的方法
    TBB 入门笔记
  • 原文地址:https://www.cnblogs.com/darrenji/p/4373664.html
Copyright © 2011-2022 走看看