首页 > 乐器声学 专利正文
语音合成方法、声码器的训练方法、装置、设备及介质与流程

时间:2022-02-18 阅读: 作者:专利查询

语音合成方法、声码器的训练方法、装置、设备及介质与流程

1.本技术实施例涉及人工智能领域,特别涉及一种语音合成方法、声码器的训练方法、装置、设备及介质。


背景技术:

2.语音合成过程中,前端负责从文本中预测语音的声学特征,由后端利用声码器(vocoder)基于声学特征进行语音合成。
3.线性预测编码网络(linear predictive coding net,lpcnet)作为一种将数字信号处理和神经网络结合的声码器,在实时语音合成上具有良好表现。相关技术中,利用基于lpcnet的声码器进行语音合成时,声码器每次对单个采样点进行预测,从而根据预测出的连续采样点进行语音合成。
4.虽然每次对单个采样点进行预测能够提高语音合成的稳定性和准确性,但是会影响语音合成速度,导致语音合成速度较慢,在采样率较高的语音合成场景下尤为明显。


技术实现要素:

5.本技术实施例提供了一种语音合成方法、声码器的训练方法、装置、设备及介质,能够在保证语音合成稳定性和准确性的情况下,提高语音合成速度。
6.所述技术方案如下:
7.一方面,本技术实施例提供了一种语音合成方法,所述方法包括:
8.对目标语音帧的声学特征进行特征编码,得到编码向量;
9.基于所述编码向量以及s组历史预测数据进行时序特征提取,得到时序特征向量,所述历史预测数据包括历史线性预测结果、历史采样点预测结果以及历史预测残差,s为大于等于2的整数;
10.基于所述编码向量以及所述时序特征向量进行采样点预测,得到所述目标语音帧中s个采样点的采样点预测结果;
11.基于所述s个采样点的采样点预测结果进行语音合成。
12.另一方面,本技术实施例提供了一种声码器的训练方法,所述方法包括:
13.通过声码器对样本语音帧的声学特征进行特征编码,得到样本编码向量;
14.通过所述声码器对所述样本编码向量以及s组样本历史预测数据进行时序特征提取,得到样本时序特征向量,所述样本历史预测数据包括样本历史线性预测结果、样本历史采样点预测结果以及样本历史预测残差,s为大于等于2的整数;
15.通过所述声码器,基于所述样本编码向量以及所述样本时序特征向量进行残差预测,得到所述样本语音帧中s个样本采样点的样本预测残差;
16.基于所述s个样本采样点的样本预测残差以及样本残差真值,训练所述声码器。
17.另一方面,本技术实施例提供了一种语音合成装置,所述装置包括:
18.第一编码模块,用于对目标语音帧的声学特征进行特征编码,得到编码向量;
19.第一提取模块,用于基于所述编码向量以及s组历史预测数据进行时序特征提取,得到时序特征向量,所述历史预测数据包括历史线性预测结果、历史采样点预测结果以及历史预测残差,s为大于等于2的整数;
20.第一预测模块,用于基于所述编码向量以及所述时序特征向量进行采样点预测,得到所述目标语音帧中s个采样点的采样点预测结果;
21.合成模块,用于基于所述s个采样点的采样点预测结果进行语音合成。
22.另一方面,本技术实施例提供了一种声码器的训练装置,所述装置包括:
23.第二编码模块,用于通过声码器对样本语音帧的声学特征进行特征编码,得到样本编码向量;
24.第二提取模块,用于通过所述声码器对所述样本编码向量以及s组样本历史预测数据进行时序特征提取,得到样本时序特征向量,所述样本历史预测数据包括样本历史线性预测结果、样本历史采样点预测结果以及样本历史预测残差,s为大于等于2的整数;
25.第二预测模块,用于通过所述声码器,基于所述样本编码向量以及所述样本时序特征向量进行残差预测,得到所述样本语音帧中s个样本采样点的样本预测残差;
26.训练模块,用于基于所述s个样本采样点的样本预测残差以及样本残差真值,训练所述声码器。
27.另一方面,本技术实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上述方面所述的语音合成方法,或,实现如上述方面所述的声码器的训练方法。
28.另一方面,本技术实施例提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上述方面所述的语音合成方法,或,实现如上述方面所述的声码器的训练方法。
29.另一方面,本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的所述的语音合成方法,或,实现如上述方面所述的声码器的训练方法。
30.本技术实施例中,对目标语音帧的声学特征进行特征编码得到编码向量后,通过对编码向量以及多组历史预测数据进行时序特征提取,得到时序特征向量,使得后续能够进一步基于编码向量以及时序特征向量进行连续多采样点预测,得到多个连续采样点的采样点预测结果,提高了采样点的预测速度,进而提高了基于采样点预测结果进行语音合成的速度;并且,通过在连续采样点预测过程中显式引入编码向量,避免因连续预测数量增加导致预测准确性降低问题,在提高采样点预测速度的同时,保证预测过程的稳定性和准确性,进而保证语音合成质量。
附图说明
31.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他
的附图。
32.图1是本技术一个示例性实施例示出的语音合成过程的原理示意图;
33.图2示出了本技术一个示例性实施例提供的实施环境的示意图;
34.图3示出了本技术一个示例性实施例提供的语音合成方法的流程图;
35.图4示出了本技术另一个示例性实施例提供的语音合成方法的流程图;
36.图5是本技术一个示例性实施例示出的语音合成流程的实施示意图;
37.图6是本技术一个示例性实施例示出的频谱划分方式的示意图;
38.图7示出了本技术一个示例性实施例提供的声码器的训练方法的流程图;
39.图8示出了本技术另一个示例性实施例提供的声码器的训练方法的流程图;
40.图9是本技术一个示例性实施例示出的声码器训练流程的实施示意图;
41.图10示出了本技术一个示例性实施例提供的语音合成装置的结构框图;
42.图11示出了本技术一个示例性实施例提供的声码器的训练装置的结构框图;
43.图12示出了本技术一个示例性实施例提供的计算机设备的结构示意图。
具体实施方式
44.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
45.为了方便理解,下面对本技术实施例中涉及的名词进行说明。
46.线性预测(linear predictive):利用声码器对采样点的采样值进行预测时,将采样值分解为线性部分和非线性部分,其中,线性部分通过基于数字信号处理的线性预测得到,非线性部分则由神经网络预测得到,以此降低采样点的预测难度。在一些实施例中,采样点t的线性预测结果表示为p
t
,采样点t的非线性预测结果(或被称为预测残差、激励)表示为e
t
,采样点t的采样点预测结果表示为s
t
=p
t
+e
t

