一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

语音处理方法和装置以及声码器和声码器的训练方法与流程

2021-10-09 16:28:00 来源:中国专利 TAG:声码 语音 方法 装置 用于


1.本公开涉及语音处理领域,尤其涉及一种用于语音合成的语音处理方法和语音处理装置以及声码器和声码器的训练方法。


背景技术:

2.声码器在使用深度学习进行语音合成方面有着广泛的应用。现有的语音合成流程一般为对输入的文字进行频域梅尔谱的预测,然后将梅尔谱转换为时域的采样点。通常,采用格里芬算法进行由梅尔谱到采样点的转换,但是这种算法可能导致语音质量较差,而采用深度学习方法转换出的语音质量较高。通常情况下,语音的有效采样率越高,合成出的语音质量就越高,听感就越好。但是高采样率音频的合成通常也伴随着网络参数量增大的问题,使得运行网络的成本增加。


技术实现要素:

3.本公开提供一种用于语音合成的语音处理方法和语音处理装置以及声码器和声码器的训练方法,以至少解决上述提及的问题。
4.根据本公开实施例的第一方面,提供一种语音处理方法,所述语音处理方法可包括以下步骤:对高采样率梅尔谱特征进行下采样来获取低采样率梅尔谱特征;基于低采样率梅尔谱特征利用声码器的第一神经网络来获得低时域信号;通过对低时域信号进行上采样来获得高时域信号;基于高采样率梅尔谱特征和高时域信号利用声码器的第二神经网络来获得与高采样率梅尔谱特征相应的语音信号。
5.可选地,基于低采样率梅尔谱特征利用声码器的第一神经网络来获得低时域信号的步骤可包括:针对低时域信号的每个采样点执行以下操作:基于与低采样率梅尔谱特征相应的幅度谱计算低时域信号的当前采样点的第一估计值;基于低采样率梅尔谱特征经由第一神经网络的第一编码器的运算来获得第一嵌入向量;基于第一嵌入向量、第一估计值和针对第一神经网络的第一解码器在前一时刻的采样点误差经由第一解码器的运算来获得低时域信号的当前采样点。
6.可选地,基于高采样率梅尔谱特征和高时域信号利用声码器的第二神经网络来获得与高采样率梅尔谱特征相应的语音信号的步骤可包括:针对所述语音信号的每个采样点执行以下操作:基于与高采样率梅尔谱特征相应的幅度谱计算所述语音信号的当前采样点的第二估计值;基于高采样率梅尔谱特征经由第二神经网络的第二编码器的运算来获得第二嵌入向量;基于第二嵌入向量、高时域信号的当前采样点、第二估计值、针对高时域信号的前一时刻的采样点误差、针对第二神经网络的第二解码器在前一时刻的采样点误差和第二解码器在前一时刻输出的采样点经由第二解码器的运算来获得所述语音信号的当前采样点。
7.可选地,高采样率梅尔谱特征可以是通过对输入的文字执行梅尔谱预测得到的。
8.根据本公开实施例的第二方面,提供一种声码器的训练方法,所述训练方法可包
括以下步骤:获取样本集,其中,所述样本集包括高采样率时域信号、低采样率时域信号、低频域特征和高频域特征,其中,所述低采样率时域信号是对所述高采样率时域信号进行下采样获得的,低频域特征是所述低采样率时域信号的梅尔谱特征,高频域特征是所述高采样率时域信号的梅尔谱特征;基于低频域特征利用声码器的第一神经网络来获得低时域信号;通过对低时域信号进行上采样来获得高时域信号;基于高频域特征和高时域信号利用声码器的第二神经网络来获得合成信号;利用低时域信号、所述低采样率时域信号、所述合成信号和所述高采样率时域信号来构建损失函数;基于由所述损失函数计算的损失来训练所述声码器的参数。
9.可选地,基于低频域特征利用声码器的第一神经网络来获得低时域信号的步骤可包括:针对低时域信号的每个采样点执行以下操作:基于所述低采样率时域信号的幅度谱计算低时域信号的当前采样点的第一估计值;基于低频域特征经由第一神经网络的第一编码器的运算来获得第一嵌入向量;基于第一嵌入向量、第一估计值和针对第一神经网络的第一解码器在前一时刻的采样点误差经由第一解码器的运算来获得低时域信号的当前采样点。
10.可选地,基于高频域特征和高时域信号利用声码器的第二神经网络来获得合成信号的步骤可包括:针对所述合成信号的每个采样点执行以下操作:基于所述高采样率时域信号的幅度谱计算所述合成信号的当前采样点的第二估计值;基于高频域特征经由第二神经网络的第二编码器的运算来获得第二嵌入向量;基于第二嵌入向量、高时域信号的当前采样点、第二估计值、针对高时域信号的前一时刻的采样点误差、针对第二神经网络的第二解码器在前一时刻的采样点误差和第二解码器在前一时刻输出的采样点经由第二解码器的运算来获得所述合成信号的当前采样点。
11.可选地,利用低时域信号、所述低采样率时域信号、所述合成信号和所述高采样率时域信号来构建损失函数的步骤可包括:利用低时域信号和所述低采样率时域信号来构建第一交叉熵损失函数;利用所述合成信号和所述高采样率时域信号来构建第二交叉熵损失函数;由第一交叉熵损失函数和第二交叉熵损失函数来构成所述损失函数。
12.根据本公开实施例的第三方面,提供一种语音处理装置,所述语音处理装置可包括:获取模块,被配置为对高采样率梅尔谱特征进行下采样来获取低采样率梅尔谱特征;以及处理模块,被配置为:基于低采样率梅尔谱特征利用声码器的第一神经网络来获得低时域信号;通过对低时域信号进行上采样来获得高时域信号;基于高采样率梅尔谱特征和高时域信号利用声码器的第二神经网络来获得与高采样率梅尔谱特征相应的语音信号。
13.可选地,处理模块可被配置为针对低时域信号的每个采样点执行以下操作:基于与低采样率梅尔谱特征相应的幅度谱计算低时域信号的当前采样点的第一估计值;基于低采样率梅尔谱特征经由第一神经网络的第一编码器的运算来获得第一嵌入向量;基于第一嵌入向量、第一估计值和针对第一神经网络的第一解码器在前一时刻的采样点误差经由第一解码器的运算来获得低时域信号的当前采样点。
14.可选地,处理模块被配置为针对所述语音信号的每个采样点执行以下操作:基于与高采样率梅尔谱特征相应的幅度谱计算所述语音信号的当前采样点的第二估计值;基于高采样率梅尔谱特征经由第二神经网络的第二编码器的运算来获得第二嵌入向量;基于第二嵌入向量、高时域信号的当前采样点、第二估计值、针对高时域信号的前一时刻的采样点
误差、针对第二神经网络的第二解码器在前一时刻的采样点误差和第二解码器在前一时刻输出的采样点经由第二解码器的运算来获得所述语音信号的当前采样点。
15.可选地,高采样率梅尔谱特征可以是通过对输入的文字执行梅尔谱预测得到的。
16.根据本公开实施例的第四方面,提供一种声码器的训练装置,所述训练装置可包括:获取模块,被配置为获取样本集,其中,所述样本集包括高采样率时域信号、低采样率时域信号、低频域特征和高频域特征,其中,所述低采样率时域信号是对所述高采样率时域信号进行下采样获得的,低频域特征是所述低采样率时域信号的梅尔谱特征,高频域特征是所述高采样率时域信号的梅尔谱特征;以及训练模块,被配置为:基于低频域特征利用声码器的第一神经网络来获得低时域信号;通过对低时域信号进行上采样来获得高时域信号;基于高频域特征和高时域信号利用声码器的第二神经网络来获得合成信号;利用低时域信号、所述低采样率时域信号、所述合成信号和所述高采样率时域信号来构建损失函数;基于由所述损失函数计算的损失来训练所述声码器的参数。
17.可选地,训练模块可被配置为针对低时域信号的每个采样点执行以下操作:基于所述低采样率时域信号的幅度谱计算低时域信号的当前采样点的第一估计值;基于低频域特征经由第一神经网络的第一编码器的运算来获得第一嵌入向量;基于第一嵌入向量、第一估计值和针对第一神经网络的第一解码器在前一时刻的采样点误差经由第一解码器的运算来获得低时域信号的当前采样点。
18.可选地,训练模块可被配置为:针对所述合成信号的每个采样点执行以下操作:基于所述高采样率时域信号的幅度谱计算所述合成信号的当前采样点的第二估计值;基于高频域特征经由第二神经网络的第二编码器的运算来获得第二嵌入向量;基于第二嵌入向量、高时域信号的当前采样点、第二估计值、针对高时域信号的前一时刻的采样点误差、针对第二神经网络的第二解码器在前一时刻的采样点误差和第二解码器在前一时刻输出的采样点经由第二解码器的运算来获得所述合成信号的当前采样点。
19.可选地,训练模块可被配置为:利用低时域信号和所述低采样率时域信号来构建第一交叉熵损失函数;利用所述合成信号和所述高采样率时域信号来构建第二交叉熵损失函数;由第一交叉熵损失函数和第二交叉熵损失函数来构成所述损失函数。
20.根据本公开实施例的第五方面,提供一种电子设备,所述电子设备可包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如上所述的语音处理方法和训练方法。
21.根据本公开实施例的第六方面,提供一种存储指令的计算机可读存储介质,当所述指令被至少一个处理器运行时,促使所述至少一个处理器执行如上所述的语音处理方法和训练方法。
22.根据本公开实施例的第七方面,提供一种计算机程序产品,所述计算机程序产品中的指令被电子装置中的至少一个处理器运行以执行如上所述的语音处理方法和训练方法。
23.本公开的实施例提供的技术方案至少带来以下有益效果:
24.通过在原始lpcnet的基础上增加一个参数较小的网络来实现本公开的声码器,使得本公开的声码器在合成高采样率语音信号的同时保持较低的运算复杂度。
25.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
26.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
27.图1是现有的lpcnet的示图;
28.图2是根据本公开的实施例的用于训练声码器的流程示意图;
29.图3是根据本公开的实施例的声码器的训练方法的流程图;
30.图4是根据本公开的实施例的声码器的示意图;
31.图5是根据本公开的实施例的用于重采样的流程示意图;
32.图6是根据本公开的实施例的语音处理方法的流程图;
33.图7是根据本公开的实施例的声码器的训练装置的框图;
34.图8是根据本公开的实施例的语音处理装置的框图;
35.图9是根据本公开的实施例的语音处理设备的结构示意图;
36.图10是根据本公开的实施例的电子设备的框图。
37.在整个附图中,应注意,相同的参考标号用于表示相同或相似的元件、特征和结构。
具体实施方式
38.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
39.提供参照附图的以下描述以帮助对由权利要求及其等同物限定的本公开的实施例的全面理解。包括各种特定细节以帮助理解,但这些细节仅被视为是示例性的。因此,本领域的普通技术人员将认识到在不脱离本公开的范围和精神的情况下,可对描述于此的实施例进行各种改变和修改。此外,为了清楚和简洁,省略对公知的功能和结构的描述。
40.以下描述和权利要求中使用的术语和词语不限于书面含义,而仅由发明人用来实现本公开的清楚且一致的理解。因此,本领域的技术人员应清楚,本公开的各种实施例的以下描述仅被提供用于说明目的而不用于限制由权利要求及其等同物限定的本公开的目的。
41.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
42.图1是现有的lpcnet的示图。
43.参照图1,现有的lpcnet采用了编码器和解码器的方式来实现声码器的功能,编码器部分(诸如图1中的101)的输入为语音的一帧频域特征(诸如图1中的features)并且输出为提供给解码器部分(诸如图1中的102)的一个嵌入向量。线性预测系数lpc模块可根据
features计算lpc并预测/计算当前采样点的估计值。解码器部分102接收编码器部分101的输出,并将其与由lpc模块计算出的当前采样点的估计值p
t
、解码器部分102上一时刻输出的采样点s
t
‑1和解码器部分在上一时刻的输出与真实采样点之间的误差e
t
‑1进行串联运算以输出当前时刻的采样点s
t

