你们可能对谷歌的TTS引擎很熟悉:here。
我对这样的东西如何能够分析输入并挑选出不同的音节/词性有一个基本的理解,但是如果我想要为TTS系统创建一个“声音”,我应该从哪里开始呢?
发布于 2011-05-06 07:08:00
这是一个我在大学里花了近一个学期来学习答案的问题,以及提前一年(或更长时间)的课程,以学习理解过程所需的基本信号处理。整个课程都致力于语音合成,整个课程都致力于信号处理。
人们可以把人类的声道想象成一个过滤器,把声门想象成一个脉冲发生器--也就是说,语音实际上是由声道、嘴巴和鼻腔过滤的脉冲序列的结果。
对于每个音素,“过滤器”将是不同的,因此您需要一个音素库来为其生成“过滤器”。从理论上讲,逆滤波可以在音素声音片段库中使用,以找到“滤波器”系数。Levinson-Durbin递归通常用于寻找LPC系数。
必须创建声门脉冲序列。一种简单的方法是将脉冲序列与正半正弦波进行卷积。
最后,使用与您要创建的音素相关联的“滤波器”系数对声门脉冲序列进行滤波。
但这只适用于有声语音。为了生成清音语音,一种简单的解决方案是用与清音语音音素相关联的“滤波器”系数对随机噪声信号进行滤波。
在此基础上的一层抽象层,创建所需的音素列表,并进行连接。就像派一样简单!
更新:
一位朋友指出节日,一个输入文本和提取语音的“黑匣子”:http://festvox.org/festival/
https://stackoverflow.com/questions/5904792
复制相似问题