一种基于伽马通频率倒谱系数的多对一语音转换方法

文档序号:29494379发布日期:2022-04-06 14:34阅读:231来源:国知局
一种基于伽马通频率倒谱系数的多对一语音转换方法

1.本发明涉及语音转换领域,尤其是涉及一种基于伽马通频率倒谱系数的多对一语音转换方法。


背景技术:

2.语音转换技术可在不改变语音内容的前提下将源说话人的音色、情感、口音等转换为目标人的音色、情感和口音。其潜在的应用场景包括声音伪装、个性化声音合成、以及声纹解锁等。
3.语音转换技术要求转换后的语音具有良好的自然度和可懂度。同时应与目标说话人的语音在音色、情感、口音等方面具有高度的相似性。
4.为了保证语音转换的质量,传统的语音转换模型大多采用平行数据对模型进行训练,平行数据是指源说话人和目标说话人说相同内容时的语音信号所构成的成对数据样本。然而,采集高音质的平行数据的难度较大,很耗时,且价格昂贵,因此大大限制了其应用的发展。同时,在语音转换时还要进行时间对齐。受到相关技术性能的约束,对齐过程不可避免会引入误差,从而影响了语音转换的质量。目前,大多语音转换模型采用梅尔频率倒谱系数(mel-frequency cepstral coefficients,mfcc)作为输入特征。然而梅尔滤波器组的频率选择特性不能很精确的模拟人耳基底膜的频率选择特性,从而对合成语音的质量造成影响。
5.另外,在利用目标说话人的基音和相关参数进行语音合成的过程中,大多采用参数声码器,例如straight声码器。此类参数声码器的参数需要根据信号处理中一些过于简化的假设进行手动调谐。因此,参数声码器只能提供次优解。另外,生成对抗网络,例如stargan的出现极大提高了语音转换的水平。然而,该模型虽然能够取得较好的结果,也能实现多对多的语音转换,但却只能转换训练集中出现的说话人的语音。


技术实现要素:

