用C#编写语音自动朗读机器人
介绍之前首先推荐一个非常不错的网站,http://www.openso.net/
开发之前需要下载两个开发的sdk包以及语言包,下载地址:http://www.openso.net/querytool?index=1&word=,安装SpeechSDK51.exe,SpeechSDK51LangPack.exe,这里有个开发的帮助文档,下载地址:http://www.openso.net/queryebook?index=1&word=。
SAPI SDK是微软公司免费提供的语音应用开发工具包,这个SDK中包含了语音应用设计接口(SAPI)、微软的连续语音识别引擎(MCSR)以及微软的语音合成(TTS)引擎等等。目前的5.1版本一共可以支持3种语言的识别 (英语,汉语和日语)以及2种语言的合成(英语和汉语)。SAPI中还包括对于低层控制和高度适应性的直接语音管理、训练向导、事件、语法编译、资源、语音识别(SR)管理以及TTS管理等强大的设计接口。
1.首先使用Tlbimp工具,将COM类型库中的类型定义转换为公共语言运行库程序集中的等效定义。
命令如下:
cd C:Program FilesCommon FilesMicrosoft SharedSpeech
Tlbimp sapi.dll /out: DotNetSpeech.dll
最后再通过ildasm工具来查看生成的DotNetSpeech.dll组件。
说明:过程会有一些异常产生,不过并无妨。
2.其次,新建一个win项目,将组件通过引用的方式导入到项目中,并编写以下少量的代码。
SpeechVoiceSpeakFlags spFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync;
SpVoice v= new SpVoice();
v.Speak(this.txtContent.Text, spFlags);
3.最后运行程序,如下图所示:
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击