LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1537|回复: 8

想做一个linux下的中文语音朗读软件,可有同好一起讨论

[复制链接]
发表于 2007-6-11 11:48:20 | 显示全部楼层 |阅读模式
如题: 初步的想法只能是录音,分割语音段为一个一个小段,每小段一个字或者一个词,分析中文文本,将文本分割为一个词一个词的记录,根据词找到语音小段,合成一个新的语音文件,播放这个语音文件。

欢迎感兴趣的朋友展开讨论。
发表于 2007-6-11 12:20:31 | 显示全部楼层
Post by wq1977
如题: 初步的想法只能是录音,分割语音段为一个一个小段,每小段一个字或者一个词,分析中文文本,将文本分割为一个词一个词的记录,根据词找到语音小段,合成一个新的语音文件,播放这个语音文件。

欢迎感兴趣的朋友展开讨论。
搜搜speech engine,
好像是tts engine,就是text to speech engine
这个感觉不那么容易做的。英语的已经有很多现成的了,但是中文的还没有,
另外中文和英文的分词技术也不一样,难度要大一些。比如“北京大学城”你解析成“北京大学”,还是”大学城“
分词本身就是一个课题吧
以前看过微软亚洲研究院那个,做的好像还行。
https://research.microsoft.com/speech/tts.asp
回复 支持 反对

使用道具 举报

发表于 2007-6-11 14:11:26 | 显示全部楼层
楼主可以先研究一下 festival,这是一个开源的英文语音朗读引擎,效果还不错
回复 支持 反对

使用道具 举报

发表于 2007-6-11 14:48:30 | 显示全部楼层
1: 这不是个大众化的题目, 很多人做不了, 所以很难找同好;
2: 分词不算难, 前两天有个家伙开源了一个, 总体还不错;
3: 语音的工程量大, 楼主自己朗读还是请播音员朗读? 要么按开源社区的思路, 大家分工朗读,呵呵, 一句话可能是8个人的音.
4: 朗读软件用的人少, 质量不高用的人就更少.
5: 其实这东西代码量很少, 不带图形界面估计不会超过10000行, 前提是用开源分词代码, 很好写, 就是语音库的问题. 分完词后调用语音库读出来而已. 所以楼主自己写就好了.
6. 语音库嘛, 让开源社区协助建立. 先建立字库, 词库可以先用字库连接起来, 以后再建词库.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-11 17:39:45 | 显示全部楼层
有个叫讯飞语音的小软件,朗读中文效果接近完美,几乎听不出来是电脑在朗读,本身软件也不是很大,不过只提供智能手机的版本,不提供PC版本,festival更是一个完全不支持中文的东东,微软亚洲研究院制作的东东水平和它的微软身份很不相称。

总之,要在linux下让电脑朗读中文(小说、电子邮件等),需要中国的开源程序员的努力。
回复 支持 反对

使用道具 举报

发表于 2007-6-11 18:25:03 | 显示全部楼层
Post by wq1977
有个叫讯飞语音的小软件,朗读中文效果接近完美,几乎听不出来是电脑在朗读,本身软件也不是很大,不过只提供智能手机的版本,不提供PC版本,festival更是一个完全不支持中文的东东,微软亚洲研究院制作的东东水平和它的微软身份很不相称。

总之,要在linux下让电脑朗读中文(小说、电子邮件等),需要中国的开源程序员的努力。


楼主先努力, 大家跟上!
回复 支持 反对

使用道具 举报

发表于 2007-6-11 19:29:02 | 显示全部楼层
Post by sysnotdown
1: 这不是个大众化的题目, 很多人做不了, 所以很难找同好;
2: 分词不算难, 前两天有个家伙开源了一个, 总体还不错;
3: 语音的工程量大, 楼主自己朗读还是请播音员朗读? 要么按开源社区的思路, 大家分工朗读,呵呵, 一句话可能是8个人的音.
4: 朗读软件用的人少, 质量不高用的人就更少.
5: 其实这东西代码量很少, 不带图形界面估计不会超过10000行, 前提是用开源分词代码, 很好写, 就是语音库的问题. 分完词后调用语音库读出来而已. 所以楼主自己写就好了.
6. 语音库嘛, 让开源社区协助建立. 先建立字库, 词库可以先用字库连接起来, 以后再建词库.


不知道这位做过tts没有,事先声明,我没做过,但是我想没有这位想的这么简单,
首先字组成词,词组成句,但是如果换到语音的话,这个就没法成立了,
比如语音有音调(不同的环境语调不同),有上下文环境,句应该也有句调,
简单的比如“你好”,如果是单独的字的话,两个都是三声,你试着读一下看看什么效果?但是实际上听起来确不是这样。
还有一些延迟的控制,还有就是
要让语音听起来自然连贯,而不是连起来的单字,我觉得有很多积累的东西在里面,比如大量的统计和测试。

之前我也想做一个来,但是实在不知道从什么地方下手,感觉这个东西理论性的东西比较强,比如可能我想有些tts不是靠单个字音合成的,而是有一些语素,不然tts引擎就太大了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-11 20:17:55 | 显示全部楼层
录音是不可避免的 我觉得英文的festival的声音应该是合成的,但是合成的电脑声音不可避免会有些太生硬。要实现亲切的声音效果,一定要录音。关于语调之类的,看你怎么想了。如果非要实现的完美的话,可以实现不同年龄,不同语调下的库,再加上标点符号的语调分析,也许可以让电脑来表演广播剧或者代替新闻联播的播音员(他们的语调是几乎不变的,呵呵)。
回复 支持 反对

使用道具 举报

发表于 2007-6-11 20:34:43 | 显示全部楼层
就看楼主想实现到什么程度的效果了。只是把音发出来,那很简单,但也没什么价值。要想实现朗读得亲切自然,这是算法层面上的东西,如果有开放的算法,可以借鉴,如果没有,就只能自己研究,一旦算法研究好了,代码不在话下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表