Developer's Guide--Part III

语音合成

 基音同步叠加技术的实现一般有三种方式。它们分别为时域基音同步叠加(TD-PSOLA);线性预测基音同步叠加(LPC-PSOLA);频域基音同步叠加(FD-PSOLA)。这里,仅对广泛应用的时域基音同步叠加发进行讨论。

 时域基音同步叠加技术作为基音同步叠加技术的一种,通过以下步骤实现语音合成:
  (1)对语音合成单元设置基音同步标记。同步标记是与合成单元浊音段的基音保持同步的一系列位置点,它们必须能准确反映各基音周期的起始位置。PSOLA技术中,短时信号的截取和叠加,时间长度的选择,均是依据同步标记进行的。浊音有基音周期,而清音的波形接近于白噪声,所以在对浊音信号进行基音标注的同时,为保证算法的一致性,可令清音的基音周期为一常数。
  (2)以语音合成单元的同步标记为中心,选择适当长度(一般取两倍的基音周期)的时窗对合成单元做加窗处理,获得一组短时信号。
  (3)在合成规则的指导下,调整步骤(1)中获得的同步标记,产生新的基音同步标记。具体地说,就是通过对合成单元同步标记的插入、删除来改变合成语音的时长;通过对合成单元标记间隔的增加、减少来改变合成语音的基频等。
  (4)根据步骤(3)得到的合成语音的同步标记,对步骤(2)中得到的短时信号进行叠加,从而获得合成语音。
 概括起来说,用PSOLA法实现语音合成时主要有三个步骤。分别为基音同步分析、基音同步修改和基音同步合成。下面我们详细介绍这三个步骤。

 1.基音同步分析 
  同步标记是与合成单元浊音段的基音保持同步的一系列位置点,用它们来准确反映各基音周期的起始位置。同步分析的功能主要是对语音合成单元几逆行能够同步标记设置 。PSOLA技术中,短时信号的截取和叠加,时间沉痼但的选择,均是依据同步标记进行的。对于浊音段有基音周期,而清音段信号则属于白噪声,所以这两种类型需要区别对待。在对浊音信号进行基音标注的同时,为保证算法的一致性,一般令清音的基音周期为一常数。
  以语音合成单元的同步标记为中心,选择适当长度(一般取两倍的基音周期)的时窗对合成单元做加窗处理,获得一组短时信号
           
  其中,为基音标注点,一般取Hamming窗,窗长大于原始信号的一个基音周期,因此窗间有重叠。窗长一般取为原始信号的基音周期的2~4倍。
  2.基音同步修改
 同步修改在合成规则的指导下,调整同步标记,产生新的基音同步标记。具体地说,就是通过对合成单元同步标记的插入、删除来改变合成语音的时长;通过对合成单元标记间隔的增加、减少来改变合成语音的基频等。这些短时合成信号序列在修改时与一套新的合成信号基音标记同步。在TD-PSOLA方法中,短时合成信号是由相应的短时分析信号直接拷贝而来。若短时分析信号为,短时合成信号为,则有:
              
式中为分析基音标记,为合成基音标记。
 3.基音同步合成
 基音同步合成是利用短时合成信号进行叠加合成。如果合成信号仅仅在时长上有变化,则增加或减少相应的短时合成信号;如果是基频上有变换则首先将短时合成信号变换成符合要求的短时合成信号再进行合成。
  基音同步叠加合成的方法有很多,下面采用原始信号谱与合成信号谱差异最小的最小平方叠加合成法(Least-Square Overlap-Added Scheme)。最终合成信号为:
         
其中,分母是时变单位化因子,是窗之间时变叠加的能量补偿,这里为合成窗序列,为相加归一化因子,是为了补偿音高修改时能量的损失而设的,上式可简化为:
                 (2.3.1)
式中的分母是一个时变的单位化因子:补偿相邻查叠加部分的能量损失。该因子在窄带条件下接近与常数,在宽带条件下,当合成窗长为合成基音周期的两倍时该因子亦为常数。此时,若设,则有
                      (2.3.2)
  利用上面的两个公式(2.3.1)和(2.3.2),可以通过对原始语音的基音同步标记间的相对距离的伸长和压缩,对合成语音的基音进行灵活的提升和降低,同样还通过对音节中的基音同步标记的插入和删除来实现对合成语音音长的改变,最终得到一个新的合成语音的基音同步标记,并且可以通过对公式(2.3.1)中能量因子的变化来调整语流中不同部位的合成语音的输出能量。图2.3.3所示即为同步叠加算法改变语音基音和时长的示意图。
        
          图2.3.2 时域基频同步合成语音
    a)语音基频被降低   b)语音被延长但基频基本保持不变

                           back to top

 
 
Copyright (C) 2006-2007 Scilab group of Xiamen University, China