微软.net framework自带离线语音识别引擎,可以支持多种语言的离线识别。该引擎具有免费、无需网络、针对性强、运算量小、兼容windows的特点,对于固定语境的语音识别具有不可比拟的优势。

在使用时注意添加对system.speech的引用,默认是不引用的,如果没有请注意.net版本,最好在4.5以上。另外添加using命名空间。以下为简单的控制台例子。

using System;
using System.Speech.Recognition;namespace 语音识别
{class Program{static void Main(string[] args){// Create an in-process speech recognizer for the en-US locale.  using (SpeechRecognitionEngine recognizer =new SpeechRecognitionEngine(new System.Globalization.CultureInfo("zh-CN"))){Choices choices = new Choices(new string[] { "你好", "123","木头人","我是"});GrammarBuilder gb = new GrammarBuilder(choices);// Create and load a dictation grammar.  recognizer.LoadGrammar(new Grammar(gb));// Add a handler for the speech recognized event.  recognizer.SpeechRecognized +=new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);// Configure input to the speech recognizer.  recognizer.SetInputToDefaultAudioDevice();// Start asynchronous, continuous speech recognition.  recognizer.RecognizeAsync(RecognizeMode.Multiple);// Keep the console window open.  while (true){Console.ReadLine();}}}// Handle the SpeechRecognized event.  static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e){Console.WriteLine("Recognized text: " + e.Result.Text);}}
}

可以直接下载我的例程https://download.csdn.net/download/u010622265/12649885

需要注意的是CultureInfo,默认情况下中文的操作系统只有"Zh-CN",使用其他的会报错,除非系统安装了其他的语音识别包,win10可在设置里安装:

语法可以有多种形式,具体参考.net文档。

下面列举一种以SRGS(Speech Recognition Grammar Specification)规范定义的语法文件(格式遵循xml)。

该文件中root是main规则,而main规则中又可以包含其他规则(part1-5)定义的语法,最终包含的句式有:

我/你/他+是+学生/老师/工人
我/你/他+喜欢/讨厌+打球/读书/音乐
我/你/他+今年+12/24/36/50+岁

<?xml version="1.0" encoding="UTF-8" ?>
<grammar version="1.0" xml:lang="zh-CN"xmlns="http://www.w3.org/2001/06/grammar"tag-format="semantics/1.0" root="Main"><rule id="Main"><one-of><item><ruleref uri="#Part1"/> 是 <ruleref uri="#Part2"/></item><item><ruleref uri="#Part1"/> <ruleref uri="#Part3"/> <ruleref uri="#Part4"/></item><item><ruleref uri="#Part1"/>今年<ruleref uri="#Part5"/>岁</item></one-of></rule><rule id="Part1" scope="public"><one-of><item> 我 </item><item> 你 </item><item> 他 </item></one-of></rule><rule id="Part2" scope="public"><one-of><item> 学生 </item><item> 老师 </item><item> 工人 </item></one-of></rule><rule id="Part3" scope="public"><one-of><item> 喜欢</item><item> 讨厌</item></one-of></rule><rule id="Part4" scope="public"><one-of><item> 打球</item><item> 读书</item><item> 音乐</item></one-of></rule><rule id="Part5" scope="public"><one-of><item> 12</item><item> 24</item><item> 36</item><item> 50</item></one-of></rule>
</grammar>

调用这种SRGS文件定义的语法:

recognizer.LoadGrammar(new Grammar("Grammar.xml"));

SRGS格式详细参考https://www.w3.org/TR/speech-grammar/

微软.Net离线语音识别相关推荐

  1. Android平台使用PocketSphinx做离线语音识别,小范围语音99%识别率

    为什么80%的码农都做不了架构师?>>>    最近语音识别很火,但是都是用的在线语音识别,研究了一下离线语音识别,小范围内的语音识别率还不错,在此记录一下 首先本文要说的两个前提1 ...

  2. Ubuntu16.04实现Sphinx离线语音识别

    Ubuntu16.04实现Sphinx离线语音识别 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/boke14122621/article/deta ...

  3. 离线语音识别软件_6.语音板使用科大讯飞离线命令词识别

    0x00 离线命令词识别简介 语音识别技术(Auto Speech Recognize,简称ASR),就是把人的自然语言音频数据转换成文本数据的技术.理论上在线ASR是可以把所有的语音转换成对应的文本 ...

  4. 离线语音识别_离线语音识别库_离线语音识别sdk - 云+社区 - 腾讯云

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 是的,录音文件识别服务就是离线语音识别服务... 录音文件识别(即:离线 ...

  5. 离线语音识别技术品鉴——功能不同各有千秋

    日前,Google推出了全新的离线语音识别模型.新模型缩小了系统中被称为"解码器图形"的部分,这个组件的功能类似于书中的索引,将音频波形与书面文字相匹配.但目前它只在谷歌键盘应用程 ...

  6. 本地离线语音识别芯片厂家盘点,哪一家实力更强

    随着人工智能化的快速发展,传统的家居行业也开始向智能家居转变,其中的语音交互技术被广泛应用.实现这些功能都少不了离线 广州九芯电子科技有限公司 简介:广州市九芯电子科技有限公司是一家行业内杰出的高新技 ...

  7. linux离线语音识别安装运行总结

    今天我们要来看的是linux离线语音识别的安装和运行,在开始说之前,我想问一下,很多人都玩过小游戏吧,我之前的一个朋友自己做了一个贪吃蛇小游戏,然后给他加上了语音识别系统,更加增添了游戏的趣味,对于语 ...

  8. 本地离线语音识别芯片哪家强

    智能家居市场本地离线语音识别芯片的发展已为控制入口做了一个补充,在抛去了传统遥控器和手机APP之后,通过口令发送让家居环境达到舒适状态,让生活更便捷智能.远场语音识别.环境噪声抑制技术.唤醒率的大幅下 ...

  9. Vosk可以用于Unity的离线语音识别

    Vosk是一个免费,开业,可商用,支持离线语音识别的东西,关键是可以在Unity中使用. Vosk可以离线语音识别,也可以自建语音识别服务区,支持多种语言,还支持在Unity中使用. 整体而言,识别率 ...

  10. DFRobot离线语音识别模块真实测评

    春节前在DF商城到上架两款新品,分别是离线语音识别模块.离线语音合成模块,它们和二哈识图一起组成了"人工智能三剑客".其中语音识别模块有现货,语音合成模块接受预定.心痒痒想在春节尝 ...

最新文章

  1. Health Check in eShop -- 解析微软微服务架构Demo(五)
  2. WinForm导出文件,你懂的……
  3. HTTP 错误 500.21 - Internal Server Error
  4. 包装严重的 IT 行业,作为面试官,我是如何甄别应聘者的包装程度
  5. Kubernetes v1.6开始支持RBAC
  6. 学习前端需要掌握什么基础?
  7. 如何自学并且系统学习计算机网络?(知乎问答)
  8. SQL不重复查找数据及把一列多行内容拼成一行
  9. asp.net中注册脚本的两个方法
  10. 单片机蓝牙模块与手机蓝牙通信(7)
  11. html中css的注释怎么写,html注释和css、js注释的写法,使用场景以及性能优化问题...
  12. 单片机和4G模块通信总结(EC20)
  13. 分治回溯--Nqueen
  14. linux pam limits.so,Linux 无法本地登录解决方法 报错/lib/security/pam_limits.so
  15. win10 无法访问samba文件,提示SMB1是不安全协议解决方案
  16. 物联网阿里云——Android Mqtt协议连接阿里云
  17. C++后端开发(校招实习生)学习路线
  18. 热图(Heat Map)的绘制
  19. 驱动人生解决电脑总是无端卡死/黑屏需强制关机的现象
  20. Java物联网项目中,运行SPringBoot脚手架,运行失败问题

热门文章

  1. 正则表达式-国际手机号或座机号校验
  2. 神经网络反向传播算法及代码实现
  3. 联想入选恒生指数成分股
  4. html停止工作,update.exe已停止工作
  5. 七周成为数据分析师 第三周:Excel篇
  6. snyk 项目漏洞检测
  7. [BZOJ4173]数学
  8. 马斯克是全人类的?他旗下有9家公司,特斯拉被评为最没技术含量
  9. NXP JN5169滴答定时器中断回调函数
  10. 产品更新背后的达维多定律