47.对于采用lpcnet结构的声码器,由于声学特征的提取以帧(比如10ms)为单位进行,而语音合成以采样点(比如采样率为16khz)为单位进行,因此声码器可以被分解为:帧率网络(frame rate network,frn)、采样率网络(sample rate network,srn)以及lpc模块。其中,lpc模块用于基于声学特征计算lpc参数(帧内保持不变),以便基于lpc参数确定出采样点的线性预测结果p
t
;帧率网络用于对声学特征进行编码,并将编码得到的编码向量作为采样率网络的输入;采样率网络用于对采样点进行残差预测,以便基于采样点的预测残差e
t
以及线性预测结果p
t
得到采样点的采样点预测结果s
t

48.embedding(嵌入):深度学习中将高维原始数据映射到低维空间,从而得到低维特征向量的过程被称为嵌入。
49.损失函数(loss function):又被称为代价函数(cost function),是一种用于评价神经网络模型的预测值与真实值之间差异程度的函数,损失函数的函数值越小,表明神经网络模型的性能越好,模型的训练过程即通过调整模型参数,最小化损失函数值的过程。对于不同的神经网络模型,所采用的损失函数也不同,常见的损失函数包括0

1损失函数、绝对值损失函数、对数损失函数、指数损失函数、感知损失函数、交叉熵损失函数、kl散度((kullback

leibler divergence))损失函数、三元组损失(triplet loss)函数等等。
50.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控
制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
51.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
52.语音技术(speech technology)的关键技术有自动语音识别技术(automatic speech recognition,asr)、语音合成技术(text to speech,tts)以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。本技术实施例提供的语音合成方法即为上述语音合成技术的具体应用。
53.如图1所示,本技术实时提供的语音合成方法中,对目标语音帧11(可以基于文本信息预测得到)进行特征提取得到声学特征12后,通过声码器对声学特征12进行特征编码,得到编码向量13,并基于编码向量13、s个历史线性预测结果14、s个历史采样点预测结果15以及s个历史预测残差16进行时序特征提取,得到时序特征向量17。
54.声码器基于时序特征向量17同时预测多个采样点时,为了避免因连续预测数量增加导致预测准确性降低问题,将编码向量13显式引入采样点预测过程,从而基于编码向量13和时序特征向量17进行s次预测,得到s个采样点点的采样点预测结果18,在提高采样点预测速度的同时,保证预测过程的稳定性和准确性,进而保证语音合成质量。
55.此外,本技术实施例还提供了一种声码器的训练方法,该声码器的训练方法用于训练上述能够同时进行多采样点预测的声码器,以提高后续利用该声码器进行语音合成的速度。
56.本技术实施例提供的语音合成方法,可以应用于具有文字换语音需求的场景,比如文本朗读场景、旁白配音场景、语音播报场景、语音客服场景等等。其中,文本朗读场景下,本技术实施例提供的语音合成方法可以应用于阅读类应用程序中。用户在阅读过程中,可以选择需要进行朗读的段落、章节或书籍,由应用程序基于选中内容的文本进行语音合成,并播放合成后的语音,在无需人为预先录制的情况下实现文本阅读。
57.旁白配音场景下,本技术实施例提供的语音合成方法可以应用于视频编辑应用程序中。用户在进行视频编辑过程中,可以输入旁白字幕,并设置每一句旁白字幕的显示时段。当接收到旁白语音自动生成指令时,应用程序基于将输入的旁白字幕转换为旁白语音,并在旁白字幕的显示时段内播放该旁白语音,实现视频编辑过程中的旁白自动配音,提高视频编辑的效率。
58.语音播放场景下,本技术实施例提供的语音合成方法可以应用于导航类应用程序中。导航类应用程序运行过程中,可以将文字导航信息转换为语音导航提示,并在行进至特定路点时,播放语音导航提示。
59.语音客服场景下,本技术实施例提供的语音合成方法可以应用于提供客服功能的服务器。服务器接收到前端发送的问题(可以是文字形式,也可以是语音形式)后,基于该问
coefficients,bfcc)特征或梅尔频率倒谱系数(mel

frequency cepstral coefficients,mfcc)特征,本实施例对此不作限定。
72.本实施例中,计算机设备通过声码器对声学特征进行编码,得到编码向量,且该编码向量在帧内保持不变。
73.在一种可能的实施方式中,该声码器基于采用lpcnet结构,由frn、srn以及lpc模块构成,获取的目标语音帧的声学特征后,声码器即通过frn对声学特征进行特征编码,得到编码向量。
74.步骤302,基于编码向量以及s组历史预测数据进行时序特征提取,得到时序特征向量,历史预测数据包括历史线性预测结果、历史采样点预测结果以及历史预测残差,s为大于等于2的整数。
75.为了实现对多个采样点进行同步预测,计算机设备需要从最近s次预测得到的历史预测数据与编码向量中,提取前s个连续采样点的时序特征,以便后续基于该时序特征对后s个采样点进行同步预测。
76.在一种可能的实施方式中,计算机设备通过声码器中的srn,对编码向量以及s组历史预测数据进行时序特征提取,得到时序特征向量。
77.在一些实施例中,当采用lpcnet结构的声码器进行时序特征提取时,输入的历史预测数据包括lpc模块历史输出的线性预测结果、srn历史预测得到的预测残差,以及基于同一采样点对应线性预测结果以及预测残差确定的采样点预测结果。
78.在一个示意性的例子中,s组历史预测数据包括:第t

