科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件中文TTS 的简单实现(基于linux)之 前言

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

今年,我参加学校举办的的一个嵌入式比赛,我的作品中需要用到中文文本语音转换的功能,由于是使用linux系统,所以不能使用MS提供的语音开发包。

作者:冬瓜 来源:CSDN 2008年3月27日

关键字: Linux TTS 中文 开源

  • 评论
  • 分享微博
  • 分享邮件
今年,我参加学校举办的的一个嵌入式比赛,我的作品中需要用到中文文本语音转换的功能,由于是使用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):多音字的处理

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

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章