做了很久生产项目 经常遇到一个问题:就是想把文字用语音播报出来;当然了声音要清晰,好听,不能太机械。 这个问题怎么解决呢?一般不外乎两种方法,第一种,将文字录成MP3格式用控件播放。另外一种:直接文字语音播报。
我一直都是用第一种方法居多,但是最近遇到个棘手的事情,就是数量巨大和文字变动较大。因此深入研究了下,记录下过程。
第一种方法:就是费时费力但是好处是人工转换了删选了效果比较好。但是两大或者文字变动 是个大隐患。
第二种方法:用微软自带的tts引擎,效果不好。播放不清晰,好处是com组件各种语言都可以用。
但是我又必须用第二种方法来实现,测试了众多语音引擎,终于找到合适自己的了。(c#调用,离线转换)
我的思路是这样的:
首先,是想找到合适语音引擎,引擎好,朗读的效果肯定ok。测试了一下众多语音引擎。国内人最了解自己了,当然从国内的先找起
百度语音:效果不错,在线转换为主,在线转换有次数限制,但是如果离线要申请,离线序列号,没找到c#调用方法,忽略。
讯飞语音:效果不错,在线转换为主,在线转换有次数限制,但是如果离线则需要购买,没找到c#调用方法,忽略。
okvocie,hivoice,sogou 等等 都是一个德行。都忽略。花了太多时间。
ispeech:效果不错,在线转换,付费,有c#调用,不错,收费。忽略。
necospeech:效果相当不错,在线转换,个人最喜欢的,在线转换,付费。没找到下载方法。
espeak:效果不错。离线转换,国人开发的,但是没有女声,达到一半要求。
还有其他国外好多,没有一个达到要求了。做了这些事情已经花了我一整天时间了,怎么办
用espeak 语音的人可以选择。难道下载语音库就可以了?????心里有些小激动了。。
突然搜索到灵格斯词霸有各种语音库下载, 看到有necospeech的 400m 我下载下来了。测试居然可以。明白了一个道理:下载支持微软件tts引擎的语音库,按照微软件tts调用方法直接调用即可。原来如此。
网上已经好心人造了轮子了,我借用下。
以下是具体操作步骤
1.win7 自带sapi4. 应该不需要下载,如果需要可以下载微软tts sdk
2.http://www.cnblogs.com/comsokey/archive/2011/10/04/2199030.html
3.下载necospeech的语音库安装即可。 necospeech vw Lily的效果不错。
4.在控制面板语音识别里面测试效果。
5.http://www.cnblogs.com/daytoday/archive/2013/02/17/2914124.html 园友林尚轩的这边文章说的清楚了。
6.到此结束。已经晚上11点了,花了10几个小时了。不过值得了。