s+1采样点至第t采样点对应的s个线性预测结果、第t

s采样点至第t

1采样点对应的s个采样点预测结果、第t

s采样点至第t

1采样点对应的s个预测残差。
79.步骤303,基于编码向量以及时序特征向量进行采样点预测,得到目标语音帧中s个采样点的采样点预测结果。
80.进一步的,计算机设备基于s个历史连续采样点的时序特征,对后续s个连续采样点进行预测,得到采样点预测结果。由于采样点预测过程中时序特征提取的时间开销占比较大,因此在采样点预测过程中共享提取到的时序特征信息,能够提高采样点的预测速度,降低预测过程中的运算开销。
81.结合上述步骤中的示例,计算机设备依次预测得到第t采样点至第t+s

1采样点对应的s个采样点预测结果。
82.在一种可能的实施方式中,计算机设备通过声码器中的srn,基于编码向量以及时序特征向量进行采样点预测,得到目标语音帧中s个采样点的采样点预测结果。
83.在应用中发现,若仅基于时序特征向量进行采样点预测,随着同时预测的采样点个数的增加,靠后采样点的预测准确度会逐渐下降,导致只能同时对少量采样点进行同时预测(即s设置较小),对预测速度的提升有限。为了在保证预测准确度的情况下,进一步提升预测速度,本实施例中,计算机设备将对声学特征进行特征编码得到的编码向量显式引入采样点预测过程,由声码器基于编码向量以及时序特征向量进行采样点预测,使声码器的srn能够同时学习到时序以及编码特征,从而在同步预测多个采样点时,保证靠后采样点的预测准确性。
84.此外,在进行采样点预测的过程中,前一个采样点的采样点预测结果将作为后一
个采样点的预测依据。
85.步骤304,基于s个采样点的采样点预测结果进行语音合成。
86.可选的,完成s个采样点的采样点预测后,计算机设备重复执行上述步骤,从而预测得到目标语音帧中各个采样点对应的采样点预测结果,进而基于各个采样点的采样点预测结果合成目标语音帧。
87.在一个示意性的例子中,当目标语音帧的帧长为10ms,且采样率为16khz时,计算机设备通过上述步骤预测得到160个采样点的采样点预测结果,从而基于160个采样点预测结果合成目标语音帧。
88.综上所述,本技术实施例中,对目标语音帧的声学特征进行特征编码得到编码向量后,通过对编码向量以及多组历史预测数据进行时序特征提取,得到时序特征向量,使得后续能够进一步基于编码向量以及时序特征向量进行连续多采样点预测,得到多个连续采样点的采样点预测结果,提高了采样点的预测速度,进而提高了基于采样点预测结果进行语音合成的速度;并且,通过在连续采样点预测过程中显式引入编码向量,避免因连续预测数量增加导致预测准确性降低问题,在提高采样点预测速度的同时,保证预测过程的稳定性和准确性,进而保证语音合成质量。
89.在一种可能的实施方式中,计算机设备进行采样点预测时,首先预测得到采样点的预测残差,然后基于该采样点之前历史采样点的历史采样点预测结果,对该采样点进行线性预测,得到线性预测结果,从而基于线性预测结果和预测残差确定出该采样点预测结果,下面采用示例性的实施例进行说明。
90.请参考图4,其示出了本技术另一个示例性实施例提供的语音合成方法的流程图。
91.步骤401,对目标语音帧的声学特征进行特征编码,得到编码向量。
92.在一种可能的实施方式中,计算机设备通过声码器的帧率网络对声学特征进行特征编码,得到编码向量。
93.示意性的,如图5所示,采用lpcnet结构的声码器包括帧率网络52,该帧率网络52由两层1
×
3的一维卷积层(conv 1
×
3)(感受野为5帧)以及两层全连接层(fully connected,fc)构成。声码器通过帧率网络52对声学特征51进行特征编码,得到编码向量f。
94.步骤402,基于编码向量以及s组历史预测数据进行时序特征提取,得到时序特征向量,历史预测数据包括历史线性预测结果、历史采样点预测结果以及历史预测残差,s为大于等于2的整数。
95.在一种可能的实施方式中,计算机设备通过声码器的采样率网络,对编码向量以及s组历史预测数据进行时序特征提取,得到时序特征向量。其中,采样率网络包含两层门循环单元(gate recurrent unit,gru),该时序特征向量即由两层gru提取得到。
96.在一些实施例中,计算机设备通过采样网络对s组历史预测数据进行嵌入处理,并将嵌入结果以及编码向量输入两层gru,由两层gru进行时序特征提取。
97.示意性的,如图5所示,采用lpcnet结构的声码器包括采样率网络53,该采样率网络53包括嵌入层、gru a和gru b。进行时序特征提取时,嵌入层对p
t

s+1
:p
t
、s
t

s
:s
t
‑1、e
t

s
:e
t
‑1进行嵌入处理,并将嵌入结果和编码向量输入gru a,由gru a进行一级时序特征提取,并将一级时序特征提取结果和编码向量共同输入gru b,由gru b进行二级时序特征提取,得到时序特征向量。
98.步骤403,基于编码向量以及时序特征向量进行s次残差预测,得到s个采样点的预测残差。
99.在一种可能的实施方式中,计算机设备通过声码器的采样率网络,基于编码向量以及时序特征向量进行s次残差预测,得到s个采样点的预测残差,采样率网络在进行残差预测时,共享上述时序特征向量,无需每次对采样点进行预测时进行一次时序特征提取。
100.并且,本实施例中s次残差预测逐级进行,且基于前一次残差预测的预测结果,即在完成对第t采样点的残差预测后,计算机设备基于第t采样点的预测残差,继续对第t+1采样点进行残差预测,以此类推,直至完成对第t+s

