原创  中文TTS 的简单实现(基于linux)之 前言收藏

新一篇:  中文TTS 的简单实现(基于linux)之 实现原理 | 旧一篇: 字符指针和字符数组

 

      今年,我参加学校举办的的一个嵌入式比赛,我的作品中需要用到中文文本语音转换的功能,由于是使用linux系统,所以不能使用MS提供的语音开发包,虽然linux上也有很多TTS功能的软件,但都只支持英语文本的转换,不支持中文的转换,当然支持中文语音转换的也有,但都需要money的,而且我们对语音的要求不高,所以就由我自己来实现。

我实现的中文TTS现有功能如下:

1):基于中文二级字库,语音库的语音元素使用的是MS的语音库语音元素。

2):合成语音文件的格式为 WAV,  所以合成语音可以直接在声卡上播放。

3):提供简单的函数调用接口,支持程序开发

 

附:

我实现的中文TTS 需改进的N点:

1):没有自己的语音播放功能(我是FORK 播放器进程来读语音文件的)

需要在TTS中增加播放功能模块,才能算是完整的TTS系统,

网上有很多LINUX上播放器的代码,由于时间关系我暂时没做,但以后我一定会加上去的,

我也希望能有朋友能帮我完成这功能

2):语音库文件太大(没压缩前有40M左右,使用普通的压缩程序压缩后只有2M多点)

我的发音元素是采用WAV格式的,所以有点大, 解决方法我暂时还没想到,我打算对压缩文件进行操作,但不知道

行不行,自己没把握。

3):提供的函数功能太简单

3.1): 现在只提供了将GBK/GB2312编码 的中文文本转换, 如果程序使用的编码是其它格式的话,还需先自己转换

成GBK/GB2312的编码 才能使用我提供的函数,我想在中文TTS中封装编码转换函数,这样能使应用程序更方便

的使用。

3.2): 其他很多功能的实现:

  太多功能需要来实现,写都写不来了。。比如说读数字的处理等等,太多了,所以暂时空着 

4):读音效果

     我想这点应该是评价一个TTS系统的最关键的因素,也是我自己认为最难的一点,我想这可能超出了我的知识范

围,我的头脑中只存在着编程逻辑,对其他的知道得甚少,我想我自己得突破这点。了解其它学科的知识。

 现在我只能说一句, 现在的读音效果超差,一听就知道是机器在读,没有一点人情味。

5):不支持中英文混读

现在只能读中文,英文是一个一个字母的读,虽然有很多关于英语转换的TTS软件是开源的,但要完成这功能还是

需要一定的工作量的,想想如果让我一个人来做,就头晕,天哪,要看N多的代码.......

 6):多音字的处理

我想这可能要用到中文分词了....

 文章导读:
中文TTS 的简单实现(基于linux)之 实现原理:
http://blog.csdn.net/dedodong/archive/2006/07/16/927041.aspx

中文TTS 的简单实现(基于linux)之 语音库的实现
http://blog.csdn.net/dedodong/archive/2006/08/22/1105742.aspx

中文TTS 的简单实现(基于linux)之 实现语音合成
http://blog.csdn.net/dedodong/archive/2006/08/22/1105879.aspx

中文TTS 的简单实现(基于linux)之 后记
http://blog.csdn.net/dedodong/archive/2006/08/24/1109908.aspx

 

发表于 @ 2006年07月15日 03:50:00|评论(loading...)|编辑

新一篇:  中文TTS 的简单实现(基于linux)之 实现原理 | 旧一篇: 字符指针和字符数组

评论

#ruanchao 发表于2008-07-24 14:59:45  IP: 221.12.132.*
你好,你有TTS在windows mobile上的资料吗?英文版的,谢谢
#ruanchao 发表于2008-07-24 14:59:59  IP: 221.12.132.*
你好,你有TTS在windows mobile上的资料吗?英文版的,谢谢
2008-08-01 17:21:27作者回复
hi~没有了,好久都没碰过这东西了,那时候也是肤浅的做了下。看了一些论文库里的文章。 记得国外一个大学有个开源的的TTS程序,但那时候还不支持中文。 你可以找找看,具体名字我也忘记了(我去找过,没找到这个项目)。 不好意思啊。
发表评论  


登录
Csdn Blog version 3.1a
Copyright © ^ǒ^冬瓜