首页 > 编程语言 >C# 开发微软Speech 语音识别

C# 开发微软Speech 语音识别

时间:2023-08-18 16:22:04浏览次数:32  
标签:SpeechRecognitionEngine 微软 C# sre System Add Speech words new

.net 4.0 以上

第一步 引用System.Speech

代码如下

 

using System.Speech.Recognition;
using System.Speech.Synthesis;

using System.Globalization;
using System.IO;

 

private void button1_Click(object sender, EventArgs e)
{
try
{

//查看系统中都安装了哪些语言包

//foreach (RecognizerInfo ri in SpeechRecognitionEngine.InstalledRecognizers())
//{
// string s = ri.Culture.Name;
//}


SpeechRecognitionEngine sre = new SpeechRecognitionEngine(new CultureInfo("zh-CN"));//en-US

//SpeechRecognitionEngine sre = new SpeechRecognitionEngine();

//命中关键字------------------------------------------------
var words = new Choices();
//words.Add("你好");
words.Add("院领导");
words.Add("办公室");
words.Add("办公区");
words.Add("客户端咨询");
words.Add("外网客户端咨询");
words.Add("检品受理");
words.Add("综合");
words.Add("人事");
words.Add("计划");
words.Add("财务");

words.Add("科研管理");
words.Add("科研");
words.Add("仪器");
words.Add("设备");
words.Add("网站");
words.Add("网络安全");
words.Add("信息");
words.Add("档案");

 

var gb = new GrammarBuilder();
gb.Culture = new System.Globalization.CultureInfo("zh-CN");
gb.Append(words);
Grammar g = new Grammar(gb);

sre.LoadGrammar(g);
//------------------------------------------------------------------------

//sre.LoadGrammar(new DictationGrammar());

sre.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(SpeechRecognitionCallback);
sre.SetInputToDefaultAudioDevice();
sre.RecognizeAsync(RecognizeMode.Multiple);
}
catch (Exception ex)
{
MessageBox.Show("init RS Error : " + ex.ToString());
}
}

 

// 识别的语音命令回调函数
private static void SpeechRecognitionCallback(object sender, SpeechRecognizedEventArgs e)
{
string result = e.Result.Text.ToLower();

MessageBox.Show(result);

}

标签:SpeechRecognitionEngine,微软,C#,sre,System,Add,Speech,words,new
From: https://www.cnblogs.com/hailexuexi/p/17640857.html

相关文章

  • 6 JavaScript条件判断
    6条件判断除了HTML以外.几乎所有的编程语言都有条件判断的功能.比如,python,我们用if语句来做条件判断.到了javascript中也是一样的,也使用javascript来做条件上的判断./*语法1*/if(条件1){代码块1}if(条件)a,b,c,d;该语法表示当条件为真.运......
  • oracle转达梦数据库的一些坑
    oracle和达梦的一些函数使用有区别,比如OracleDMSelectDUMMYFromdualSelectIDFromdualto_ncharto_charNLS_UPPERNLS_UPPER达梦关键字比较多,使用时有可能冲突,可以使用以下方式屏蔽关键字,或者直接修改sql语句进行规避SF_SET_SYSTEM_PARA_VALUE('EXCLUDE......
  • Oracle——redo+undo总结
    Oracle——redo+undo总结 《Oracle------redo》重做日志文件(redologfile)对数据库来说至关重要,他们是数据库的事务日志;Oracle数据库维护着两类重做日志文件:在线重做日志文件(redo)和归档重做日志文件(archivelog),(归档重做日志文件实际上就是已填满的“旧”在线重做日志......
  • 随笔-调试-获取__libc_fatal退出原因
    https://github.com/lattera/glibc/blob/master/sysdeps/posix/libc_fatal.c:......
  • vscode主题配置
    配置{"cSpell.languageSettings":[],"editor.bracketPairColorization.enabled":true,"editor.guides.bracketPairs":"active","files.autoSave":"afterDelay","workbench.iconThe......
  • OpenBLAS 是否应该放弃对Russia的Elbrus CPU的支持?
    偶尔看到一篇标题为“#OpenBLASDecidingWhetherToDropSupportFor#Russia'sElbrusCPUs”原文链接:https://www.phoronix.com/news/OpenBLAS-Russia-Elbrus-IssueOpenBLAS提供的线性代数操作在武器(例如:机器学习、模式识别、计算机视觉)中被广泛使用。Elbrus处理器是俄罗......
  • 图片上传生成缩略图相关code
    记录一下以前的code(现在看起来当时的代码是这么写出来的,哈哈,自嘲一下),可以结合minio等obs文件服务器//在ASP.NET中上传图片并生成缩略图//检查上传文件的格式是否有效if(this.fileupload.PostedFile.ContentType.ToLower().IndexOf("image")......
  • 2 css基本选择器
    2基本选择器id选择器id选择器使用“#”进行标识,后面紧跟id名,其基本语法格式为:#id名{属性1:属性值1;属性2:属性值2;属性3:属性值3;}该语法中,id名即为HTML元素的id属性值。大多数HTML元素都可以定义id属性,元素的id值是唯一的,只能对应于HTML中某一个具体的元素。id选择器不支......
  • OpenCV CAP_PROP_FRAME_COUNT 获取视频帧数问题
    OpenCV读取视频,可以通过属性CAP_PROP_FRAME_COUNT获取视频的总帧数,但是有些视频通过该属性获取的帧数和实际遍历整个视频的帧数不一样。importcv2ascvvideo='video.mp4'cap=cv.VideoCapture(video)frames=cap.get(cv.CAP_PROP_FRAME_COUNT)#通过属性获取帧数......
  • C. 【例题3】公园遛狗
    C.【例题3】公园遛狗我们对于每一个线段树的节点,维护几个值\(sum\)表示当前区间的区间和\(ml\)表示最大前缀和\(mr\)表示最大后缀和\(ans\)表示当前区间的最大子段和接下来我们来判断如何上传答案首先假定\(tr_{ls}\)和\(tr_{rs}\)已经做好了,然后考虑合并成\(tr_......