1采样点的残差预测。
101.可选的,计算机设备对s个采样点中的首个采样点进行残差预测时,基于编码向量以及时序特征向量进行第一次残差预测,得到第一采样点的预测残差;对后续采样点进行残差预测时,基于编码向量、时序特征向量以及第i采样点的预测残差进行第i+1次残差预测,得到第i+1采样点的预测残差,i为小于s的正整数。
102.在一种可能的实施方式中,声码器的采样率网络中包含s路残差预测支路,各条残差预测支路的输入包括时序特征向量、编码向量以及前一残差预测支路(存在的情况下)输出的预测残差。
103.在一些实施例中,对第i+1采样点进行残差预测时,计算机设备对第i采样点的预测残差进行嵌入处理,得到第i嵌入向量,然后对编码向量、时序特征向量以及第i嵌入向量进行拼接(concat),得到第i拼接向量,从而对第i拼接向量进行第i+1次残差预测,得到第i+1采样点的预测残差。
104.示意性的,如图5所示,采样率网络53包括s路残差预测支路,且每一路残差预测支路包括由dual fc层、softmax层和sampling层(采样层)构成。对第t采样点进行残差预测时,gru b输出的时序特征向量以及编码向量输入第一残差预测支路进行第一次残差预测,得到第t采样点的预测残差e
t
;对第t+1采样点进行残差预测时,第t采样点的预测残差e
t
经过嵌入处理后,与gru b输出的时序特征向量以及编码向量输入第二残差预测支路进行第二次残差预测,得到第t+1采样点的预测残差e
t+1
。以此类推,直至第s残差预测支路进行第s次残差预测后输出第t+s

1采样点的预测残差e
t+s
‑1。
105.步骤404,基于s个采样点的预测残差以及s个采样点的线性预测结果,确定s个采样点的采样点预测结果。
106.由于采样点预测结果基于采样点线性预测结果和预测残差得到,因此计算机设备需要进一步确定s个采样点各自对应的线性预测结果,进而确定s个采样点的采样点预测结果。
107.对于任意语言而言,相邻采样点具有很强的相关性,通常假设采样值是一个自回归过程,也即当前时刻采样点可以近似由若干相邻历史时刻的采样点线性表示,误差可建模为高斯白噪声。也即:
[0108][0109]
v[n]~n(0,σ2)
[0110]
其中,v[n]为高斯白噪声,x[n

k]表示第n

k个采样点的采样点预测结果,a
k
表示
历史采样点对应的线性预测系数,p为历史采样点的个数。
[0111]
在一种可能的实施方式中,计算机设备通过声码器中的lpc模块对采样点进行线性预测,得到线性预测结果,进而基于采样点的线性预测结果和预测残差,确定出采样点的采样点预测结果。其中,该lpc模块用于根据多个历史采样点的历史采样点预测结果以及对应的线性预测系数,确定当前采样点的线性预测结果。
[0112]
可选的,本步骤可以包括如下子步骤:
[0113]
1、基于m个线性预测系数以及第i采样点之前m个采样点的历史采样点预测结果,确定第i采样点的线性预测结果,i为小于s的正整数。
[0114]
在一种可能的实施方式中,该m个线性预测系数由计算机设备基于目标语音帧的声学特征确定得到,且m个线性预测系数在帧内保持不变。
[0115]
其中,m的取值适配高采样率,以此支持高采样率下的语音合成,并提高高采样率下的语音合成质量,该高采样率高于采样率阈值,该采样率阈值可以为16khz。
[0116]
在一个示意性的例子中,计算机设备基于声学特征预测得到的线性预测系数由16个提升至20个,相应的,线性预测过程中的阶数由16阶提升至20阶段,以此适配16khz以上的高采样率场景,比如20khz、44.1khz等等。
[0117]
在对第i采样点进行线性预测时,计算机设备获取第i采样点之前m个采样点的历史采样点预测结果,从而基于m个历史采样点预测结果与m个线性预测系数计算得到第i采样点的线性预测结果。
[0118]
示意性的,如图5所示,lpc模块54计算得到lpc系数后,基于第t采样点之前m个采样点的历史采样点预测结果(s
t

m
:s
t
‑1)进行线性预测,得到第t采样点的线性预测结果p
t
;基于第t+1采样点之前m个采样点的历史采样点预测结果(s
t

m+1
:s
t
)进行线性预测,得到第t+1采样点的线性预测结果p
t+1
;基于第t+s

1采样点之前m个采样点的历史采样点预测结果(s
t+s

m
‑1:s
t+s
‑2)进行线性预测,得到第t+s

1采样点的线性预测结果p
t+s
‑1。
[0119]
2、基于第i采样点的预测残差以及第i采样点的线性预测结果,确定第i采样点的采样点预测结果。
[0120]
进一步的,计算机设备基于第i采样点对应的线性预测结果以及预测残差,确定第i采样点的采样点预测结果。
[0121]
示意性的,如图5所示,计算机设备基于第t采样点的线性预测结果p
t
以及预测残差e
t
,计算得到第t采样点的采样点预测结果s
t
;基于第t+1采样点的线性预测结果p
t+1
以及预测残差e
t+1
,计算得到第t+1采样点的采样点预测结果s
t+1
;基于第t+s

1采样点的线性预测结果p
t+s
‑1以及预测残差e
t+s
‑1,计算得到第t+s

