web语音发音实现【非异地版】
来源:互联网 发布:淘宝如何看到买家评价 编辑:程序博客网 时间:2024/04/29 07:26
这两天做食堂的订餐系统的发音功能,颇有感受,借此分享。本文软件资源:http://download.csdn.net/detail/tr1912/9597635
一、语言的构思
开始提出了语音的这个词汇,听着很是高大上的感觉,听起来实现的非常难,但是看了文档,用起来还是比较简单的。在这里我们用到了两种方式来播放语音,一种是微软自带的微软TTS引擎,一种是我自己在网上找的中国做的捷通华声语音系统。其实要是论易用性呢,微软自带的这个比较好,为什么呢?因为这个语音系统的基础是封装在win7以上的电脑里面的,所以一般的使用就是直接调用系统的类库就可以了。但是,要是扩展的话就需要很大的麻烦了,因为里面的扩展并不是很多。
语音的构思方式主要是来自报什么,怎么报来思考的。由于只是在刷卡的页面需要提示人们菜价,因此呢简单一句话,刷卡就报。
二、代码的实现
由于一开始用微软TTS语音的时候是用的同步的方法,我们还不会多线程的异步,所以我只是用了一小下,发现了问题,就是只要运行了语音功能,别的代码就暂停了,不能有很好的用户体验,所以放弃了这个方案,后来在网上查才看见有这个捷通华声语音系统,看网上的评论还不错,就下载了一个版本的试了试,起初看到他有多程,就觉得肯定可以实现,就去看Demo和文档了。
这个文档的地方很难找,位置见下图(软件安装位置默认):
其中里面的文件名称和作用一目了然不是吗?
Bin里面放的是演示程序,所有的功能都从那里体现,而Examples下面是用各种语言和方法实现的例子,我就是这样参照的。文档在Bin的help下面。
仿照C#的例子,我首先找到了 他们用的核心就是一个CS文件:
其中这个CS文件是以下面的DLL为核心写的,方法都在JTTS_ML.cs中实现。详情见说明文档,下载地址在最上方。
具体使用:初始化——执行——结束
C#命名空间引用:
using InfoQuick.SinoVoice.Tts;
初始化代码:
public bool InitJtts() { string strLibPath = null; //高级配置文件的初始化 string strSerialNO = null; //初始化序列 int iErr = 0; //错误代码 iErr = Jtts.jTTS_End(); //结束正在运行的 iErr = Jtts.jTTS_Init(strLibPath, strSerialNO); //初始化驱动 if (Jtts.ERR_NONE == iErr || Jtts.ERR_ALREADYINIT == iErr) { return true; } else { return false; } }
每次执行命令的时候都尽量初始化:
InitJtts();Jtts.jTTS_Play("您好,您未订餐,请在等候区等待!", 0);
这样就可以朗读了,如果想设置语速和音量则需要查文档,看参数然后设置,如:
Jtts.jTTS_SetParam(3, 7); //语速7Jtts.jTTS_SetParam(4, 7); //音量7
如果想判断当前的阅读状态(朗读,停止,空闲)则需要status这个方法来判断:
int ttsStatus = Jtts.jTTS_GetStatus(); //返回的INT类型代表什么状态需要看文档。
如果想清空当前缓存,则用这个:
InitJtts();Jtts.jTTS_End(); //释放空间,要在没哟朗读的情况下
我用到的函数就是这么多,具体怎么去安排,去实现,就得看自己的程序了。
- web语音发音实现【非异地版】
- DotNet语音技术实现(实现电脑发音)
- .Net语音技术实现(实现电脑发音)
- C# 实现中文发音或中文语音识别
- 用Microsoft SDK实现中文语音发音的方法小结
- Delphi 实现简易语音发音(基于TTS方式)
- Delphi 实现简易语音发音(基于TTS方式)
- 语音识别之发音字典
- 获取谷歌语音库单词发音
- raspberry pi 支持中文语音发音(EKHO)
- java web 不能异地登陆
- 【专家坐堂】口语学习背后的语音技术-发音评测
- 实现SQL Server2005 异地备份
- linux下实现异地备份
- 异地
- 局域网WEB方式实现TTS实时语音合成
- 请问如何动态实现播放语音文件[WEB学习示例]
- 封装微软TTS实现web系统文本转语音
- ios::sync_with_stdio(false);
- java多聚合,少继承,低耦合,高内聚
- HDU-1576 A/B 【逆元模板题】
- kruskal算法个人思考
- hdu5722 Jewelry
- web语音发音实现【非异地版】
- 运算放大器选择经验总结分享
- java修饰符作用范围
- 《JavaScript 闯关记》之语法
- CASIA脱机汉字库数据提取工具
- python苦作舟
- c# UTC时间和本地时间转换(北京时间)
- MySQL---数据库从入门走向大神系列(六)-事务处理与事务隔离(锁机制)
- HDU 5806 NanoApe Loves Sequence Ⅱ