当前位置:   article > 正文

中文语音库学习

中文语音库

原理

之前只用过汉字显示的点阵字库,没想到还真有个汉字语音库。

在网上科普了下,大部分都是通过上位机生成的,

首先说说汉字显示库与汉字语音库的不同,也是最根本的区别,一个汉字对应一个写法,每一个汉字在汉字显示库在都是独一无二的,但是汉字语音库,却不是这样的,,一级字库中有3755个,是常用汉字,二级字库中有3008个,此外还有1W多字基本用不到的汉字,但是它们发音很多都是重复的,如下:

现代汉语普通话共有1327种音节。如果不含声调,则有418种

如果把每一个汉字的发音都存储在语音库中,太浪费了,因此汉字语音库中存在2个表,一个是1327个语音存储表,另一个是GB2312汉字区位码的索引表, 索引表内保存的是此汉字发音在语音存储表中的长度与偏移地址

发音过程,当输入一个汉字是,其实在计算机中就是2字节的内码,这个也汉字显示库是一样的,再通过内码在索引表中找到此字对应的发音的长度与地址,然后再把PCM语音读出来播放,就完成了汉字语音库的翻译。

上面的原理非常简单,但是实现起来,做成产品还需要处理一些特殊情况,如果,多音字、阿拉伯数字、ASCII字母等,

应用

这种方法,发出的语音比较僵硬,一听就是机器合成的,但在一些要求低的场合还是能够使用的,在银行、医院等地方还是使用很多的。

优化

在工业场合下,并不是所有的语句都有可能发出来的,还以银行为例,常用的有“请XXX到2号窗口”,其中XXX是人名,这3个字是不可预期的,因此必须要使用语音库来实现,但是“请到X号窗口”完全可以事先录好,放到机器里,使用时,整个播放出来,因为是事行录好的,因此这句话的流畅度、语调都可以做到非常好,

优化方法可以从2方面着手

1,对于可预期的语句,事先录制好,保存在机器内,

2, 对于不可预期的才从中文语音库中取。

参考GB2312汉字语音系统! (amobbs.com 阿莫电子论坛)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/736906
推荐阅读
相关标签
  

闽ICP备14008679号