1采样点的采样点预测结果s
t+s
‑1。
[0122]
步骤405,基于s个采样点的采样点预测结果进行语音合成。
[0123]
本步骤的实施方式可以参考步骤304,本实施例在此不再赘述。
[0124]
本实施例中,计算机设备在进行线性预测时,通过提高线性预测的阶数,实现对高采样率场景的支持,并有助于提高语音合成质量。
[0125]
从上述实施例可以看出,由于语音合成依赖目标语音帧的声学特征,因此声学特征的质量将直接影响到最终的语音合成质量。然而,不论采用何种声学特征,都呈现出低频分辨率高,而高频分辨率低的问题,导致高频语音的合成质量较差。
[0126]
为了进一步提高语音合成质量,在一种可能的实施方式中,不同于基于标准的频
谱分割方式,本技术实施例中,频谱被划分为k个频带,且高频区间内频带的目标划分精细度高于标准划分精细度,即对频谱的高频频带进行了更加精细的划分。其中,该高频区间的频率高于频率阈值,比如,该频率阈值为6.4khz,本实施例对此不作限定。
[0127]
当然,除了对高频区间进行精细划分外,还可以对低频和中频区域进行进一步精细划分,本实施例对此不作限定。
[0128]
相对应的,计算机设备获取到的声学特征包括k维bfcc特征,其中,不同维度的bfcc特征对应频谱的不同频带。当然,除了包含k维bfcc特征外,声学特征还可以包括2维pitch特征,本实施例对此不作限定。
[0129]
在一个示意性的例子中,如图6所示,标准划分方式下,频谱被划分为18个频带,相应的,用于语音合成的声学特征中包含18维bfcc特征;而采用本技术实施例提供的划分方式,频谱被划分为30个频带,且6.4khz以上高频区域的频带划分更加精细,相应的,用于语音合成的声学特征中包含30维bfcc特征。
[0130]
相较于标准频谱分割方式,采用本实施例提供的频谱分割方式,用于语音合成的声学特征所包含信息的维度更多且更加细化,即声学特征的质量更高,有助于提高语音合成的质量。
[0131]
上述实施例对声码器的应用过程进行了说明,下面采用示例性的实施例对声码器的训练过程进行说明。
[0132]
请参考图7,其示出了本技术一个示例性实施例提供的声码器的训练方法的流程图。
[0133]
步骤701,通过声码器对样本语音帧的声学特征进行特征编码,得到样本编码向量。
[0134]
不同于应用阶段无语音输入,训练阶段,计算机设备对样本语音进行分帧处理,得到若干样本语音帧,并对样本语音帧进特征提取得到声学特征,作为声码器训练过程的样本输入(即训练数据准备过程)。当然,计算机设备在生成样本语音帧的声学特征前,还可以对样本语音进行音频归一化、加噪等处理,本实施例对此不作限定。
[0135]
在一种可能的实施方式中,当声码器采用lpcnet结构时,计算机设备通过声码器中的帧率网络对样本语音帧的声学特征进行特征编码,得到样本编码向量,该样本编码向量在帧内保持不变。
[0136]
步骤702,通过声码器对样本编码向量以及s组样本历史预测数据进行时序特征提取,得到样本时序特征向量,样本历史预测数据包括样本历史线性预测结果、样本历史采样点预测结果以及样本历史预测残差,s为大于等于2的整数。
[0137]
与应用阶段类似的,计算机设备从最近s次预测得到的样本历史预测数据与样本编码向量中,提取前s个连续样本采样点的时序特征,以便后续基于该时序特征对后s个样本采样点进行同步预测。
[0138]
在一种可能的实施方式中,计算机设备通过声码器中的采样率网络,对样本编码向量以及s组样本历史预测数据进行时序特征提取,得到样本时序特征向量。
[0139]
步骤703,通过声码器,基于样本编码向量以及样本时序特征向量进行残差预测,得到样本语音帧中s个样本采样点的样本预测残差。
[0140]
进一步的,计算机设备基于s个历史连续样本采样点的样本时序特征,对后续s个
连续样本采样点进行预测。由于采样点预测过程中时序特征提取的时间开销占比较大,因此在采样点预测过程中共享提取到的样本时序特征信息,能够提高采样点的预测速度,降低预测过程中的运算开销。
[0141]
由于在应用阶段将编码向量显式引入预测过程,因此在训练阶段,计算机设备同样需要将样本编码向量显式引入预测过程。在一种可能的实施方式中,计算机设备通过声码器中的采样点网络,基于样本编码向量以及样本时序特征向量进行残差预测,得到样本语音帧中s个样本采样点的样本预测残差。
[0142]
不同于应用阶段需要进行残差预测并基于得到的预测残差和线性预测结果确定采样点预测结果,在训练阶段,计算机设备将残差预测得到的样本预测残差作为样本输出,进而基于该样本输出对声码器进行训练。
[0143]
步骤704,基于s个样本采样点的样本预测残差以及样本残差真值,训练声码器。
[0144]
在一种可能的实施方式中,计算机设备基于各个样本采样点的样本预测残差以及对应的样本残差真值(groundtruth)确定损失,从而基于该损失对声码器进行训练,直至当满足训练完成条件。
[0145]
在一些实施例中,当声码器采用lpcnet结构时,计算机设备对声码器中的帧率网络和采样率网络进行训练。
[0146]
综上所述,本技术实施例中,对目标语音帧的声学特征进行特征编码得到编码向量后,通过对编码向量以及多组历史预测数据进行时序特征提取,得到时序特征向量,使得后续能够进一步基于编码向量以及时序特征向量进行连续多采样点预测,得到多个连续采样点的采样点预测结果,提高了采样点的预测速度,进而提高了基于采样点预测结果进行语音合成的速度;并且,通过在连续采样点预测过程中显式引入编码向量,避免因连续预测数量增加导致预测准确性降低问题,在提高采样点预测速度的同时,保证预测过程的稳定性和准确性,进而保证语音合成质量。
[0147]
请参考图8,其示出了本技术另一个示例性实施例提供的声码器的训练方法的流程图。
[0148]
步骤801,通过声码器对样本语音帧的声学特征进行特征编码,得到样本编码向量。
[0149]
本步骤的实施方式可以参考上述步骤701,本实施例在此不再赘述。
[0150]
示意性的,如图9所示,采用lpcnet结构的声码器包括帧率网络92,该帧率网络92由两层1
×
3的一维卷积层(conv 1
×
3)(感受野为5帧)以及两层全连接层(fc)构成。声码器通过帧率网络92对样本声学特征91进行特征编码,得到样本编码向量f。
[0151]
与应用阶段类似的,为了进一步提高语音合成质量,在一种可能的实施方式中,不同于基于标准的频谱分割方式,本技术实施例中,频谱被划分为k个频带,且高频区间内频带的目标划分精细度高于标准划分精细度,即对频谱的高频频带进行了更加精细的划分。其中,该高频区间的频率高于频率阈值,比如,该频率阈值为6.4khz,本实施例对此不作限定。
[0152]
当然,除了对高频区间进行精细划分外,还可以对低频和中频区域进行进一步精细划分,本实施例对此不作限定。
[0153]
相对应的,计算机设备获取到的样本声学特征包括k维bfcc特征,其中,不同维度
的bfcc特征对应频谱的不同频带。当然,除了包含k维bfcc特征外,声学特征还可以包括2维pitch特征,本实施例对此不作限定。
[0154]
步骤802,基于样本语音帧的声学特征确定m个样本线性预测系数,m的取值适配高采样率,高采样率高于采样率阈值。
[0155]
其中,m的取值适配高采样率,以此支持高采样率下的语音合成,并提高高采样率下的语音合成质量,该高采样率高于采样率阈值,该采样率阈值可以为16khz。
[0156]
在一个示意性的例子中,计算机设备基于声学特征预测得到的样本线性预测系数由16个提升至20个,相应的,线性预测过程中的阶数由16阶提升至20阶段,以此适配16khz以上的高采样率场景,比如20khz、44.1khz等等。
[0157]
步骤803,通过声码器对样本编码向量以及s组样本历史预测数据进行时序特征提取,得到样本时序特征向量,样本历史预测数据包括样本历史线性预测结果、样本历史采样点预测结果以及样本历史预测残差,s为大于等于2的整数。
[0158]
本步骤的实施方式可以参考上述步骤702,本实施例在此不再赘述。
[0159]
可选的,该样本历史采样点预测结果可以为样本语音帧中样本采样点的样本采样点真值。
[0160]
示意性的,如图9所示,采用lpcnet结构的声码器包括采样率网络93,该采样率网络53包括嵌入层、gru a和gru b。进行时序特征提取时,嵌入层对p
t