44.在图1中,编码器部分101包括两个卷积层(诸如conv 1
×
3)和两个全连接层(诸如fc)。编码器部分101可通过对features进行两个卷积运算、求和运算和两个全连接层运算以输出嵌入向量。
45.解码器部分102包括两个门限循环单元(诸如gur
a
和gru
b
)、双全连接层(诸如dual fc)、归一化层(诸如softmax)。解码器部分102可利用编码器的输出、p
t
、s
t
‑1和e
t
‑1进行concat运算、两个门限循环单元运算、双fc运算、softmax运算、采样运算、求和运算,从而输出lpcnet的当前采样点s
t

46.lpcnet输出采样点的方式是自回归的,每运行一次只能输出一个时域上的采样点,如果要输出高采样率级别的语音,则带来的运算量会呈倍数增加。例如,在16k采样率下,lpcnet对每秒语音需要运行16000次解码器,当采样率提升至32k之后,lpcnet需要运行32000次解码器,而解码器中因为包含了两层gru,因此运算量较大。
47.为了解决以上问题,本公开提出了一种基于集联级的深度神经网络算法以合成高采样率音频。根据本公开的实施例,在现有lpcnet(在下文中可被称为网络a)的基础上增加了一个神经网络(在下文中可被为网络b),网络a可用于对低采样率的频域特征进行处理,网络b可用于对高采样率的频域特征进行处理。通过将网络a输出的低采样率信号上采样至伪高采样率信号,将高采样率频域特征和伪高采样率信号并联后作为新增网络b的输入,从而网络b输出高采样率合成信号。这样,在保证合成音频质量的同时,降低了网络复杂度。
48.在下文中,根据本公开的各种实施例,将参照附图对本公开的方法、装置以及系统进行详细描述。
49.图2是根据本公开的实施例的用于训练声码器的流程示意图。根据本公开的实施例,声码器可由网络a和网络b构成。
50.参照图2,在训练声码器前,首先获得样本集。可将高采样率的目标时域信号(即高采样率时域信号)进行下采样以得到低采样率信号(即低采样率时域信号或低频信号),然后将低采样率信号经过短时傅里叶变换stft后通过梅尔滤波器组(mel bank)以得到低采样率的梅尔谱特征(即低频域特征),作为网络a的输入特征。这里网络a可包括第一编码器、第一解码器和lpc模块。lpc模块可用于计算lpc系数以及当前采样点的估计值。第一编码器对梅尔谱特征进行编码运算以得到第一嵌入向量,第一解码器利用第一嵌入向量进行解码运算以获得合成低频信号(即低时域信号或合成低频信号)。对合成低频信号进行上采样以得到合成高频信号(即高时域信号或合成高频信号)作为网络b的输入。这里,高时域信号可被视为伪高频信号。
51.此外,将高采样率的目标时域信号经过短时傅里叶变换stft后通过梅尔滤波器组得到高采样率的梅尔谱特征(即高频域特征),作为网络b的输入。
52.根据本公开的实施例,网络b可包括lpc模块、第二编码器和第二解码器。lpc模块可用于计算lpc系数以及当前采样点的估计值。第二编码器可对高采样率的梅尔谱特征进行编码运算以得到第二嵌入向量。第二解码器利用第二嵌入向量和伪合成高频信号进行解
码运算来获得最终的高频信号。由于网络b有足够的信息来合成出高采样率语音信号,因此可减少所需要的网络参数大小。
53.相比于网络a,根据本公开的实施例的网络b的第二编码器可减少一层卷积层和一个全连接层,并且第二解码器可仅使用一层gru。相比于直接用网络a合成高采样率的语音信号,本公开的声码器网络结构和运算复杂度都得到降低。这是因为网络b相比于网络a有了更多的输入信息,所以合成高采样率信号不再需要复杂的网络结构,能够以较小的参数量合成高采样率信号。下面将参照3来详细描述本公开的声码器的训练过程。
54.图3是根据本公开的实施例的声码器的训练方法的流程图。根据本公开的声码器在合成高采样率的音频方面具有更好的效果。
55.参照图3,在步骤s301,获取训练样本集。用于训练声码器的训练样本集可包括高采样率时域信号、低采样率时域信号、低频域特征和高频域特征,其中,低采样率时域信号是对高采样率时域信号进行下采样获得的,低频域特征是低采样率时域信号的梅尔谱特征,高频域特征是高采样率时域信号的梅尔谱特征。
56.作为示例,可分别对低采样率时域信号和高采样率时域信号进行时频转换以获得低频频域信号和高频频域信号。通过对低频频域信号和高频频域信号的能量谱应用梅尔滤波器来获得低频域特征和高频域特征。
57.例如,将在时域上长度为t的高采样率时域信号x
h
(t)作为训练样本,其中,t表示时间,0<t≤t。首先对信号x
h
(t)进行下采样以得到低采样率时域信号x
l
(t),然后分别对信号x
h
(t)和x
l
(t)进行短时傅里叶变换stft,可利用下面的等式(1)和(2)得到信号x
h
(t)和x
l
(t)的频域信号的幅度谱mag
h
和mag
l

