语音处理方法、装置、设备及计算机可读存储介质与流程

文档序号:30293573发布日期:2022-06-04 16:43阅读:108来源:国知局
语音处理方法、装置、设备及计算机可读存储介质与流程

1.本发明涉及计算机应用技术领域,特别是涉及一种语音处理方法、装置、设备及计算机可读存储介质。


背景技术:

2.在视频展示或者影视剧制作等场景中,很多时候都需要进行语音调整。比如,在视频展示场景中,提前制作好待展示的视频后,如果对视频对应的资料进行反复修改,就需要对视频中的旁白语音进行多次调整。再比如,在影视剧制作场景中,如果要对制作完成的影视剧片段进行修改,也需要对相对应部分的配音进行调整。
3.目前,常用的一种语音处理方法是,通过语音合成技术合成需要调整部分的语音,然后将调整后的语音插入或者替换到原语音中。
4.这种方法仅是合成需要调整部分的语音,将调整后的语音插入或者替换到原语音中,容易使得整段语音听感上不连续,韵律不自然。


技术实现要素:

5.本发明实施例的目的在于提供一种语音处理方法、装置、设备及计算机可读存储介质,以实现整段语音在听感上的连续性,使得处理后的语音韵律更自然。具体技术方案如下:
6.一种语音处理方法,包括:
7.获得待处理的原始语音、与所述原始语音匹配的原始文本、所述原始文本对应的目标文本,所述目标文本为对所述原始文本进行修改后的文本;
8.确定所述目标文本中的音素对应的语音帧的最终时长信息,所述最终时长信息包括所述目标文本相对于所述原始文本的变化部分对应的语音帧的时长信息;
9.根据所述变化部分对应的语音帧的时长信息,对所述原始语音的原始频谱进行填充处理,获得目标频谱;
10.将所述目标频谱作为韵律参考信息,结合所述最终时长信息以及所述目标文本进行语音合成处理,获得目标语音。
11.在本发明的一种具体实施方式中,所述确定所述目标文本中的音素对应的语音帧的最终时长信息,包括:
12.确定所述原始文本中的音素对应于所述原始语音的语音帧的实际时长信息;
13.基于所述原始文本中的音素对应的语音帧的实际时长信息,预测得到所述目标文本相对于所述原始文本的变化部分对应的语音帧的时长信息;
14.根据所述实际时长信息和所述变化部分对应的语音帧的时长信息,确定所述目标文本中的音素对应的语音帧的最终时长信息。
15.在本发明的一种具体实施方式中,所述基于所述原始文本中的音素对应的语音帧的实际时长信息,预测得到所述目标文本相对于所述原始文本的变化部分对应的语音帧的
时长信息,包括:
16.将所述目标文本的音素序列输入到预先训练获得的第一时长预测模型中,通过所述第一时长预测模型获得所述目标文本中的音素对应的语音帧的初始时长信息;
17.基于所述原始文本中的音素对应的语音帧的实际时长信息和所述目标文本中的音素对应的语音帧的初始时长信息,预测得到所述目标文本相对于所述原始文本的变化部分对应的语音帧的时长信息。
18.在本发明的一种具体实施方式中,所述基于所述原始文本中的音素对应的语音帧的实际时长信息和所述目标文本中的音素对应的语音帧的初始时长信息,预测得到所述目标文本相对于所述原始文本的变化部分对应的语音帧的时长信息,包括:
19.将所述原始文本中的音素对应的语音帧的实际时长信息和所述目标文本中的音素对应的语音帧的初始时长信息进行对比,确定所述目标文本相对于所述原始文本的相同部分对应的语音帧的初始时长信息与实际时长信息的比例关系;
20.根据所述比例关系,预测得到所述目标文本相对于所述原始文本的变化部分对应的语音帧的时长信息。
21.在本发明的一种具体实施方式中,所述基于所述原始文本中的音素对应的语音帧的实际时长信息,预测得到所述目标文本相对于所述原始文本的变化部分对应的语音帧的时长信息,包括:
22.将所述原始文本中的音素序列输入到预先训练获得的第二时长预测模型中,通过所述第二时长预测模型获得所述原始文本中的音素对应的语音帧的预测时长信息;
23.根据所述原始文本中的音素对应的语音帧的实际时长信息和预测时长信息的比对结果,对所述第二时长预测模型进行重新训练;
24.将所述目标文本的音素序列输入到重新训练后的所述第二时长预测模型中,预测得到所述目标文本相对于所述原始文本的变化部分对应的语音帧的时长信息。
25.在本发明的一种具体实施方式中,所述确定所述原始文本中的音素对应于所述原始语音的语音帧的实际时长信息,包括:
26.对所述原始语音和所述原始文本进行对齐处理;
27.根据对齐关系,确定所述原始文本中的音素对应于所述原始语音的语音帧的实际时长信息。
28.在本发明的一种具体实施方式中,所述根据所述变化部分对应的语音帧的时长信息,对所述原始语音的原始频谱进行填充处理,获得目标频谱,包括:
29.如果所述变化部分为新增内容,则根据所述变化部分对应的语音帧的时长信息,在所述原始语音的原始频谱中,所述变化部分对应的位置进行频谱插入处理,获得目标频谱;
30.如果所述变化部分为修改内容,则根据所述变化部分对应的语音帧的时长信息,在所述原始语音的原始频谱中,所述变化部分对应的位置进行频谱替换处理,获得目标频谱。
31.在本发明的一种具体实施方式中,所述获得目标语音,包括:
32.基于声纹,将进行语音合成处理后得到的新合成语音转换为目标音色的目标语音。
33.在本发明的一种具体实施方式中,所述将所述目标频谱作为韵律参考信息,结合所述最终时长信息以及所述目标文本进行语音合成处理,获得目标语音,包括:
34.将所述目标频谱作为韵律参考信息,并提取所述韵律参考信息的韵律表示;
35.将所述目标文本中每个音素映射到向量空间,获得所述目标文本的向量表示;
36.基于所述最终时长信息,对所述目标文本的向量表示进行扩展处理;
37.将所述韵律表示和扩展处理后的所述目标文本的向量表示进行拼接,经变换后,转换为目标语音。
38.一种语音处理装置,包括:
39.数据获得模块,用于获得待处理的原始语音、与所述原始语音匹配的原始文本、所述原始文本对应的目标文本,所述目标文本为对所述原始文本进行修改后的文本;
40.最终时长信息确定模块,用于确定所述目标文本中的音素对应的语音帧的最终时长信息,所述最终时长信息包括所述目标文本相对于所述原始文本的变化部分对应的语音帧的时长信息;
41.目标频谱获得模块,用于根据所述变化部分对应的语音帧的时长信息,对所述原始语音的原始频谱进行填充处理,获得目标频谱;
42.目标语音获得模块,用于将所述目标频谱作为韵律参考信息,结合所述最终时长信息以及所述目标文本进行语音合成处理,获得目标语音。
43.一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通信;
44.所述存储器,用于存放计算机程序;
45.所述处理器,用于执行所述存储器上所存放的程序时,实现上述的语音处理方法的步骤。
46.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的语音处理方法。
47.一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,且适于由处理器读取并执行,以使得具有所述处理器的计算机设备执行上述的语音处理方法。
48.应用本发明实施例所提供的技术方案,先确定目标文本中的音素对应的语音帧的最终时长信息,然后根据目标文本相对于原始文本的变化部分对应的语音帧的时长信息,对原始语音的原始频谱进行填充处理,获得目标频谱,最后将目标频谱作为韵律参考信息,结合最终时长信息以及目标文本进行语音合成处理,获得目标语音。将对原始语音的原始频谱做填充后得到的目标频谱作为韵律参考信息,结合确定出的目标文本中的音素对应的语音帧的最终时长信息以及目标文本进行语音合成处理,可以充分利用原始语音的韵律信息,保证目标语音在听感上的连续性,使得整段语音的韵律更自然。
附图说明
49.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
50.图1为本发明实施例中一种语音处理方法的实施流程图;
51.图2为本发明实施例中原始文本对应的语音帧的实际时长信息确定过程的具体示例示意图;
52.图3为本发明实施例中目标文本对应的语音帧的最终时长信息的预测过程的具体示例示意图;
53.图4为本发明实施例中语音合成过程的具体示例示意图;
54.图5为本发明实施例中语音转换过程的具体示例示意图;
55.图6为本发明实施例中一种语音处理装置的结构示意图;
56.图7为本发明实施例中一种电子设备的结构示意图。
具体实施方式
57.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
58.本发明的核心是提供一种语音处理方法,该方法可以应用于需要进行语音调整的各场景,比如视频展示场景、影视剧制作场景等。对与原始语音匹配的原始文本进行修改,得到目标文本,目标文本相对于原始文本存在变化部分,通过本发明实施例所提供的技术方案,可以根据变化部分对应的语音帧的时长信息,对原始语音的原始频谱进行填充处理,并将填充后得到的目标频谱作为韵律参考信息,结合目标文本中的音素对应的语音帧的最终时长信息以及目标文本进行语音合成处理,可以充分利用原始语音的韵律信息,保证目标语音在听感上的连续性,使得整段语音的韵律更自然。
59.参见图1所示,为本发明实施例所提供的一种语音处理方法的实施流程图,该方法可以包括以下步骤:
60.s110:获得待处理的原始语音、与原始语音匹配的原始文本、原始文本对应的目标文本。
61.在本发明实施例中,原始语音为待处理的语音,即要进行修改的语音,原始文本为与原始语音匹配的文本,目标文本为对原始文本进行修改后的文本。
62.获得待处理的原始语音、与原始语音匹配的原始文本、原始文本对应的目标文本之后,可以继续执行后续步骤的操作。
63.s120:确定目标文本中的音素对应的语音帧的最终时长信息。
64.最终时长信息包括目标文本相对于原始文本的变化部分对应的语音帧的时长信息。
65.可以认为原始文本和目标文本都是由音素构成,音素可以是根据实际情况划定的语音单位,如“我”的音素可以包括“w”和“o”,还可以是“wo”。
66.获得目标文本后,可以进一步确定目标文本中的音素对应的语音帧的最终时长信息。如可以利用时长预测模型确定目标文本中的音素对应的语音帧的最终时长信息。
67.目标文本为与原始文本对应的文本,将目标文本与原始文本进行对比,可以识别出目标文本相对于原始文本存在的变化部分和相同部分。可以利用时长预测模型对变化部分对应的语音帧的时长信息进行预测,得到目标文本相对于原始文本的变化部分对应的语音帧的时长信息。目标文本相对于原始文本的相同部分对应的语音帧的时长信息可以保持不变。这样也可以得到目标文本中的音素对应的语音帧的最终时长信息。
68.比如,原始文本为“我打球”,目标文本为“我喜欢打球”,通过对比,可知目标文本
相对于原始文本的变化部分为“喜欢”,目标文本相对于原始文本的相同部分为“我打球”,确定的目标文本中的音素对应的语音帧的最终时长信息包括变化部分对应的语音帧的时长信息和相同部分对应的语音帧的时长信息,具体为:
69.我:[0,2),表示音素“我”对应第0帧和第1帧的语音帧,共2帧;
[0070]
喜:[2,4),表示音素“喜”对应第2帧和第3帧的语音帧,共2帧;
[0071]
欢:[4,6),表示音素“欢”对应第4帧和第5帧的语音帧,共2帧;
[0072]
打:[6,10),表示音素“打”对应第6帧至第9帧的语音帧,共4帧;
[0073]
球:[10,13),表示音素“球”对应第10帧至第12帧的语音帧,共3帧。
[0074]
s130:根据变化部分对应的语音帧的时长信息,对原始语音的原始频谱进行填充处理,获得目标频谱。
[0075]
确定出目标文本中的音素对应的语音帧的最终时长信息后,可以得到目标文本相对于原始文本的变化部分对应的语音帧的时长信息,根据变化部分对应的语音帧的时长信息,可以对原始语音的原始频谱进行填充处理,如可以在变化部分对应的位置插入或者替换与变化部分对应的语音帧的时长相同的频谱,获得目标频谱。可以令获得的目标频谱的长度与目标文本匹配的目标语音的语音帧的总时长相同。
[0076]
s140:将目标频谱作为韵律参考信息,结合最终时长信息以及目标文本进行语音合成处理,获得目标语音。
[0077]
在本发明实施例中,根据目标文本相对于原始文本的变化部分对应的语音帧的时长信息,对原始语音的原始频谱进行填充处理,获得目标频谱后,可以将目标频谱作为韵律参考信息,然后对该韵律参考信息结合目标文本中的音素对应的语音帧的最终时长信息以及目标文本进行语音合成处理,可以获得目标语音,目标语音与目标文本相匹配,可以替换掉原始语音。
[0078]
通过将目标频谱作为韵律参考信息,充分利用了原始语音的韵律信息,保证目标语音在听感上的连续性,使得整段语音的韵律更自然。
[0079]
应用本发明实施例所提供的方法,先确定目标文本中的音素对应的语音帧的最终时长信息,然后根据目标文本相对于原始文本的变化部分对应的语音帧的时长信息,对原始语音的原始频谱进行填充处理,获得目标频谱,最后将目标频谱作为韵律参考信息,结合最终时长信息以及目标文本进行语音合成处理,获得目标语音。将对原始语音的原始频谱做填充后得到的目标频谱作为韵律参考信息,结合确定出的目标文本中的音素对应的语音帧的最终时长信息以及目标文本进行语音合成处理,可以充分利用原始语音的韵律信息,保证目标语音在听感上的连续性,使得整段语音的韵律更自然。
[0080]
在本发明的一个实施例中,确定目标文本中的音素对应的语音帧的最终时长信息,可以包括以下步骤:
[0081]
步骤一:确定原始文本中的音素对应于原始语音的语音帧的实际时长信息;
[0082]
步骤二:基于原始文本中的音素对应的语音帧的实际时长信息,预测得到目标文本相对于原始文本的变化部分对应的语音帧的时长信息;
[0083]
步骤三:根据实际时长信息和变化部分对应的语音帧的时长信息,确定目标文本中的音素对应的语音帧的最终时长信息。
[0084]
为方便描述,将上述三个步骤结合起来进行说明。
[0085]
原始文本为与原始语音匹配的文本。原始语音的每个语音帧具有各自的时长,可以先确定原始文本中的音素对应于原始语音的语音帧的实际时长信息。如原始文本为“我打球”,确定出的原始文本中的音素对应于原始语音的语音帧的实际时长信息可以为:
[0086]
我:[0,2),共2帧;
[0087]
打:[2,6),共4帧;
[0088]
球:[6,9),共3帧。
[0089]
确定出原始文本中的音素对应于原始语音的语音帧的实际时长信息后,可以基于原始文本中的音素对应的语音帧的实际时长信息,对目标文本相对于原始文本的变化部分对应的语音帧的时长信息进行预测,如可以利用时长预测模型对变化部分对应的语音帧的时长信息进行预测。
[0090]
目标文本相对于原始文本的相同部分对应的语音帧的时长信息可以保持不变,所以根据原始文本中的音素对应的语音帧的实际时长信息,可以得到相同部分对应的语音帧的时长信息。将变化部分对应的语音帧的时长信息和相同部分对应的语音帧的时长信息相结合,即可确定出目标文本中的音素对应的语音帧的最终时长信息。
[0091]
利用变化部分上下文的时长信息,可以使得预测到的变化部分对应的语音帧的时长信息更为准确,保证变化部分的语音与整体语音在时间上的分布较为相似,可以有效避免变化部分的语音过长或者过短。
[0092]
在本发明的一个实施例中,确定原始文本中的音素对应于原始语音的语音帧的实际时长信息,可以包括以下步骤:
[0093]
第一个步骤:对原始语音和原始文本进行对齐处理;
[0094]
第二个步骤:根据对齐关系,确定原始文本中的音素对应于原始语音的语音帧的实际时长信息。
[0095]
为方便描述,将上述两个步骤结合起来进行说明。
[0096]
获得的原始语音和与原始语音匹配的原始文本后,可以先对原始语音和原始文本进行对齐处理。具体的,可以通过语音对齐模型对原始语音和原始文本做语音对齐,获得原始语音和原始文本的对齐关系。语音对齐为时间片上的对齐。如,原始文本“我打球”中音素“我”在原始语音中开始时间为第0.0秒,结束时间为第0.2秒,持续了200毫秒,与该200毫秒时间片对齐,音素“打”在原始语音中开始时间为第0.2秒,结束时间为第0.6秒,持续了400毫秒,与该400毫秒时间片对齐,音素“球”在原始语音中开始时间为第0.6秒,结束时间为第0.9秒,持续了300毫秒,与该300毫秒时间片对齐。语音对齐模型可以使用开源的现有模型,如montreal forced aligner,或者可以基于预先获得的包括语音和文本的样本对进行训练得到。
[0097]
根据对齐关系,可以确定原始文本中的音素对应于原始语音的语音帧的实际时长信息。
[0098]
如图2所示,将原始语音和原始文本“我打球”输入到语音对齐模型中,可以得到原始文本中的音素对应于原始语音的语音帧的实际时长信息,即:
[0099]
我:[0,2),共2帧;
[0100]
打:[2,6),共4帧;
[0101]
球:[6,9),共3帧。
[0102]
即原始文本“我打球”中音素“我”与原始语音第0.0秒至第0.2秒这个时间片对齐,音素“打”与原始语音第0.2秒至第0.6秒这个时间片对齐,音素“球”与原始语音第0.6秒至第0.9秒这个时间片对齐之后,假设100毫秒为一帧,则可以确定音素“我”对应第0帧和第1帧的语音帧,共2帧,音素“打”对应第2帧至第5帧的语音帧,共4帧,音素“球”对应第6帧至第8帧的语音帧,共3帧。
[0103]
通过对原始语音和原始文本进行对齐处理,可以准确确定出原始文本中的音素对应于原始语音的语音帧的实际时长信息,为后续操作提供基础保障。
[0104]
在本发明的一种实现方式中,基于原始文本中的音素对应的语音帧的实际时长信息,预测得到目标文本相对于原始文本的变化部分对应的语音帧的时长信息,可以包括以下步骤:
[0105]
步骤一:将目标文本的音素序列输入到预先训练获得的第一时长预测模型中,通过第一时长预测模型获得目标文本中的音素对应的语音帧的初始时长信息;
[0106]
步骤二:基于原始文本中的音素对应的语音帧的实际时长信息和目标文本中的音素对应的语音帧的初始时长信息,预测得到目标文本相对于原始文本的变化部分对应的语音帧的时长信息。
[0107]
为方便描述,将上述两个步骤结合起来进行说明。
[0108]
在本发明实施例中,可以预先构建第一时长预测模型。第一时长预测模型的结构可以是:输入层(输入音素)-》嵌入层(embedding)-》编码层(encoder)-》卷积层(conv1d)-》深度神经网络(dnn)-》输出层(输出时长信息),其中,编码层可以是多层的多头注意力(multihead attention)结构。
[0109]
利用预先获得的音素序列样本可以对第一时长预测模型进行训练。
[0110]
如音素序列样本:t ian q i h en h ao,每个音素对应的语音帧的实际时长信息分别为:4、5、3、2、1、3、3、3。将音素序列样本输入到第一时长预测模型中,整个结构变化如下:
[0111]
1x8
‑‑‑
(embedding)
‑‑
》1x8x256
‑‑‑‑
(encoder)
‑‑
》1x8x512
‑‑‑
conv1d
‑‑
》1x8x128
‑‑
dnn
‑‑
》1x8,1表示批(batch)。
[0112]
将第一时长预测模型的输出与音素序列样本的每个音素对应的语音帧的实际时长信息进行对比,根据对比结果,可以对第一时长预测模型的参数进行调整,当第一时长预测模型的输出精度达到设定精度阈值时,可以停止训练,使用训练后的第一时长预测模型进行时长预测。
[0113]
获得原始文本对应的目标文本后,可以将目标文本的音素序列输入到预先训练获得的第一时长预测模型中,通过第一时长预测模型可以获得目标文本中的音素对应的语音帧的初始时长信息。
[0114]
基于原始文本中的音素对应的语音帧的实际时长信息和目标文本中的音素对应的语音帧的初始时长信息,可以预测得到目标文本相对于原始文本的变化部分对应的语音帧的时长信息。
[0115]
具体的,可以将原始文本中的音素对应的语音帧的实际时长信息和目标文本中的音素对应的语音帧的初始时长信息进行对比,确定目标文本相对于原始文本的相同部分对应的语音帧的初始时长信息与实际时长信息的比例关系,然后根据比例关系,预测得到目
标文本相对于原始文本的变化部分对应的语音帧的时长信息。
[0116]
确定出原始文本中的音素对应的语音帧的实际时长信息,并通过第一时长预测模型获得目标文本中的音素对应的语音帧的初始时长信息后,可以将这两个信息进行对比,得到目标文本中目标文本相对于原始文本的相同部分对应的语音帧的初始时长信息,以及原始文本中该相同部分对应的语音帧的实际时长信息,确定该相同部分对应的语音帧的初始时长信息与实际时长信息的比例关系。
[0117]
举例而言,如图3所示,原始文本“我打球”中的音素对应的语音帧的实际时长信息为:
[0118]
我:[0,2),共2帧;
[0119]
打:[2,6),共4帧;
[0120]
球:[6,9),共3帧。
[0121]
通过第一时长预测模型获得的目标文本“我喜欢打球”中的音素对应的语音帧的初始时长信息为:
[0122]
我:[0,4),共4帧;
[0123]
喜:[4,7),共4帧;
[0124]
欢:[7,10),共4帧;
[0125]
打:[10,17),共8帧;
[0126]
球:[17,23),共6帧。
[0127]
目标文本相对于原始文本的相同部分为“我打球”,目标文本中相同部分对应的语音帧的初始时长为18帧,原始文本中相同部分对应的语音帧的实际时长为9帧,二者的比例关系为18/9=2。
[0128]
根据确定出的目标文本中相同部分对应的语音帧的初始时长信息与原始文本中相同部分对应的语音帧的实际时长信息的比例关系,可以预测得到目标文本相对于原始文本的变化部分对应的语音帧的时长信息。
[0129]
可以理解的是,目标文本相对于原始文本有相同部分还有变化部分,相同部分对应的语音帧的时长信息应该相同。所以,可以按照确定出的比例关系,对目标文本相对于原始文本的变化部分对应的语音帧的时长进行调整,可以将变化部分中每个音素对应的语音帧的初始时长除以比例关系,预测得到变化部分对应的语音帧的时长信息。
[0130]
仍以上例为例,确定出的比例关系为2,根据该比例关系,可以将目标文本相对于原始文本的变化部分“喜”、“欢”对应的语音帧的时长分别调整为4/2=2帧、4/2=2帧。
[0131]
通过第一时长预测模型先获得目标文本中的音素对应的语音帧的初始时长信息,再基于原始文本中的音素对应的语音帧的实际时长信息和目标文本中的音素对应的语音帧的初始时长信息,可以准确预测得到目标文本相对于原始文本的变化部分对应的语音帧的时长信息。
[0132]
在本发明的另一种实现方式中,基于原始文本中的音素对应的语音帧的实际时长信息,预测得到目标文本相对于原始文本的变化部分对应的语音帧的时长信息,可以包括以下步骤:
[0133]
第一个步骤:将原始文本的音素序列输入到预先训练获得的第二时长预测模型中,通过第二时长预测模型获得原始文本中的音素对应的语音帧的预测时长信息;
[0134]
第二个步骤:根据原始文本中的音素对应的语音帧的实际时长信息和预测时长信息的比对结果,对第二时长预测模型进行重新训练;
[0135]
第三个步骤:将目标文本的音素序列输入到重新训练后的第二时长预测模型中,预测得到目标文本相对于原始文本的变化部分对应的语音帧的时长信息。
[0136]
为方便描述,将上述三个步骤结合起来进行说明。
[0137]
在本发明实施例中,可以预先构建第二时长预测模型,并基于预先获得的音素序列样本对第二时长预测模型进行训练,在第二时长预测模型的输出精度达到设定的精度阈值时,可以停止训练,将第二时长预测模型应用到实际场景中。第二时长预测模型的结构和训练过程可以参考对第一时长预测模型的描述,不再赘述。
[0138]
获得原始语音和原始文本,且确定出原始文本中的音素对应于原始语音的语音帧的实际时长信息之后,可以将原始文本中的音素序列输入到预先训练获得的第二时长预测模型中,通过第二时长预测模型可以获得原始文本中的音素对应的语音帧的预测时长信息。
[0139]
可以将原始文本中的音素对应的语音帧的实际时长信息和预测时长信息进行比对。如果第二时长预测模型的预测精度足够高,则通过第二时长预测模型得到的原始文本中的音素对应的语音帧的预测时长信息与原始文本中的音素对应的语音帧的实际时长信息应该相同或者较为相似,如果比对结果表征二者差别较大,则可以认为当前第二时长预测模型的预测精度不足,可以利用原始文本的音素序列对第二时长预测模型进行重新训练,直至重新训练后的第二时长预测模型输出的原始文本中的音素对应的语音帧的预测时长信息与原始文本中的音素对应的语音帧的实际时长信息相同或者在设定的偏差范围内。
[0140]
将目标文本的音素序列输入到重新训练后的第二时长预测模型中,预测得到目标文本相对于原始文本的变化部分对应的语音帧的时长信息,该时长信息将更加准确。
[0141]
需要说明的是,在本发明实施例中,可以通过多种方式得到目标文本相对于原始文本的变化部分对应的语音帧的时长信息,然后将通过多种方式得到的时长信息进行加权平均,使得最终得到的变化部分对应的语音帧的时长信息更加准确。另外,在语音无监督学习中,可以根据上下文预测中间或者未来信息,可以将无监督学习模型预测的信息加入到第一时长预测模型或者第二时长预测模型中,使得对于时长信息的预测结果更加准确。
[0142]
在本发明的一个实施例中,根据变化部分对应的语音帧的时长信息,对原始语音的原始频谱进行填充处理,获得目标频谱,可以包括以下步骤:
[0143]
如果变化部分为新增内容,则根据变化部分对应的语音帧的时长信息,在原始语音的原始频谱中,变化部分对应的位置进行频谱插入处理,获得目标频谱;
[0144]
如果变化部分为修改内容,则根据变化部分对应的语音帧的时长信息,在原始语音的原始频谱中,变化部分对应的位置进行频谱替换处理,获得目标频谱。
[0145]
目标文本相对于原始文本的变化部分,可以是在原始文本的基础上的新增内容,还可以是在原始文本的基础上的修改内容。
[0146]
确定出的目标文本中的音素对应的语音帧的最终时长信息包括变化部分对应的语音帧的时长信息,如果变化部分为新增内容,则可以根据变化部分对应的语音帧的时长信息,在原始语音的原始频谱中,变化部分对应的位置进行频谱插入处理,获得目标频谱。比如,在原始文本的a处新增内容得到目标文本,在原始语音的原始频谱中,可以在a对应的
位置处插入与新增内容对应的语音帧的时长相同的频谱,得到目标频谱。
[0147]
如果变化部分为修改内容,则可以根据变化部分对应的语音帧的时长信息,在原始语音的原始频谱中,变化部分对应的位置进行频谱替换处理,获得目标频谱。比如,在原始文本的b-c处修改内容得到目标文本,在原始语音的原始频谱中,可以将b-c对应的位置处替换与修改内容对应的语音帧的时长相同的频谱,得到目标频谱。
[0148]
基于变化部分的不同情况,根据变化部分对应的语音帧的时长信息,对原始语音的原始频谱进行填充处理,获得目标频谱,为其用作韵律参考信息提供基础保障。
[0149]
需要说明的是,对原始语音的原始频谱进行填充处理时,可以填充设定频率的频谱,如全零谱。使用全零谱进行填充处理,有助于保留其他部分的韵律,让合成的语音其他部分的韵律和原始的基本一致。
[0150]
在本发明的一个实施例中,获得目标语音,可以包括以下步骤:
[0151]
基于声纹,将进行语音合成处理后得到的新合成语音转换为目标音色的目标语音。
[0152]
在本发明实施例中,如图4所示,根据目标文本相对于原始文本的变化部分对应的语音帧的时长信息,对原始语音的原始频谱进行填充处理,获得目标频谱后,可以将目标频谱作为韵律参考信息,结合目标文本中的音素对应的语音帧的最终时长信息以及目标文本进行语音合成处理,可以得到新合成语音。进一步的,可以基于声纹,将新合成语音转换为目标音色的目标语音,如图5所示。目标音色可以为原始语音的音色,这样可以使得得到的目标语音在音色相似度和自然度上都保持较高水准。
[0153]
在本发明的一个实施例中,将目标频谱作为韵律参考信息,结合最终时长信息以及目标文本进行语音合成处理,获得目标语音,可以包括以下步骤:
[0154]
步骤一:将目标频谱作为韵律参考信息,并提取韵律参考信息的韵律表示;
[0155]
步骤二:将目标文本中每个音素映射到向量空间,获得目标文本的向量表示;
[0156]
步骤三:基于最终时长信息,对目标文本的向量表示进行扩展处理;
[0157]
步骤四:将韵律表示和扩展处理后的目标文本的向量表示进行拼接,经变换后,转换为目标语音。
[0158]
为方便描述,将上述几个步骤结合起来进行说明。
[0159]
在获得待处理的原始语音、与原始语音匹配的原始文本、原始文本对应的目标文本之后,确定目标文本中的音素对应的语音帧的最终时长信息,该最终时长信息包括目标文本相对于原始文本的变化部分对应的语音帧的时长信息,根据变化部分对应的语音帧的时长信息,对原始语音的原始频谱进行填充处理,获得目标频谱。将目标频谱作为韵律参考信息,并可以提取韵律参考信息的韵律表示。具体的,可以对韵律参考信息进行卷积和经过rnn(recurrent neural network,循环神经网络)等操作,提取出韵律表示,如提取出32维的韵律表示。
[0160]
通过训练和推理,可以将目标文本中每个音素映射到向量空间,获得目标文本的向量表示。向量空间包括若干音素的向量表示,通过向量表示中的系数可以对各音素进行描述。比如向量空间包括音素“a”、“b”、“c”、“d”、“e”等音素的向量表示,目标文本包括三个音素:a、d、c,将这三个音素映射到向量空间,可以提取到音素“a”、“d”、“c”的向量表示,从而获得目标文本的向量表示,如得到3x256的矩阵。
[0161]
之前已经确定出目标文本中的音素对应的语音帧的最终时长信息,基于最终时长信息,可以对目标文本的向量表示进行扩展处理。比如,目标文本包括的音素“a”对应的语音帧的最终时长信息为1帧,音素“d”对应的语音帧的最终时长信息为4帧,音素“c”对应的语音帧的最终时长信息为3帧,基于最终时长信息,对目标文本的向量表示进行扩展处理,可以得到“addddccc”对应的向量表示,如得到8x256的矩阵。
[0162]
将韵律表示和扩展处理后的目标文本的向量表示进行拼接,再经过一些变换,如进行卷积、经过attention(注意力)层等的操作,可以转换为目标语音。如,将32维的韵律参考信息和8x256的向量表示进行拼接,可以得到8x(256+32)=8x288的矩阵,进而通过卷积等操作,可以转换为目标语音。
[0163]
将目标频谱作为韵律参考信息,结合最终时长信息以及目标文本进行语音合成处理,可以保证获得的目标语音更加自然,和原始语音的情感相似。
[0164]
相应于上面的方法实施例,本发明实施例还提供了一种语音处理装置,下文描述的语音处理装置与上文描述的语音处理方法可相互对应参照。
[0165]
参见图6所示,该语音处理装置可以包括以下模块:
[0166]
数据获得模块610,用于获得待处理的原始语音、与原始语音匹配的原始文本、原始文本对应的目标文本,目标文本为对原始文本进行修改后的文本;
[0167]
最终时长信息确定模块620,用于确定目标文本中的音素对应的语音帧的最终时长信息,最终时长信息包括目标文本相对于原始文本的变化部分对应的语音帧的时长信息;
[0168]
目标频谱获得模块630,用于根据变化部分对应的语音帧的时长信息,对原始语音的原始频谱进行填充处理,获得目标频谱;
[0169]
目标语音获得模块640,用于将目标频谱作为韵律参考信息,结合最终时长信息以及目标文本进行语音合成处理,获得目标语音。
[0170]
应用本发明实施例所提供的装置,先确定目标文本中的音素对应的语音帧的最终时长信息,然后根据目标文本相对于原始文本的变化部分对应的语音帧的时长信息,对原始语音的原始频谱进行填充处理,获得目标频谱,最后将目标频谱作为韵律参考信息,结合最终时长信息以及目标文本进行语音合成处理,获得目标语音。将对原始语音的原始频谱做填充后得到的目标频谱作为韵律参考信息,结合确定出的目标文本中的音素对应的语音帧的最终时长信息以及目标文本进行语音合成处理,可以充分利用原始语音的韵律信息,保证目标语音在听感上的连续性,使得整段语音的韵律更自然。
[0171]
在本发明的一种具体实施方式中,最终时长信息确定模块620,用于:
[0172]
确定原始文本中的音素对应于原始语音的语音帧的实际时长信息;
[0173]
基于原始文本中的音素对应的语音帧的实际时长信息,预测得到目标文本相对于原始文本的变化部分对应的语音帧的时长信息;
[0174]
根据实际时长信息和变化部分对应的语音帧的时长信息,确定目标文本中的音素对应的语音帧的最终时长信息。
[0175]
在本发明的一种具体实施方式中,最终时长信息确定模块620,用于:
[0176]
将目标文本的音素序列输入到预先训练获得的第一时长预测模型中,通过第一时长预测模型获得目标文本中的音素对应的语音帧的初始时长信息;
[0177]
基于原始文本中的音素对应的语音帧的实际时长信息和目标文本中的音素对应的语音帧的初始时长信息,预测得到目标文本相对于原始文本的变化部分对应的语音帧的时长信息。
[0178]
在本发明的一种具体实施方式中,最终时长信息确定模块620,用于:
[0179]
将原始文本中的音素对应的语音帧的实际时长信息和目标文本中的音素对应的语音帧的初始时长信息进行对比,确定目标文本相对于原始文本的相同部分对应的语音帧的初始时长信息与实际时长信息的比例关系;
[0180]
根据比例关系,预测得到目标文本相对于原始文本的变化部分对应的语音帧的时长信息。
[0181]
在本发明的一种具体实施方式中,最终时长信息确定模块620,用于:
[0182]
将原始文本中的音素序列输入到预先训练获得的第二时长预测模型中,通过第二时长预测模型获得原始文本中的音素对应的语音帧的预测时长信息;
[0183]
根据原始文本中的音素对应的语音帧的实际时长信息和预测时长信息的比对结果,对第二时长预测模型进行重新训练;
[0184]
将目标文本的音素序列输入到重新训练后的第二时长预测模型中,预测得到目标文本相对于原始文本的变化部分对应的语音帧的时长信息。
[0185]
在本发明的一种具体实施方式中,最终时长信息确定模块620,用于:
[0186]
对原始语音和原始文本进行对齐处理;
[0187]
根据对齐关系,确定原始文本中的音素对应于原始语音的语音帧的实际时长信息。
[0188]
在本发明的一种具体实施方式中,目标频谱获得模块630,用于:
[0189]
如果变化部分为新增内容,则根据变化部分对应的语音帧的时长信息,在原始语音的原始频谱中,变化部分对应的位置进行频谱插入处理,获得目标频谱;
[0190]
如果变化部分为修改内容,则根据变化部分对应的语音帧的时长信息,在原始语音的原始频谱中,变化部分对应的位置进行频谱替换处理,获得目标频谱。
[0191]
在本发明的一种具体实施方式中,目标语音获得模块640,用于:
[0192]
基于声纹,将进行语音合成处理后得到的新合成语音转换为目标音色的目标语音。
[0193]
在本发明的一种具体实施方式中,目标语音获得模块640,用于:
[0194]
将目标频谱作为韵律参考信息,并提取韵律参考信息的韵律表示;
[0195]
将目标文本中每个音素映射到向量空间,获得目标文本的向量表示;
[0196]
基于最终时长信息,对目标文本的向量表示进行扩展处理;
[0197]
将韵律表示和扩展处理后的目标文本的向量表示进行拼接,经变换后,转换为目标语音。
[0198]
本发明实施例还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
[0199]
存储器703,用于存放计算机程序;
[0200]
处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:
[0201]
获得待处理的原始语音、与原始语音匹配的原始文本、原始文本对应的目标文本,目标文本为对原始文本进行修改后的文本;
[0202]
确定目标文本中的音素对应的语音帧的最终时长信息,最终时长信息包括目标文本相对于原始文本的变化部分对应的语音帧的时长信息;
[0203]
根据变化部分对应的语音帧的时长信息,对原始语音的原始频谱进行填充处理,获得目标频谱;
[0204]
将目标频谱作为韵律参考信息,结合最终时长信息以及目标文本进行语音合成处理,获得目标语音。
[0205]
上述终端提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0206]
通信接口用于上述终端与其他设备之间的通信。
[0207]
存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0208]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0209]
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一的语音处理方法。
[0210]
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一的语音处理方法。
[0211]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0212]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存
在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0213]
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0214]
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1