s+1
:p
t
、s
t

s
:s
t
‑1、e
t

s
:e
t
‑1进行嵌入处理,并将嵌入结果和样本编码向量输入gru a,由gru a进行一级时序特征提取,并将一级时序特征提取结果和样本编码向量共同输入gru b,由gru b进行二级时序特征提取,得到样本时序特征向量。
[0161]
步骤804,通过声码器,基于样本编码向量以及样本时序特征向量进行残差预测,得到样本语音帧中s个样本采样点的样本预测残差。
[0162]
在一种可能的实施方式中,计算机设备通过声码器的采样率网络,基于样本编码向量以及样本时序特征向量进行s次残差预测,得到s个样本采样点的样本预测残差,采样率网络在进行残差预测时,共享上述样本时序特征向量,无需每次对采样点进行预测时进行一次样本时序特征提取。
[0163]
并且,本实施例中s次残差预测逐级进行,且基于前一次残差预测的预测结果,即在完成对第t采样点的残差预测后,计算机设备基于第t采样点的预测残差,继续对第t+1采样点进行残差预测,以此类推,直至完成对第t+s

1采样点的残差预测。
[0164]
可选的,计算机设备对s个样本采样点中的首个样本采样点进行残差预测时,基于样本编码向量以及样本时序特征向量进行第一次残差预测,得到第一样本采样点的样本预测残差;对后续样本采样点进行残差预测时,基于样本编码向量、样本时序特征向量以及第i采样点的预测残差进行第i+1次残差预测,得到第i+1样本采样点的样本预测残差,i为小于s的正整数。
[0165]
在一种可能的实施方式中,声码器的采样率网络中包含s路残差预测支路,各条残差预测支路的输入包括时序特征向量、编码向量以及前一残差预测支路(存在的情况下)输出的预测残差。
[0166]
在一些实施例中,对第i+1样本采样点进行残差预测时,计算机设备对第i样本采样点的样本预测残差进行嵌入处理,得到第i嵌入向量,然后对样本编码向量、样本时序特
征向量以及第i样本嵌入向量进行拼接(concat),得到第i拼接向量,从而对第i拼接向量进行第i+1次残差预测,得到第i+1样本采样点的样本预测残差。
[0167]
示意性的,如图9所示,采样率网络93包括s路残差预测支路,且每一路残差预测支路包括由dual fc层、softmax层和sampling层(采样层)构成。对第t样本采样点进行残差预测时,gru b输出的样本时序特征向量以及样本编码向量输入第一残差预测支路进行第一次残差预测,得到第t样本采样点的样本预测残差e
t
;对第t+1样本采样点进行残差预测时,第t样本采样点的样本预测残差e
t
经过嵌入处理后,与gru b输出的样本时序特征向量以及样本编码向量输入第二残差预测支路进行第二次残差预测,得到第t+1样本采样点的样本预测残差e
t+1
。以此类推,直至第s残差预测支路进行第s次残差预测后输出第t+s

1样本采样点的样本预测残差e
t+s
‑1。
[0168]
步骤805,基于m个样本线性预测系数以及第i样本采样点之前m个样本采样点的样本历史采样点预测结果,确定第i样本采样点的样本线性预测结果,i为小于s的正整数。
[0169]
在一种可能的实施方式中,由于训练阶段预先准备了样本语音帧,因此计算机设备可以将样本语音帧中各样本采样点的样本采样点真值作为样本历史采样点预测结果,进而与m个样本线性预测系数一同进行线性预测,得到样本采样点的样本线性预测结果。
[0170]
需要说明的是,此处不直接基于样本采样点真值确定样本线性预测结果的目的是为了模拟实际应用过程(即输入并不包含语音帧),减小训练与应用过程的不匹配(mismatch)。
[0171]
示意性的,如图9所示,lpc模块94计算得到lpc系数后,基于第t样本采样点之前m个样本采样点的样本采样点真值进行线性预测,得到第t样本采样点的样本线性预测结果p
t
;基于第t+1样本采样点之前m个样本采样点的样本采样点真值进行线性预测,得到第t+1采样点的样本线性预测结果p
t+1
;基于第t+s