58.mag
h
=abs(stft(x
h
))
ꢀꢀꢀ
(1)
59.mag
l
=abs(stft(x
l
))
ꢀꢀꢀ
(2)
60.在从幅度谱mag
h
和mag
l
取能量谱后通过梅尔mel滤波器组h
m
(k)来获得梅尔谱mel
h
和mel
l
。mel滤波器组h
m
(k)是一组非线性分布的三角滤波器组,中心频率为f(m),m=1,2,...m,m为滤波器个数,其频率响应定义为等式(3):
[0061][0062]
其中,
[0063]
根据下面的等式(4)来计算mel滤波器组h
m
(k)中的每个滤波器输出的对数能量q(m):
[0064][0065]
其中,k表示频点下标,|x(k)|等价于高低频信号x
h
(t)和x
l
(t)的频域信号的幅度谱。因此,通过上述计算可获得网络a和网络b的输入特征mel
h
和nel
l

[0066]
在步骤s302,基于低频域特征利用声码器的第一神经网络来获得低时域信号。这里,第一神经网络可以是上述的网络a。第一神经网络每次运算后输出一个采样点,从而输
出低时域信号。
[0067]
针对低时域信号的每个采样点可执行以下操作:基于低频频域信号的幅度谱计算低时域信号的当前采样点的第一估计值,基于低频域特征经由第一神经网络的第一编码器的运算来获得第一嵌入向量,基于第一嵌入向量、第一估计值和针对第一神经网络的第一解码器在前一时刻的采样点误差经由第一解码器的运算来获得低时域信号的当前采样点。
[0068]
作为示例,将梅尔谱mel
l
输入至网络a的第一编码器中。第一编码器可由两个卷积层和两个全连接层实现,但不限于此。第一编码器可根据等式(5)的运算输出一个固定维度的第一嵌入向量v
a
,以供网络a的第一解码器使用。
[0069]
v
a
=en(mel
l
)
ꢀꢀꢀ
(5)
[0070]
其中,en表示编码器的运算过程。
[0071]
可基于第一嵌入向量利用网络a的第一解码器来获得低时域信号。这里,低时域信号为合成的低采样率时域信号。
[0072]
对于第一解码器,每次的输入为v
a
,p
t
,e
t
‑1,其中,p
t
为根据lpc系数预测出的当前采样点的估计值,e
t
‑1表示第一解码器在上一时刻输出的采样点s
t
‑1与真实采样点之间的差值,s
t
‑1为第一解码器在上一时刻的输出。这里,真实采样点是根据对高采样率时域信号进行下采样获得的低采样率时域信号而得到的。
[0073]
在当前采样点是低时域信号的第一个采样点的情况下,第一解码器在前一时刻的采样点误差可被设置为零。然而,上述示例仅是示例性的,可根据设计需求不同地进行初始化。
[0074]
可根据下面的等式(6)来预测当前采样点的估计值p
t

