C# 语音识别

2023-11-17

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

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

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

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

点击默认的"麦克风",再点击左下角的"配置"按钮。
在这里插入图片描述
点击"打开语音识别"。
在这里插入图片描述
一系列简单设置后,屏幕上出现如下:
在这里插入图片描述
在VS中创建一个窗体应用程序,界面上有一个RichTextBox和2个Button。

添加System.Speech的引用。

编写如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Speech;
using System.Speech.Recognition;

namespace SpeechDemo
{
    public partial class Form1 : Form
    {

        SpeechRecognitionEngine recEngine = new SpeechRecognitionEngine();
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            recEngine.RecognizeAsync(RecognizeMode.Multiple);
            button2.Enabled = true;
            button1.Enabled = false;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            recEngine.RecognizeAsyncStop();
            button2.Enabled = false;
            button1.Enabled = true;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Choices preCmd = new Choices();
            preCmd.Add(new string[] { "你好", "你", "age", "啦", "A"});
            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 "你":
                    richTextBox1.Text += "\n号";
                    break;
                case "你好":
                    richTextBox1.Text += "\nDarren";
                    break;
                case "age":
                    richTextBox1.Text += "\n永远21";
                    break;
                case "啦":
                    richTextBox1.Text += "\n听见了";
                    break;
                case "A":
                    richTextBox1.Text += "\n听见了";
                    break;
            }
        }
    }
}

具体验证效果如下图所示
在这里插入图片描述
源码下载地址
参考下载地址:SpeechDemo.rar: https://url98.ctfile.com/f/19054198-584153167-a01935?p=1746 (访问密码: 1746)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 语音识别 的相关文章

随机推荐

  • Windows 使用nvm安装多个版本的node.js

    在 Windows 上 首先你需要安装 Node Version Manager 请访问 nvm windows GitHub 页面并下载最新版本的 nvm setup zip 文件 解压并运行里面的安装程序 安装完成后 你可以按照以下步骤
  • 《算法图解》读书笔记(二)

    第六章 图 广度优先搜索 1 解决最短路径问题 shortest path problem 的算法被称为广度优先搜索 breadth first search 2 图由节点 node 和边 edge 组成 一个节点可能与众多节点直接相连 这
  • conda 常用命令

    一 虚拟环境创建 删除 查看 创建 创建一个名为env name的虚拟环境 并指定python版本为3 8 且不需要询问 yes or no 直接创建 conda create n env name python 3 8 y 例如 cond
  • 深度学习怎么学?

    推荐这本小白看的 深度学习 从基础到实践 上下册 深度学习 从基础到实践 上下册 深入浅出的讲述了深度学习的基本概念与理论知识 不涉及复杂的数学内容 零基础小白也能轻松掌握 本书从基本概念和理论入手 通过近千张图和简单的例子由浅入深地讲解深
  • 微信小程序 wx:for 点击事件

    为列表的每个小项都添加点击事件 并获得每个项的一些数据 wxml中 lt view wx for array gt lt view bindtap click data name item name gt item name click是点
  • react引入Ant Design

    需要先安装 zeit next css 不然不能识别css文件 然后根目录下创建next config js进行配置 const withCss require zeit next css if typeof require undefin
  • 几种ajax传参数到后台获取的方法

    传参 ajax type post dataType json url DataSourceCheck refreshDataSource data dataSourceId dsId success function data 你的逻辑
  • 10、组合模式

    文章目录 概念 demo 概念 用于树形结构 这种类型的设计模式属于结构型模式 组合模式使得用户对单个对象和组合对象的使用具有一致性 demo import java util ArrayList 1 Component抽象构件角色 定义参
  • 情感分析中的深度学习

    一 情感分析中的基本模型 1 前馈神经网络 FNN 不考虑输入数据具备的任何特定结构常与正则化结合使用 主要解决问题 神经网络有大量隐藏层 隐藏层非常难以训练 梯度消失和过拟合问题 FNN 由一个输入层 一个 浅层网络 或多个 深层网络 因
  • 商品销售管理系统设计论文--毕业设计

    内容摘要 在科学技术日新月异的今天 计算机已逐步渗入各个领域 无论是学习 工作 还是娱乐都普及了计算机的使用 而随着网络的开通 并与Internet连接更让我们社会成为信息化的时代 人们不再需要浪费太多的时间去手工的获得信息 只要做在家中轻
  • 【Mac】电脑维修 换电池之被坑记

    文章目录 1 概述 1 概述 今天遇到一个糟心的事情 我的mac电脑 电池坏了 想换电池 然后以前查了一下 发现要1000块 因为电池没坏透彻 就没去换 这次想去换了 然后当时脑子蒙了 直接去店里 然后问了一下换电池400块 但是要订购电池
  • Hadoop在Windows10下的安装及简单操作

    Hadoop环境搭建 准备工作 首先从网站https www oracle com technetwork java javase downloads jdk8 downloads 2133151 html下载匹配Windows x64的J
  • java游戏主角叶开,逸之老板的天机城与叶开大神女魃墓,决赛场上谁更抢眼?...

    精锐组 逸之老板的天机城与叶开大神女魃墓 决赛场上谁更抢眼 逸之老板150级无级别刀 出场效果到底是不是很一般 吃货分队 逸之的天机城在精锐组也算是佼佼者 扛上150级无级别刀 如虎添翼 在决赛中 变身机甲 对方宝宝根本招架不住 摸一下就飞
  • 微信小程序上线后无法调用后端接口

    我们要在小程序设置里把request请求域名加上保存就可以了
  • 生信入门(二)——使用limma、Glimma和edgeR,RNA-seq数据分析

    生信入门 二 使用limma Glimma和edgeR RNA seq数据分析 文章目录 生信入门 二 使用limma Glimma和edgeR RNA seq数据分析 一 简介 二 数据背景 三 初始配置 四 数据整合 1 数据下载 2
  • Vue使用axios实现跨域请求

    在前后端分离的项目中 关键的一步就是能够进行跨域请求 可以通过前端发送请求访问不同端口的服务器获取数据 为了解决这一问题使用的是axios来实现跨域请求 一 安装axios 使用npm安装 npm install axios save 首先
  • less 命令详解

    less 命令详解 less 与more命令类似 但可以通过翻页键查看上下页的内容 b lt 缓冲区大小 gt 设置缓冲区的大小 e 当文件显示结束后 自动离开 f 强迫打开特殊文件 例如外围设备代号 目录和二进制文件 g 只标志最后搜索的
  • 通过域策略登录脚本收集域用户的登录/注销信息

    1 我们需要在域控制器上新建一个隐藏的共享文件夹 shoujifile 专门用于存放收集到的资料 如下图所示 登录和注销脚本代码如下 收集域用户注销计算机信息 On Error Resume Next strComputer Set lia
  • IDEA中部署git

    IDEA中使用 git 1 在Idea中配置 git 安装好 IntelliJ IDEA后 如果Git 安装在默认路径下 那么 idea 会自动找到 git 的位置 如果更改了 Git 的安装位置则需要手动配置下Git 的路径 选择 Fil
  • C# 语音识别

    在 NET4 0中 我可以借助System Speech组件让电脑来识别我们的声音 以上 当我说 你好 显示 Darren 我说 age 显示 永远21 如何做呢 首先要开启电脑的语音识别功能 右键电脑右下方的扬声器 选择 录音设备 点击默