1样本采样点之前m个样本采样点的样本采样点真值进行线性预测,得到第t+s

1样本采样点的样本线性预测结果p
t+s
‑1。
[0172]
步骤806,基于第i样本采样点的样本线性预测结果,以及第i样本采样点的样本采样点真值,确定第i样本采样点的样本残差真值。
[0173]
进一步的,计算机设备基于样本采样点对应的样本采样点真值以及样本线性预测结果,计算各个样本采样点的样本残差真值,以便后续以该样本残差真值为监督进行训练,其中,第i样本采样点的样本残差真值=样本采样点真值

样本线性预测结果。
[0174]
示意性的,如图9所示,计算机设备基于第t样本采样点的样本线性预测结果p
t
以及样本采样点真值s
t
,计算得到第t样本采样点的样本残差真值e

t
;基于第t+1样本采样点的样本线性预测结果p
t+1
以及样本采样点真值s
t+1
,计算得到第t+1样本采样点的样本残差真值e

t+1
;基于第t+s

1样本采样点的样本线性预测结果p
t+s
‑1以及样本采样点真值s
t+s
‑1,计算得到第t+s

1样本采样点的样本残差真值e

t+s
‑1。
[0175]
步骤807,基于第i样本采样点的样本预测残差和第i样本采样点的样本残差真值确定交叉熵损失。
[0176]
进一步的,针对各个样本采样点,计算机设备将样本残差真值作为样本预测残差的监督,并计算两者之间的交叉熵(ce)损失作为训练损失。
[0177]
示意性的,如图9所示,计算机设备计算第t样本采样点的样本预测残差e
t
与样本残差真值e

t
之间的交叉熵损失,计算第t+1样本采样点的样本预测残差e
t+1
与样本残差真
值e

t+1
之间的交叉熵损失,以此类推,计算第t+s

1样本采样点的样本预测残差e
t+s
‑1与样本残差真值e