[0075][0076]
其中,k表示lpc的阶次,a
k
表示相应阶次的lpc系数,该系数可由幅度谱mag
l
预测得到。例如,假设高采样率时域信号的采样率为32k,经过下采样后的信号的采样率为16k,此时,k可取16。也就是说,对于第一解码器,根据下采样之后的信号的幅度谱来计算lpc系数,然后利用lpc系数和第一解码器的先前输出来计算p
t
。对于p
t
的计算,可由网络a中的lpc模块来实现。
[0077]
第一解码器的运算可由下面的等式(7)来描述:
[0078][0079]
其中,为第一解码器输出的合成低采样率时域信号,de
a
表示第一解码器的一次运算过程,第一解码器每次运行输出一个t时刻的合成的低采样率时域信号
[0080]
在步骤s303,通过对低时域信号进行上采样来获得高时域信号。
[0081]
作为示例,可根据下面的等式(8)将低采样率时域信号重采样为高采样率时域信号以将作为第二解码器的额外输入。
[0082][0083]
其中,resample表示重采样运算,l表示当前的低采样率,m表示重采样后的高采样率。这里,可视为伪高采样率信号。这里,重采样的操作可由声码器中的重采样模块实
现,或者重采样模块可包括在网络a中,本公开不限于此。对于重采样的描述将在下面进行详细描述。
[0084]
在步骤s304,基于高频域特征和高时域信号利用声码器的第二神经网络来获得合成信号。这里的合成信号是最终将输出的语音信号。根据本公开的实施例,第二神经网络可由上述的网络b实现。
[0085]
针对最终的合成信号的每个采样点可执行以下操作:基于样本集中的高采样率时域信号的幅度谱计算最终合成信号的当前采样点的第二估计值,基于高频域特征经由第二神经网络的第二编码器的运算来获得第二嵌入向量,基于第二嵌入向量、高时域信号的当前采样点、第二估计值、针对高时域信号的前一时刻的采样点误差、针对第二神经网络的第二解码器在前一时刻的采样点误差和第二解码器在前一时刻输出的采样点经由第二解码器的运算来获得最终合成信号的当前采样点。
[0086]
作为示例,将梅尔谱mel
h
输入至网络b的第二编码器中。根据本公开的第二编码器可由一个卷积层和一个全连接层实现。第二编码器可根据等式(9)的运算输出一个固定维度的嵌入向量v
b
,以供第二解码器使用。
[0087]
v
b
=en(mel
h
)
ꢀꢀꢀ
(9)
[0088]
其中,en表示编码器的运算过程。
[0089]
对于第二解码器,每次的输入为p
t
,sb
t
‑1,和v
b
,其中,p
t
为根据lpc系数预测出的当前采样点的估计值,为高时域信号的上一时刻的采样点与真实采样点之间的差值,为第二解码器在上一时刻输出的采样点sb
t
‑1与真实采样点之间的差值,sb
t
‑1为第二解码器在上一时刻的输出。应注意的是,对于输入到第二解码器中的p
t
,根据样本集中的高采样率时域信号的幅度谱来计算lpc系数,然后利用lpc系数和第二解码器的先前输出来计算p
t
。可类似地使用等式(6)来计算。
[0090]
在当前采样点是最终合成信号的第一个采样点的情况下,高时域信号的前一时刻的采样点误差可被设置为零,第二解码器在前一时刻的采样点误差可被设置为零,第二解码器在前一时刻输出的采样点可被设置为第二估计值。然而,上述示例仅是示例性的,本公开可根据设计需求不同地进行初始化。
[0091]
第二解码器的运算可由下面的等式(10)来描述:
[0092][0093]
其中,sb
t
为第二解码器输出的合成高采样率时域信号,de
b
表示第二解码器的一次运算过程,第二解码器每次运行输出一个t时刻的高采样率时域信号sb
t

