前言
今年,我参加学校举办的的一个嵌入式比赛,我的作品中需要用到中文文本语音转换的功能,由于是使用linux系统,所以不能使用MS提供的语音开发包,虽然linux上也有很多TTS功能的软件,但都只支持英语文本的转换,不支持中文的转换,当然支持中文语音转换的也有,但都需要money的,而且我们对语音的要求不高,所以就由我自己来实现。
我实现的中文TTS现有功能如下:基于中文二级字库,语音库的语音元素使用的是MS的语音库语音元素。
合成语音文件的格式为 WAV, 所以合成语音可以直接在声卡上播放。
提供简单的函数调用接口,支持程序开发
附:
我实现的中文TTS 需改进的N点:没有自己的语音播放功能(我是FORK 播放器进程来读语音文件的)需要在TTS中增加播放功能模块,才能算是完整的TTS系统,网上有很多LINUX上播放器的代码,由于时间关系我暂时没做,但以后我一定会加上去的,我也希望能有朋友能帮我完成这功能
语音库文件太大(没压缩前有40M左右,使用普通的压缩程序压缩后只有2M多点)我的发音元素是采用WAV格式的,所以有点大, 解决方法我暂时还没想到,我打算对压缩文件进行操作,但不知道行不行,自己没把握。
提供的函数功能太简单
3.1): 现在只提供了将GBK/GB2312编码 的中文文本转换, 如果程序使用的编码是其它格式的话,还需先自己转换成GBK/GB2312的编码 才能使用我提供的函数,我想在中文TTS中封装编码转换函数,这样能使应用程序更方便的使用。
3.2): 其他很多