6.本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于伽马通频率倒谱系数的多对一语音转换方法。
7.本发明的目的可以通过以下技术方案来实现:
8.一种基于伽马通频率倒谱系数的多对一语音转换方法,包括以下步骤:
9.s1、提取待转换语音样本的伽马通频率倒谱系数特征(gamatone frequency cepstral coefficients,gfcc),将伽马通频率倒谱系数特征输入至训练好的语音内容提取模型中,得到待转换语音样本的语义后验概率图(phonetic posteriorgrams,ppgs),将语义后验概率图输入至训练好的cbhg模型中,得到待转换语音样本的伽马通倒谱系数(gammatone cepstral coefficients,gcep);
10.s2、将待转换语音样本集的伽马通倒谱系数输入至训练好的神经声码器中,得到转换后的语音;
11.所述语音内容提取模型的训练过程如下:
12.a1、从中文tts语料库中获取第一训练样本集,并对第一训练样本集进行标注;
13.a2、提取第一训练样本集中样本的伽马通频率倒谱系数特征,输入至语音内容提取模型进行训练;
14.所述cbhg模型的训练过程如下:
15.b1、得到训练好的语音内容提取模型后,从目标说话人语料库中获取第二训练集样本,提取第二训练集样本的伽马通频率倒谱系数特征,并输入至语音内容提取模型中,得到第二训练样本集的语义后验概率图。
16.b2、提取第二训练样本集中样本的伽马通倒谱系数,将第二训练样本集的语义后验概率图作为cbhg模型的输入,将第二训练样本集中样本的伽马通倒谱系数作为cbhg模型的目标输出,训练cbhg模型;
17.所述神经声码器的训练过程如下:
18.将第二训练样本集中样本的伽马通倒谱系数作为神经声码器的输入,将第二训练样本集的原始语音作为神经声码器的目标输出,对神经声码器进行训练。
19.进一步地,所述步骤a1中对第一训练样本集的标注方法包括:使用基于机器学习的speech-aligner工具对音素边界进行自动标注。
20.进一步地,所述伽马通频率倒谱系数特征的提取方法包括:
21.c1、对语音信号进行预加重和分帧;
22.c2、对分帧后的信号进行短时傅里叶变换;
23.c3、将经过短时傅里叶变换的信号的幅度谱输入至伽马通滤波器组,得到滤波信号;
24.c4、提取滤波信号的三次方根为伽马通倒谱系数;
25.c5、对伽马通频率倒谱系数进行离散余弦变换,得到伽马通频率倒谱系数特征。
26.进一步地,获取伽马通频率倒谱系数特征后对其进行归一化。
27.进一步地,所述归一化后的伽马通频率倒谱系数特征f
gfcc_norm
的公式如下:
[0028][0029]
其中,f
min
表示伽马通频率倒谱系数特征中的最小值组成的矩阵,f
max
表示伽马通频率倒谱系数特征中最大值组成的矩阵。
[0030]
进一步地,所述神经声码器包括生成器和鉴别器,所述生成器用于生成语音信号,所述鉴别器用于判别生成信号的真实性。
[0031]
进一步地,所述生成器的损失函数l
adv
(g,d)表达式如下:
[0032]
l
adv
(g,d)=e
z~n(0,i)
[(1-d(g(z)))2]
[0033]
其中,z表示输入的白噪声,g表示生成器,d表示鉴别器,e表示期望。
[0034]
进一步地,所述鉴别器的目标函数ld(g,d)表达式如下:
[0035][0036]
其中,z表示输入的白噪声,g表示生成器,d表示鉴别器,e表示期望,x和p
x
分别表示目标语音波形及其对应的分布。
[0037]
进一步地,所述神经声码器所使用的多分辨率短时傅里叶变换损失函数l
aux
(g),表达式如下:
[0038][0039]
其中,λ表示短时傅里叶变换损失的个数,单个短时傅里叶变换损失表达式如下:
[0040][0041][0042][0043]
其中,‖.‖f表示frobenius正则化,‖.‖1表示l1正则化,z表示输入的白噪声,pz表示白噪声波形的分布,g表示生成器,d表示鉴别器,e表示期望,x和p
x
分别表示目标语音波形及其对应的分布,stft表示短时傅里叶变换,n表示帧数,表示生成的语音波形样本。
[0044]
进一步地,所述第一训练样本集和第二训练样本集需要进行预处理,所述预处理包括去噪和调整采样率至16khz。
[0045]
与现有技术相比,本发明具有以下优点:
[0046]
1、本发明主要涉及语音内容提取模型、cbhg模型和神经声码器,均围绕伽马通频率倒谱系数特征进行训练,首先由于这种特征很好地模拟人耳基底膜的频率选择特性,从而使转换语音的清晰度和自然度更好;其次由于引入了神经声码器,因此模型对数据的适应能力有所提高,推理速度也有提升;最后由于中文tts语料库中具有多个说话人的信息,因此通过一次训练可以实现多个人对目标人的语音转换。
[0047]
2、本发明使用基于机器学习的speech-aligner对语音进行音素边界标注,从而大大降低了对训练语料库的要求,提高了模型的适应性。
[0048]
3、本发明对伽马通频率倒谱系数特征进行了归一化处理,便于处理数据,加快模型训练收敛速度。
附图说明
[0049]
图1为本发明的语音转换流程示意图。
[0050]
图2为本发明包括训练模型在内的完整流程示意图。
具体实施方式
[0051]
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0052]
本实施例提供了一种基于伽马通频率倒谱系数的多对一语音转换方法,如图1所示,具体包括以下步骤:
[0053]
步骤s1、提取待转换语音样本的伽马通频率倒谱系数特征,将伽马通频率倒谱系数特征输入至训练好的语音内容提取模型中,得到待转换语音样本的语义后验概率图,将
语义后验概率图输入至训练好的cbhg模型中,得到待转换语音样本的伽马通倒谱系数;
[0054]
步骤s2、将待转换语音样本的伽马通倒谱系数输入至训练好的神经声码器中,得到转换后语音;
[0055]
其中,语音内容提取模型的训练过程可参考图2中第一列的内容,具体如下:
[0056]
步骤a1、从具有多个说话人语料的中文tts语料库中获取第一训练样本集,并对第一训练样本集进行标注,在本实施例中,选用基于机器学习的speech-aligner作为标注工具完成音素标注,并将标注好的音频和标签切分至时长为2s片段以提高数据利用率,音素标注公式如下:
[0057]
f(xi)=pj(ts,te)
[0058]
其中,f(
·
)表示标注函数。pj表示音素表中第j个元素,ts、te分别表示音素的起始时间和终止时间。
[0059]
步骤a2、提取第一训练样本集中样本的伽马通频率倒谱系数特征,输入至语音内容提取模型进行训练,学习率为0.0003,训练迭代次数为1000次,伽马通频率倒谱系数特征的提取步骤如下:
[0060]
步骤c1、对语音信号进行预加重和分帧处理,其中分帧的帧数n根据以下公式计算:
[0061][0062]
其中,t
length
表示语音信号的总长度,t
win
表示帧长,本实施例优选为0.0375s,t
hop
表示帧移,本实施例优选为0.016s。
[0063]
分帧所使用的窗函数w[n]表达式如下:
[0064][0065]
其中,m表示汉宁窗的窗长,本实施例中优选为600采样点。
[0066]
步骤c2、对分帧后的信号进行短时傅里叶变换,分帧后数字信号序列的傅里叶变换结果x(k)为:
[0067][0068]
其中,x(n)表示数字信号序列,l表示傅里叶变换精度,本实施例优选为1024。
[0069]
步骤c3、将经过短时傅里叶变换的信号的幅度谱|x(k)|输入至伽马通滤波器组,得到滤波信号γi(k)*|x(k)|。其中,γi(k)表示伽马通滤波器组的频谱,对应的冲激响应gi(t)表达式如下:
[0070][0071]
其中,a表示滤波器的增益,p表示滤波器阶数,fi表示中心频率,表示相位,erb表示等效矩形带宽。等效矩形带宽的计算表达式如下:
[0072][0073]
步骤c4、取滤波信号的三次方根为伽马通频率倒谱系数f
gcep
(k)。
[0074][0075]
步骤c5、对伽马通频率倒谱系数进行离散余弦变换,得到伽马通频率倒谱系数特征f
gfcc
(n),计算表达式如下:
[0076][0077][0078]
其中,τ表示广义频率,μ表示比例因子,k表示信号的点数。
[0079]
为了便于计算,在本实施例中利用如下公式将伽马通频率倒谱系数进行归一化,计算表达式如下:
[0080][0081]
其中,f
min
表示伽马通频率倒谱系数特征中的最小值组成的矩阵,f
max
表示伽马通频率倒谱系数特征中最大值组成的矩阵。
[0082]
本实施例中,cbhg模型的训练过程可参考图2中第二列和第三列的内容,具体步骤如下:
[0083]
步骤b1、得到训练好的语音内容提取模型后,从目标说话人语料库中获取第二训练样本集,提取第二训练样本集中样本的伽马通频率倒谱系数特征,并输入至语音内容提取模型中,得到第二训练样本集中样本的语义后验概率图。
[0084]
步骤b2、提取第二训练样本集中样本的伽马通倒谱系数,将第二训练样本集中样本的语义后验概率图作为cbhg模型的输入,将第二训练样本的伽马通倒谱系数作为cbhg模型的目标输出,训练cbhg模型,其中学习率为0.0003,帧移0.016s、帧长0.0375s、傅里叶变换精度1024,迭代次数为5000次。
[0085]
本实施例中,神经声码器为parallel wavegan神经声码器。这是一个非自回归声码器,可实现更好的语音转换效果,其训练过程可参考图2中第五列的内容,具体步骤如下:
[0086]
将第二训练样本集中样本的伽马通倒谱系数作为神经声码器的输入,将第二训练样本集中样本的原始语音作为神经声码器的目标输出,对神经声码器进行训练。
[0087]
其中,声码器网络是由生成器(g)鉴别器(d)两个部分组成,生成器用于学习真实的波形分布,并生成信号,鉴别器用于判别生成信号是否为目标人真实样本,生成器的损失函数l
adv
(g,d)表达式如下:
[0088]
l
adv
(g,d)=e
z~n(0,i)
[(1-d(g(z)))2]
[0089]
其中,z表示输入的白噪声,g表示生成器,d表示鉴别器,e表示期望。
[0090]
而鉴别器的目标函数表达式ld(g,d)如下:
[0091][0092]
其中,x和p
x
分别表示目标语音波形及其对应的分布。
[0093]
为了增加parallel wavegan神经声码器的稳定性和对抗训练的效率,还在神经声码器中引入了多分辨率短时傅里叶变换损失函数l
aux
(g),表达式如下:
[0094][0095]
其中,λ表示短时傅里叶变换损失的个数,单个短时傅里叶变换损失表达式如下:
[0096][0097][0098][0099]
其中,‖.‖f表示frobenius正则化,‖.‖1表示l1正则化,stft表示短时傅里叶变换,表示生成的语言波形样本。
[0100]
在本实施例中,所使用到的第一训练集样本和第二训练集样本均需要进行预处理,包括去噪和调整采样率至16khz等。
[0101]
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1