[0094]
在步骤s305,利用低时域信号、样本集中的低采样率时域信号、合成信号和样本集中的高采样率时域信号来构建损失函数。可利用低时域信号和经下采样后的低采样率时域信号来构建第一交叉熵损失函数,可利用最终合成信号和高采样率时域信号来构建第二交叉熵损失函数,由第一交叉熵损失函数和第二交叉熵损失函数来构成所述损失函数。
[0095]
作为示例,利用第一解码器的输出和对高采样率时域信号进行下采样后的信号(即低采样率时域信号)来构建第一损失函数,利用第二解码器的输出和高采样率时域信号来构建第二损失函数。例如,可根据下面的等式(11)来构建损失函数:
[0096][0097]
其中,crossentropy为交叉熵损失函数,为第一解码器每时刻的输出,sb
t
为第二解码器每时刻的输出,为每时刻的低采样率真实信号(对样本高频训练信号下采样之后的信号),为每时刻的高采样率真实信号(样本高频训练信号)。
[0098]
在步骤s306,基于由损失函数计算的损失来训练声码器的参数。例如,通过使由第一损失函数和第二损失函数所计算出的损失最小化来训练声码器的参数,即训练声码器中的第一编码器、第二编码器、第一解码器和第二解码器中的网络参数。
[0099]
下面对采样率和重采样做如下解释。
[0100]
采样率是指在一定时间周期内使用多少个采样点来描述一个信号,采样率转换的基本思想是抽取和内插,从信号角度看音频重采样就是滤波。滤波函数的窗口大小以及插值函数一旦被确定,其重采样的性能即可确定。抽取可能引起频谱混叠,而内插会产生镜频分量。通常在抽取前先加抗混叠滤波器,在内插后加抗镜频滤波器,如图5所示,h(n)表示抗混叠滤波器,g(n)表示抗镜频滤波器。
[0101]
假设音频信号的原始采样率是l,新的采样率是m,原始信号长度是n,则新采样率的信号长度k满足如下关系(12):
[0102][0103]
对每个离散时间值:k(1≤k≤k),则实际值n
k
的值由等式(13)表示:
[0104][0105]
n
k
为在原始采样间隔的情况下,要进行插值或抽取的位置。
[0106]
在理想情况下,滤波器的频率响应h
d
(n)的频率响应如等式(14)所示:
[0107][0108]
其中,d为抽取或者插值的倍数,即d=l/m
[0109]
经过滤波器输出后的信号可由等式(15)表示:
[0110][0111]
根据本公开的实施例,可在现有的lpcnet基础上增加一个参数较小的网络b,使得新的声码器在合成高采样率的语音信号的同时保持较低的运算复杂度。
[0112]
图4是根据本公开的实施例的声码器的示意图。在图4中,主要针对声码器中的网络b进行展示和描述。
[0113]
参照图4,根据本公开的声码器可包括网络a(诸如图4中的lpcnet a)和网络b(诸如图4中除了lpcnet a之外的部分)。网络b的结构与网络a的结构类似,但是网络b使用更少的参数形成。本公开通过在现有的lpcnet(即图4中的lpcnet a)的基础上添加一个网络b,使得本公开的声码器在合成高采样率的语音信号的同时保持较低的运算复杂度。
[0114]
网络a用于对低频梅尔谱特征进行处理以获得合成低频信号,通过对合成低频信号进行上采样来获得伪合成高频信号。这里,对于伪合成高频信号,可由网络a获得,或者可
由其他模块获得。
[0115]
网络b用于对高频梅尔谱特征(诸如图4中的features)进行处理以获得合成高频信号。
[0116]
网络b可包括lpc模块(用于计算lpc和采样点的估计值)、第二编码器401和第二解码器402以及其他模块(诸如上采样模块)。相比于网络a,编码器部分401减少了一层卷积层和一层全连接层,解码器部分402仅用了一层gru,在解码器的输入部分,额外增加了和因此,网络b的结构较简单,参数量较小。
[0117]
对于已经训练好的声码器,网络a中的解码器在上一时刻的采样点误差和网络b中的解码器在上一时刻的采样点误差可被设置为零。
[0118]
图4所示的网络b仅是示例性的,本公开不限于此。
[0119]
本公开在原有lpcnet a的基础上增加了一个网络b,利用低频域特征和原有lpcnet a来合成低采样率信号,并将lpcnet a的解码器输出上采样至伪高采样率信号,将高频频域特征与伪高采样率信号并联后作为新增网络b的输入,解码器网络b输出高采样率合成信号。
[0120]
图6是根据本公开的实施例的语音处理方法的流程图。从文本到语音tts转换主要分为对输入的文字进行频域梅尔谱的预测以及将梅尔谱转换为时域的采样点两部分,声码器主要用于将梅尔谱转换为时域的采样点。图6所示的语音处理方法主要应用于将由文本转换的频域特征转换为语音信号。
[0121]
参照图6,在步骤s601,获取由文本预测的低频域特征和高频域特征,其中,低频域特征是与文本相应的低采样率梅尔谱特征,高频域特征是与文本相应的高采样率梅尔谱特征。这里,可针对同一文本获得低采样率梅尔谱特征和高采样率梅尔谱特征。例如,通过对输入的文字执行梅尔谱预测来获得高采样率梅尔谱特征,然后对高采样率梅尔谱特征进行下采样得到低采样率梅尔谱特征。
[0122]
在步骤s602,基于低频域特征利用声码器的第一神经网络来获得低时域信号。针对低时域信号的每个采样点执行以下操作:基于与低采样率梅尔谱特征相应的幅度谱计算低时域信号的当前采样点的第一估计值,基于低频域特征经由第一神经网络的第一编码器的运算来获得第一嵌入向量,基于第一嵌入向量、第一估计值和针对第一神经网络的第一解码器在前一时刻的采样点误差经由第一解码器的运算来获得低时域信号的当前采样点。在语音处理中,采样点误差可被设置为零。例如,可使用上面的等式(6)来计算第一估计值,并且使用等式(7)来获得低时域信号的当前采样点。
[0123]
在步骤s603,通过对低时域信号进行上采样来获得高时域信号。可利用上面的等式(8)来执行重采样。
[0124]
在步骤s604,基于高频域特征和高时域信号利用声码器的第二神经网络来获得与输入文本相应的合成信号。
[0125]
针对最终的合成信号的每个采样点执行以下操作:基于与高采样率梅尔谱特征相应的幅度谱计算合成信号的当前采样点的第二估计值,基于高频域特征经由第二神经网络的第二编码器的运算来获得第二嵌入向量,基于第二嵌入向量、高时域信号的当前采样点、第二估计值、针对高时域信号的前一时刻的采样点误差、针对第二神经网络的第二解码器
在前一时刻的采样点误差和第二解码器在前一时刻输出的采样点经由第二解码器的运算来获得合成信号的当前采样点。这里,在语音处理中,采样点误差可被设置为零。
[0126]
在当前采样点是合成信号的第一个采样点的情况下,第二解码器在前一时刻输出的采样点可被设置为第二估计值。例如,可利用等式(6)来计算第二估计值,并且利用等式(10)来获得最终的语音信号。
[0127]
图7是根据本公开的实施例的声码器的训练装置的框图。
[0128]
参照图7,训练装置700可包括获取模块701和训练模块702。训练装置700中的每个模块可由一个或多个模块来实现,并且对应模块的名称可根据模块的类型而变化。在各种实施例中,可省略训练装置700中的一些模块,或者还可包括另外的模块。此外,根据本公开的各种实施例的模块/元件可被组合以形成单个实体,并且因此可等效地执行相应模块/元件在组合之前的功能。
[0129]
获取模块701可获取样本集,其中,样本集包括高采样率时域信号、低采样率时域信号、低频域特征和高频域特征,其中,低采样率时域信号是对高采样率时域信号进行下采样获得的,低频域特征是低采样率时域信号的梅尔谱特征,高频域特征是高采样率时域信号的梅尔谱特征。这里,获取模块701可直接从外部获取样本集。或者,获取模块701可从外部获取高采样率时域信号,然后对高采样率时域信号进行下采样以得到低采样率时域信号,并且对高采样率时域信号和低采样率时域信号分别进行时频变换以及滤波处理(诸如通过梅尔滤波器组),从而获得低频域特征和高频域特征。
[0130]
训练模块702可基于低频域特征利用声码器的第一神经网络来获得低时域信号,并且通过对低时域信号进行上采样来获得高时域信号,基于高频域特征和高时域信号利用声码器的第二神经网络来获得合成信号,利用低时域信号、低采样率时域信号、合成信号和高采样率时域信号来构建损失函数,通过使由损失函数计算的损失最小化来训练声码器的网络参数。
[0131]
可选地,训练模块702可针对低时域信号的每个采样点执行以下操作:基于低采样率时域信号的幅度谱计算低时域信号的当前采样点的第一估计值;基于低频域特征经由第一神经网络的第一编码器的运算来获得第一嵌入向量;基于第一嵌入向量、第一估计值和针对第一神经网络的第一解码器在前一时刻的采样点误差经由第一解码器的运算来获得低时域信号的当前采样点。
[0132]
可选地,训练模块702可针对最终合成信号的每个采样点执行以下操作:基于高采样率时域信号的幅度谱计算合成信号的当前采样点的第二估计值;基于高频域特征经由第二神经网络的第二编码器的运算来获得第二嵌入向量;基于第二嵌入向量、高时域信号的当前采样点、第二估计值、针对高时域信号的前一时刻的采样点误差、针对第二神经网络的第二解码器在前一时刻的采样点误差和第二解码器在前一时刻输出的采样点经由第二解码器的运算来获得合成信号的当前采样点。
[0133]
可选地,训练模块702可利用低时域信号和低采样率时域信号来构建第一交叉熵损失函数;利用合成信号和高采样率时域信号来构建第二交叉熵损失函数;由第一交叉熵损失函数和第二交叉熵损失函数来构成损失函数。
[0134]
图8是根据本公开的实施例的语音处理装置的框图。
[0135]
参照图8,语音处理装置800可包括获取模块801和处理模块802。语音合成装置800
中的每个模块可由一个或多个模块来实现,并且对应模块的名称可根据模块的类型而变化。在各种实施例中,可省略语音处理装置800中的一些模块,或者还可包括另外的模块。此外,根据本公开的各种实施例的模块/元件可被组合以形成单个实体,并且因此可等效地执行相应模块/元件在组合之前的功能。
[0136]
获取模块801可获取由文本预测的低频域特征和高频域特征,其中,低频域特征是与文本相应的低采样率梅尔谱特征,高频域特征是与文本相应的高采样率梅尔谱特征。对于获取模块801获取的梅尔谱特征可从外部获得。
[0137]
处理模块802可基于低频域特征利用声码器的第一神经网络来获得低时域信号,通过对低时域信号进行上采样来获得高时域信号,基于高频域特征和高时域信号利用声码器的第二神经网络来获得与文本相应的合成信号。
[0138]
可选地,处理模块802可针对低时域信号的每个采样点执行以下操作:基于与低采样率梅尔谱特征相应的幅度谱计算低时域信号的当前采样点的第一估计值,基于低频域特征经由第一神经网络的第一编码器的运算来获得第一嵌入向量,基于第一嵌入向量、第一估计值和针对第一神经网络的第一解码器在前一时刻的采样点误差经由第一解码器的运算来获得低时域信号的当前采样点。这里,在声码器的训练阶段使用了第一解码器的采样点误差,因此,在语音处理中,可将采样点误差设置为零,本公开不限于此。
[0139]
可选地,处理模块802可针对最终的合成信号的每个采样点执行以下操作:基于与高采样率梅尔谱特征相应的幅度谱计算合成信号的当前采样点的第二估计值,基于高频域特征经由第二神经网络的第二编码器的运算来获得第二嵌入向量,基于第二嵌入向量、高时域信号的当前采样点、第二估计值、针对高时域信号的前一时刻的采样点误差、针对第二神经网络的第二解码器在前一时刻的采样点误差和第二解码器在前一时刻输出的采样点经由第二解码器的运算来获得合成信号的当前采样点。这里,采样点误差可被设置为零,本公开不限于此。
[0140]
图9是本公开实施例的硬件运行环境的语音处理设备的结构示意图。
[0141]
如图9所示,语音处理设备900可包括:处理组件901、通信总线902、网络接口903、输入输出接口904、存储器905以及电源组件904。其中,通信总线902用于实现这些组件之间的连接通信。输入输出接口904可以包括视频显示器(诸如,液晶显示器)、麦克风和扬声器以及用户交互接口(诸如,键盘、鼠标、触摸输入装置等),可选地,输入输出接口904还可包括标准的有线接口、无线接口。网络接口903可选的可包括标准的有线接口、无线接口(如无线保真接口)。存储器905可以是高速的随机存取存储器,也可以是稳定的非易失性存储器。存储器905可选的还可以是独立于前述处理组件901的存储装置。
[0142]
本领域技术人员可以理解,图9中示出的结构并不构成对语音处理设备900的限定,可包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0143]
如图9所示,作为一种存储介质的存储器905中可包括操作系统(诸如mac操作系统)、数据存储模块、网络通信模块、用户接口模块、语音处理程序、模型训练程序以及数据库。
[0144]
在图9所示的语音处理设备900中,网络接口903主要用于与外部电子设备/终端进行数据通信;输入输出接口904主要用于与用户进行数据交互;语音处理设备900中的处理组件901、存储器905可被设置在语音处理设备900中,语音处理设备900通过处理组件901调
用存储器905中存储的视频编辑程序、素材以及由操作系统提供的各种api,执行本公开实施例提供的视频编辑方法。
[0145]
处理组件901可以包括至少一个处理器,存储器905中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器执行时,执行根据本公开实施例的语音处理方法或声码器训练方法。此外,处理组件901可执行编码操作和解码操作等。然而,上述示例仅是示例性的,本公开不限于此。
[0146]
处理组件901可用于训练本公开的声码器。例如,处理组件901可从外部获取样本集,其中,所述样本集包括高采样率时域信号、低采样率时域信号、低频域特征和高频域特征,其中,低采样率时域信号是对高采样率时域信号进行下采样获得的,低频域特征是低采样率时域信号的梅尔谱特征,高频域特征是高采样率时域信号的梅尔谱特征,基于低频域特征利用声码器的第一神经网络来获得低时域信号,通过对低时域信号进行上采样来获得高时域信号,基于高频域特征和高时域信号利用声码器的第二神经网络来获得合成信号,利用低时域信号、低采样率时域信号、合成信号和高采样率时域信号来构建损失函数,通过使由损失函数计算的损失最小化来训练声码器的参数。
[0147]
作为另一示例,处理组件901可作为本公开的声码器来实现将文字转换为语音信号。例如,处理组件901可从外部获取由文本预测出的低频域特征和高频域特征,其中,低频域特征是与文本相应的低采样率梅尔谱特征,高频域特征是与文本相应的高采样率梅尔谱特征,基于低频域特征利用声码器的第一神经网络来获得低时域信号,通过对低时域信号进行上采样来获得高时域信号,基于高频域特征和高时域信号利用声码器的第二神经网络来获得与文本相应的合成信号。对于第一神经网络和第二神经网络还可采用除lpcnet之外的其他深度神经网络实现。
[0148]
处理组件901可通过执行程序来实现对语音处理设备900所包括的组件的控制。输入输出接口904可输出最终合成的语音信号。
[0149]
语音处理设备900可经由输入输出接口904接收或输出视频和/或音频。例如,语音处理设备900可经由输入输出接口904输出合成的语音信号。
[0150]
作为示例,语音处理设备900可以是pc计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,语音处理设备900并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。语音处理设备900还可以是集成控制系统或系统管理器的一部分,或者可以被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
[0151]
在语音处理设备900中,处理组件901可包括中央处理器(cpu)、图形处理器(gpu)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理组件901还可以包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
[0152]
处理组件901可运行存储在存储器中的指令或代码,其中,存储器905还可以存储数据。指令和数据还可以经由网络接口903而通过网络被发送和接收,其中,网络接口903可以采用任何已知的传输协议。
[0153]
存储器905可以与处理组件901集成为一体,例如,将ram或闪存布置在集成电路微处理器等之内。此外,存储器905可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可以使用的其他存储装置。存储器和处理组件901可以在操作上进行耦合,或者可
以例如通过i/o端口、网络连接等互相通信,使得处理组件901能够读取存储在存储器905中的数据。
[0154]
根据本公开的实施例,可提供一种电子设备。图10是根据本公开实施例的电子设备的框图,该电子设备1000可包括至少一个存储器1002和至少一个处理器1001,所述至少一个存储器1002存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器1001执行时,执行根据本公开实施例的语音处理方法或者声码器训练方法。
[0155]
处理器1001可包括中央处理器(cpu)、图形处理器(gpu)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器1001还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
[0156]
作为一种存储介质的存储器1002可包括操作系统(例如,mac操作系统)、数据存储模块、网络通信模块、用户接口模块、语音处理程序、模型训练程序以及数据库。
[0157]
存储器1002可与处理器1001集成为一体,例如,可将ram或闪存布置在集成电路微处理器等之内。此外,存储器1002可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器1002和处理器1001可在操作上进行耦合,或者可例如通过i/o端口、网络连接等互相通信,使得处理器1001能够读取存储在存储器1002中的文件。
[0158]
此外,电子设备1000还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备1000的所有组件可经由总线和/或网络而彼此连接。
[0159]
本领域技术人员可理解,图10中示出的结构并不构成对的限定,可包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0160]
根据本公开的实施例,还可提供一种存储指令的计算机可读存储介质,其中,当指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的语音处理方法或者模型训练方法。这里的计算机可读存储介质的示例包括:只读存储器(rom)、随机存取可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、非易失性存储器、cd

rom、cd

r、cd r、cd

rw、cd rw、dvd

rom、dvd

r、dvd r、dvd

rw、dvd rw、dvd

ram、bd

rom、bd

r、bd

r lth、bd

re、蓝光或光盘存储器、硬盘驱动器(hdd)、固态硬盘(ssd)、卡式存储器(诸如,多媒体卡、安全数字(sd)卡或极速数字(xd)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
[0161]
根据本公开的实施例中,还可提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成上述语音处理方法或模型训练方法。
[0162]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0163]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