[0039] 为了使本领域技术人员更好地理解本发明的技术方案,下面将结合附图以及具体的实施方式,对本发明进行详细地介绍说明。
[0040] 如图1所示,本发明所述基于谐波冲激分解的语音转换方法,包括如下步骤:
[0041] S1,将语音信号分解成谐波信号和冲激信号;
[0042] S2,将所述谐波信号进行语音转换,形成目标谐波信号;
[0043] S3,将所述目标谐波信号与所述冲激信号进行叠加,形成目标语音信号。
[0044] 谐波信号是语音中具有固定基频的结构化的信号部分,而冲激信号是没有固定基频的信号部分。由于语音信号中说话人身份信息主要来自于说话人的声道特性和基频信号,而声道的共振特性是一个非常重要的因素,它和基频信号共同对语音信号中的谐波结构具有重要的影响。因此,谐波信号部分基本上包含了全部的说话人身份信息。而冲激信号部分具有散状的、不规律的频谱结构,含有语音频谱的细节成分,对于提高语音信号的质量很有作用。根据这一原理,在进行语音转换时,只对语音信号中的谐波部分进行转换,而保持冲激部分不变,有利于提高转换后的语音质量。
[0045] 在进行语音转换时,尽可能分离出语音信号中的包含说话人身份信息的信号部分,而对未含有身份信息的语音部分不进行处理,这样就减少了不必要的信息处理过程,根据信息论的数据处理定理,可以减少信息的丢失,有利于提高转换后语音的质量。语音信号的谐波冲激分解是通过中值滤波实现的,中值滤波能够有效地分离出沿时间轴方向分布的谐波部分和沿频率轴方向分布的冲激部分。
[0046] 根据上述思想,步骤S1中,将语音信号分解成谐波信号和冲激信号的具体步骤如下:
[0047] S11,采用STRAIGHT模型对所述语音信号进行建模,得到该语音信号的频谱矢量序列X,X表示成语音信号的语谱图;
[0048] S12,在幅度谱水平方向(时间方向)和垂直方向(频率方向)分别进行中值滤波,得到水平方向的幅度谱 和垂直方向的幅度谱 分别为:
[0049]
[0050]
[0051] 其中m表示语谱图的时间点,k表示语谱图的频点。wh是用来描述水平方向中值滤波器的长度,即水平方向中值滤波器的长度2wh+1;而wp是用来描述垂直方向中值滤波器的长度,即垂直方向中值滤波器的长度为2wp+1。median(·)是表示中值滤波函数。
[0052] S13,对于时频分布上任何一点的值,如果 则该频点判决为谐波信号成分,反之就是冲激信号成分。根据这个原则分别对语音信号的语谱图X进行标记,得到谐波信号的标记矩阵Mh和冲激信号的标记矩阵Mp,即:
[0053]
[0054]
[0055] S14,将谐波信号的标记矩阵Mh和冲激信号的标记矩阵Mp分别与源语音信号或目标语音信号的语谱图X进行点乘,即矩阵的对应点相乘,得到语音信号的谐波信号频谱Xh(m,k)和冲激信号频谱Xp(m,k),即:
[0056] Xh(m,k)=X(m,k)·Mh(m,k) (5)
[0057] Xp(m,k)=X(m,k)·Mp(m,k) (6)
[0058] 如图2所示,所述语音转换方法通过转换语音信号的频谱来实现,包括训练阶段和转换阶段,在所述训练阶段,语音信号包括源语音信号和样本语音信号,步骤S1对所述源语音信号和样本语音信号进行激光冲激分解,同时提取梅尔频率倒谱系数MFCC,用MFCC根据动态时间规整算法对源语音信号和样本语音信号在时间上进行规整并保留时间对齐信息;在所述转换阶段,语音信号为源语音信号,步骤S1对所述源语音信号进行激光冲激分解。
[0059] 训练阶段的目的是获取源语音信号频谱特征矢量空间与目标语音信号频谱特征矢量空间之间的映射关系,转换阶段是利用所述训练阶段所获得的映射关系实现对源语音信号频谱转换成目标语音频谱。
[0060] 步骤S2中,将谐波信号进行语音转换形成目标谐波信号,是指对所述谐波信号频谱进行转换形成目标谐波信号频谱,具体为:
[0061] S21,根据所述时间对齐信息,随机抽取源语音信号和样本语音信号相同位置的谐波信号频谱构造平行的源语音字典A和样本语音字典B,并存储,之后结束所述训练阶段。
[0062] S22,在所述转换阶段,对源语音信号的谐波信号频谱Xh(m,k)进行稀疏表示;即[0063] Xh(m,k)=AH (7)
[0064] 激励矩阵H是N×M维的实数矩阵,其中,N表示基矢量的个数,M表示语音信号的帧数,激励矩阵H由激励矢量h迭代求解,
[0065]
[0066] 其中,A是源语音字典,x∈RK×1表示一帧语音信号的幅度谱,K表示一帧幅度谱的维数,Ι表示K维的数值全为1的矢量,λ表示K维的惩罚因子矢量,T表示矩阵转置运算符,.×表示矩阵对应点之间相乘运算符。
[0067] 根据稀疏表示理论,该帧语音信号的频谱可以由多个基矢量的线性组合表示。在数学上可以表示为:
[0068]
[0069] 其中an表示基矢量空间中第n个基矢量,an的维数也为K,hn表示第n个基矢量所对T应的权重系数,h=[h1,h2,...,hN]称为激励矢量,N个基矢量的组合形成所述源语音字典AK×N
=[a1,a2,...,aN]∈R ,该字典是在训练阶段得到,在语音转换阶段固定不变。
[0070] 激励矢量h是稀疏的,即矢量h的大部分元素都为零,只有部分元素是非零的。矢量h的值是在训练阶段通过非负矩阵分解法进行循环迭代求解,如公式(8)所示。
[0071] 将一段语音信号进行分帧处理,分为M帧,其频谱矢量序列表示为X∈RK×M。对该矢量序列中的每一帧频谱参数采用公式(9)进行稀疏表示。
[0072] S23,在所述转换阶段,利用源语音信号的激励矩阵H和样本语音信号的谐波信号样本字典B对源语音的谐波信号频谱进行转换,转换后的目标谐波信号频谱表示为[0073] 步骤S3中,将所述目标谐波信号与所述冲激信号进行叠加,形成目标语音信号的具体步骤为:将转换后的目标谐波信号频谱 和未经过处理的源语音冲激信号部分进行叠加,得到转换后的目标语音频谱,从而实现语音转换。
[0074] 本发明所述基于谐波冲激分解的语音转换方法,采用谐波冲激分解模型对语音信号进行分解,将语音信号分解成谐波信号部分和冲激信号部分,仅对谐波信号部分做频谱分解和稀疏表示,不对冲激信号做任何处理,既能够保证信息的完全性、又可以减少信息的丢失,还有利于提高转换后语音的质量,具有较高的应用前景。
[0075] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。