t+s
‑1之间的交叉熵损失。
[0178]
步骤808,基于s个样本采样点对应的交叉熵损失,训练声码器。
[0179]
在一种可能的实施方式中,确定s个样本采样点各自对应的交叉熵损失后,计算机设备对交叉熵损失进行累加,作为声码器的语音合成损失,进而基于语音合成损失训练声码器。可选的,计算机设备可以通过反向传播或梯度下降等算法训练声码器,本实施例对此不作限定。
[0180]
请参考图10,其示出了本技术一个示例性实施例提供的语音合成装置的结构框图,该装置包括:
[0181]
第一编码模块1001,用于对目标语音帧的声学特征进行特征编码,得到编码向量;
[0182]
第一提取模块1002,用于基于所述编码向量以及s组历史预测数据进行时序特征提取,得到时序特征向量,所述历史预测数据包括历史线性预测结果、历史采样点预测结果以及历史预测残差,s为大于等于2的整数;
[0183]
第一预测模块1003,用于基于所述编码向量以及所述时序特征向量进行采样点预测,得到所述目标语音帧中s个采样点的采样点预测结果;
[0184]
合成模块1004,用于基于所述s个采样点的采样点预测结果进行语音合成。
[0185]
可选的,所述第一预测模块1003,包括:
[0186]
第一预测单元,用于基于所述编码向量以及所述时序特征向量进行s次残差预测,得到所述s个采样点的预测残差;
[0187]
第一确定单元,用于基于所述s个采样点的预测残差以及所述s个采样点的线性预测结果,确定所述s个采样点的采样点预测结果。
[0188]
可选的,所述第一预测单元,用于:
[0189]
基于所述编码向量以及所述时序特征向量进行第一次残差预测,得到第一采样点的预测残差;
[0190]
基于所述编码向量、所述时序特征向量以及第i采样点的预测残差进行第i+1次残差预测,得到第i+1采样点的预测残差,i为小于s的正整数。
[0191]
可选的,所述第一预测单元,用于:
[0192]
对所述第i采样点的预测残差进行嵌入处理,得到第i嵌入向量;
[0193]
对所述编码向量、所述时序特征向量以及所述第i嵌入向量进行拼接,得到第i拼接向量;
[0194]
对所述第i拼接向量进行第i+1次残差预测,得到所述第i+1采样点的预测残差。
[0195]
可选的,所述装置还包括:
[0196]
第一确定模块,用于基于所述目标语音帧的声学特征确定m个线性预测系数,m的取值适配高采样率,所述高采样率高于采样率阈值;
[0197]
所述确定单元,用于:
[0198]
基于所述m个线性预测系数以及第i采样点之前m个采样点的历史采样点预测结果,确定所述第i采样点的线性预测结果,i为小于s的正整数;
[0199]
基于所述第i采样点的预测残差以及所述第i采样点的线性预测结果,确定所述第i采样点的采样点预测结果。
[0200]
可选的,所述目标语音帧的声学特征包括k维bfcc特征,不同维度的bfcc特征对应频谱的不同频带,且将频谱划分为k个频带时,高频区间内频带的目标划分精细度高于标准划分精细度,所述高频区间的频率高于频率阈值。
[0201]
可选的,所述第一编码模块1001,用于:
[0202]
通过声码器的帧率网络frn对所述目标语音帧的声学特征进行特征编码,得到所述编码向量,所述声码器采用线性预测编码网络lpcnet结构;
[0203]
所述第一提取模块1002,用于:
[0204]
通过所述声码器的采样率网络srn,对所述编码向量以及s组历史预测数据进行时序特征提取,得到所述时序特征向量;
[0205]
所述第一预测模块1003,用于:
[0206]
通过所述声码器的采样率网络srn,对所述编码向量以及所述时序特征向量进行采样点预测,得到所述目标语音帧中所述s个采样点的采样点预测结果。
[0207]
请参考图11,其示出了本技术一个示例性实施例提供的声码器的训练装置的结构框图,该装置包括:
[0208]
第二编码模块1101,用于通过声码器对样本语音帧的声学特征进行特征编码,得到样本编码向量;
[0209]
第二提取模块1102,用于通过所述声码器对所述样本编码向量以及s组样本历史预测数据进行时序特征提取,得到样本时序特征向量,所述样本历史预测数据包括样本历史线性预测结果、样本历史采样点预测结果以及样本历史预测残差,s为大于等于2的整数;
[0210]
第二预测模块1103,用于通过所述声码器,基于所述样本编码向量以及所述样本时序特征向量进行残差预测,得到所述样本语音帧中s个样本采样点的样本预测残差;
[0211]
训练模块1104,用于基于所述s个样本采样点的样本预测残差以及样本残差真值,训练所述声码器。
[0212]
可选的,所述第二预测模块1103,包括:
[0213]
第二预测单元,用于基于所述样本编码向量以及所述样本时序特征向量进行第一次残差预测,得到第一样本采样点的样本预测残差;
[0214]
第三预测单元,用于基于所述样本编码向量、所述样本时序特征向量以及第i采样点的预测残差进行第i+1次残差预测,得到第i+1样本采样点的样本预测残差,i为小于s的正整数。
[0215]
可选的,所述第三预测单元,用于:
[0216]
对所述第i样本采样点的样本预测残差进行嵌入处理,得到第i样本嵌入向量;
[0217]
对所述样本编码向量、所述样本时序特征向量以及所述第i样本嵌入向量进行拼接,得到第i样本拼接向量;
[0218]
对所述第i样本拼接向量进行第i+1次残差预测,得到所述第i+1样本采样点的样本预测残差。
[0219]
可选的,所述装置还包括:
[0220]
第二确定模块,用于基于所述样本语音帧的声学特征确定m个样本线性预测系数,m的取值适配高采样率,所述高采样率高于采样率阈值;
[0221]
所述训练模块1004,包括:
[0222]
第二确定单元,用于基于所述m个样本线性预测系数以及第i样本采样点之前m个样本采样点的样本历史采样点预测结果,确定所述第i样本采样点的样本线性预测结果,i为小于s的正整数;
[0223]
第三确定单元,用于基于所述第i样本采样点的样本线性预测结果,以及所述第i样本采样点的样本采样点真值,确定所述第i样本采样点的样本残差真值;
[0224]
第四确定单元,用于基于所述第i样本采样点的样本预测残差和所述第i样本采样点的样本残差真值确定交叉熵损失;
[0225]
训练单元,用于基于所述s个样本采样点对应的交叉熵损失,训练所述声码器。
[0226]
可选的,所述样本语音帧的声学特征包括k维bfcc特征,不同维度的bfcc特征对应频谱的不同频带,且将频谱划分为k个频带时,高频区间内频带的目标划分精细度高于标准划分精细度,所述高频区间的频率高于频率阈值。
[0227]
可选的,所述声码器采用线性预测编码网络lpcnet结构,所述声码器包括帧率网络frn和采样率网络srn。
[0228]
请参考图12,其示出了本技术一个示例性实施例提供的计算机设备的结构示意图。具体来讲:所述计算机设备1200包括中央处理单元(central processing unit,cpu)1201、包括随机存取存储器1202和只读存储器1203的系统存储器1204,以及连接系统存储器1204和中央处理单元1201的系统总线1205。所述计算机设备1200还可以包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(input/output,i/o系统)1206,和用于存储操作系统1213、应用程序1214和其他程序模块1215的大容量存储设备1207。
[0229]
在一些实施例中,所述基本输入/输出系统1206可以包括有用于显示信息的显示器1208和用于用户输入信息的诸如鼠标、键盘之类的输入设备1209。其中所述显示器1208和输入设备1209都通过连接到系统总线1205的输入输出控制器1210连接到中央处理单元1201。所述基本输入/输出系统1206还可以包括输入输出控制器1210以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1210还提供输出到显示屏、打印机或其他类型的输出设备。
[0230]
所述大容量存储设备1207通过连接到系统总线1205的大容量存储控制器(未示出)连接到中央处理单元1201。所述大容量存储设备1207及其相关联的计算机可读介质为计算机设备1200提供非易失性存储。也就是说,所述大容量存储设备1207可以包括诸如硬盘或者驱动器之类的计算机可读介质(未示出)。
[0231]
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括随机存取记忆体(ram,random access memory)、只读存储器(rom,read only memory)、闪存或其他固态存储其技术,只读光盘(compact disc read

only memory,cd

rom)、数字通用光盘(digital versatile disc,dvd)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1204和大容量存储设备1207可以统称为存储器。
[0232]
存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元1201执行,一个或多个程序包含用于实现上述方法的指令,中央处理单元1201执行该
一个或多个程序实现上述各个方法实施例提供的方法。
[0233]
根据本技术的各种实施例,所述计算机设备1200还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1200可以通过连接在所述系统总线1205上的网络接口单元1211连接到网络1212,或者说,也可以使用网络接口单元1211来连接到其他类型的网络或远程计算机系统(未示出)。
[0234]
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本技术实施例提供的方法中由计算机设备所执行的步骤。
[0235]
本技术实施例还提供一种计算机可读存储介质,该可读存储介质中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述任一实施例所述的语音合成方法,或,声码器的训练方法。
[0236]
本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例所述的语音合成方法,或,声码器的训练方法。
[0237]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0238]
以上所述仅为本技术的可选的实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。