一种基于发音人向量的语音合成方法和装置与流程

未命名 10-19 阅读:118 评论:0


1.本技术涉及计算机技术领域,更具体地,涉及一种基于发音人向量的语音合成方法和装置。


背景技术:

2.语音合成能够实现文本到语音的转换(text to speech,tts),可以将文本通过一系列的算法操作转换为声音,实现机器模拟人进行发音的过程。
3.现有技术中,为了使输出的音频符合目标发音人的说话风格,通常需要先基于大量音频数据训练出与目标人对应的语音合成模型,导致语音合成效率较低,训练成本高。
4.因此,如何提高语音合成的效率,是目前有待解决的技术问题。
5.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

6.本技术实施例提出了一种基于发音人向量的语音合成方法和装置,利用从预设声纹模型提取的发音人向量,实现对预设声学模型的微调,以提高语音合成的效率。
7.第一方面,提供一种基于发音人向量的语音合成方法,所述方法包括:根据预设文本分析算法对待处理文本进行分析,得到前端文本特征;基于预设声学模型对所述前端文本特征进行编码,得到与语种信息和发音人信息解耦的编码特征;基于预设声纹模型从目标发音人的音频中提取发音人向量;基于所述预设声学模型对所述编码特征、所述发音人向量和目标语种信息进行解码,得到依次生成的多个频谱帧;将各所述频谱帧依次输入预设声码器,生成目标音频。
8.第二方面,提供一种基于发音人向量的语音合成装置,所述装置包括:分析模块,用于根据预设文本分析算法对待处理文本进行分析,得到前端文本特征;编码模块,用于基于预设声学模型对所述前端文本特征进行编码,得到与语种信息和发音人信息解耦的编码特征;提取模块,用于基于预设声纹模型从目标发音人的音频中提取发音人向量;解码模块,用于基于所述预设声学模型对所述编码特征、所述发音人向量和目标语种信息进行解码,得到依次生成的多个频谱帧;生成模块,用于将各所述频谱帧依次输入预设声码器,生成目标音频。
9.第三方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行第一方面所述的基于发音人向量的语音合成方法。
10.第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的基于发音人向量的语音合成方法。
11.通过应用以上技术方案,根据预设文本分析算法对待处理文本进行分析,得到前端文本特征,基于预设声学模型对前端文本特征进行编码,得到与语种信息和发音人信息
解耦的编码特征,基于预设声纹模型从目标发音人的音频中提取发音人向量。基于预设声学模型对编码特征、发音人向量和目标语种信息进行解码,得到依次生成的多个频谱帧,将各频谱帧依次输入预设声码器,生成目标音频,以此利用从预设声纹模型提取的发音人向量,实现对预设声学模型的微调,从而提高了语音合成的效率。
附图说明
12.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
13.图1示出了本发明实施例提出的一种基于发音人向量的语音合成方法的流程示意图;
14.图2示出了本发明实施例中提取发音人向量的流程示意图;
15.图3示出了本发明实施例中对预设编码网络的输出结果进行对抗训练的流程示意图;
16.图4示出了本发明实施例中生成目标音频的流程示意图;
17.图5示出了本发明实施例中确定前端文本特征的流程示意图;
18.图6示出了本发明实施例中预设声学模型的运行原理示意图;
19.图7示出了本发明实施例中预设声码器的生成器中卷积神经网络的运行原理示意图;
20.图8示出了本发明实施例提出的一种基于发音人向量的语音合成装置的结构示意图;
21.图9示出了本发明实施例提出的一种电子设备的结构示意图。
具体实施方式
22.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
23.需要说明的是,本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由权利要求部分指出。
24.应当理解的是,本技术并不局限于下面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
25.本技术可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
26.本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
27.本技术实施例提供一种基于发音人向量的语音合成方法,如图1所示,该方法包括以下步骤:
28.步骤s101,根据预设文本分析算法对待处理文本进行分析,得到前端文本特征。
29.本实施例中,待处理文本是需要进行语音合成的文本,待处理文本可以是用户直接输入的文本,也可以是人机交互过程中计算机自动生成的文本,还可以是通过扫描仪、手机、相机等图像采集设备采集得到图像,并对图像进行ocr(optical character recognition,光学字符识别)得到的文本,本实施例对此不作具体限定。本实施例的语音合成过程主要分为前端文本特征提取、声学模型和声码器三部分,实现端到端语音合成的功能。根据预设文本分析算法对待处理文本进行分析,例如可进行文本归一化、分词、词性标注、韵律、重音、多音字预测等分析步骤,得到前端文本特征。
30.在本技术一些实施例中,在根据预设文本分析算法对待处理文本进行分析之前,还包括对待处理文本进行缺失值的填充、异常值过滤和重复值过滤,以实现对待处理文本的预处理。具体的,缺失值的填充可以为多重插补,异常值的处理可采用异常值检测算法识别出异常值并删除,重复值过滤为对重复值进行去重处理,从而可进一步提高前端文本特征的准确性。
31.步骤s102,基于预设声学模型对所述前端文本特征进行编码,得到与语种信息和发音人信息解耦的编码特征。
32.在语音合成时,输入序列(文本)与输出序列(音频)长度常常不是一致的,不能直接将输入序列的每个字符与目标发音一一对应,因此需要利用预设声学模型将前端文本特征依次进行编码和解码运算。基于预设声学模型对前端文本特征进行编码,将前端文本特征转换成一个隐层表征,该隐层表征即编码特征。
33.由于需要合成符合目标发音人向量和目标语种信息的音频,因此需要预先训练预设声学模型,使预设声学模型在编码时将前端文本特征中与语种信息和发音人信息相关的特征进行解耦,得到与语种信息和发音人信息解耦的编码特征,以使后续在嵌入目标发音人向量和目标语种信息时不会发生混淆。
34.在本技术具体的应用场景中,预设声学模型中设置有编码器,通过编码器对前端文本特征进行编码后得到编码特征。
35.步骤s103,基于预设声纹模型从目标发音人的音频中提取发音人向量。
36.最终合成的目标音频需要符合目标发音人的发音特征,如音色、说话节奏等,预先根据目标发音人的音频样本训练出预设声纹模型,对目标发音人的音频进行声纹识别。声纹是携带有言语信息的声波频谱,能够区分出海量的发音人,将目标发音人的音频输入预设声纹模型,可提取符合目标发音人发音特征的发音人向量,发音人向量包括多个维度,例如可以为128维。
37.步骤s104,基于所述预设声学模型对所述编码特征、所述发音人向量和目标语种
信息进行解码,得到依次生成的多个频谱帧。
38.目标语种信息为指定语种的语种特征,指定语种如中文、英文、德文等,用于使目标音频符合指定语种的发音。在获取编码特征和发音人向量后,将发音人向量和目标语种信息输入预设声学模型,并基于预设声学模型对编码特征、发音人向量和目标语种信息进行解码,得到依次生成的多个频谱帧,各频谱帧嵌入了发音人向量和目标语种信息,实现利用从声纹模型提取的发音人向量对预设声学模型进行微调,使预设声学模型输出符合指定发音人的频谱帧,由于只是利用目标发音人的少量音频数据,可提高语音合成的效率。各频谱帧可作为频谱特征,各频谱帧的类型可以为梅尔频谱。
39.在本技术一些实施例中,预设声学模型采用预设自回归循环神经网络进行解码,预设自回归循环神经网络的首次输入包括编码特征、发音人向量和目标语种信息,预设自回归循环神经网络在各时刻的输出包括当前时刻的频谱帧和当前时刻的隐藏层参数信息,除首次输入以外,预设自回归循环神经网络在各时刻的输入包括上一时刻的频谱帧和上一时刻的隐藏层参数信息。
40.本实施例中,预设自回归循环神经网络对编码特征进行解码运算时,在各时刻包括一路输入和一路输出,由于在各时刻的输入加入了上一时刻的隐藏层参数信息,由此可使各时刻的频谱帧与自身前一时刻的频谱帧之间有效衔接,实现流式输出各频谱帧,形成连贯的频谱特征。由于各频谱帧之间具有良好的衔接性,将各频谱帧依次输入预设声码器后,可得到流式输出的音频,从而可极大提高语音合成的响应速度。
41.举例来说,对30个汉字进行语音合成时,现有技术中,需要等到完成整句音频合成之后,再返回音频数据,合成后音频的长度大概为6s,处理时间按照实时率(每合成一秒钟音频需要的时间)0.1s来算,需要0.6s的延迟。相比之下,本技术实施例中,可流式输出各频谱帧,不用等到完成整句音频合成再返回音频数据,响应时间可从0.6s降低到0.1s以内。
42.在本技术一些实施例中,所述预设声学模型中设置有预设注意力模型,所述预设自回归循环神经网络包括预处理网络层、长短期记忆网络层、后处理网络层,所述基于所述预设声学模型对所述编码特征、所述发音人向量和目标语种信息进行解码,得到依次生成的多个频谱帧,包括:
43.基于所述预处理网络层和所述长短期记忆网络层对所述编码特征、所述发音人向量和目标语种信息按注意力向量进行基于预设维度的线性投影,得到多个中间频谱帧;
44.基于所述后处理网络层对各所述中间频谱帧进行残差预测和归一化处理,得到各所述频谱帧;
45.其中,所述注意力向量是由所述预设注意力模型确定的。
46.本实施例中,预设声学模型中设置有预设注意力模型,预设注意力模型用于基于注意力机制确定注意力向量,预设自回归循环神经网络包括预处理网络层、长短期记忆网络层、后处理网络层,先基于预处理网络层和长短期记忆网络层对编码特征、发音人向量和目标语种信息按注意力向量进行基于预设维度的线性投影,得到多个中间频谱帧,然后基于后处理网络层对各中间频谱帧进行残差预测和归一化处理,得到各频谱帧,从而提高了各频谱帧的准确性。
47.可选的,预处理网络层为双层全连接层,每层全连接层由256个隐藏激活函数relu单元组成,后处理网络层为五层卷积层,每层由512个5x1的卷积核组成,除了最后一层卷积
层,其它每层卷积层的归一化的过程都采用激活函数tanh激活。隐藏层参数信息可包括注意力向量和长短期记忆网络层的隐藏层参数。
48.步骤s105,将各所述频谱帧依次输入预设声码器,生成目标音频。
49.本实施例中,将各频谱帧依次输入预设声码器,预设声码器对各频谱帧进行频谱分析,生成与待处理文本对应的目标音频。
50.在本技术一些实施例中,预设声码器基于style gan,且加入了pitch的正弦激励信号,大大提升了预设声码器的建模能力。
51.通过应用以上技术方案,根据预设文本分析算法对待处理文本进行分析,得到前端文本特征,基于预设声学模型对前端文本特征进行编码,得到与语种信息和发音人信息解耦的编码特征,基于预设声纹模型从目标发音人的音频中提取发音人向量。基于预设声学模型对编码特征、发音人向量和目标语种信息进行解码,得到依次生成的多个频谱帧,将各频谱帧依次输入预设声码器,生成目标音频,以此利用从预设声纹模型提取的发音人向量,实现对预设声学模型的微调,从而提高了语音合成的效率。
52.在本技术任意实施例的基础上,所述预设声纹模型采用包括全连接层的神经网络,所述基于预设声纹模型从目标发音人的音频中提取发音人向量,如图2所示,包括以下步骤:
53.步骤s201,将所述目标发音人的音频输入所述预设声纹模型,并从所述预设声纹模型的全连接层获取多个维度的向量数据。
54.本实施例中,预设声纹模型采用包括全连接层的神经网络,可输出与目标发音人对应的发音人标签,实现对目标发音人的分类。全连接层为预设声纹模型在分类之前的最后一层,因此,从该全连接层提取的向量数据可表征目标发音人的发音特征,该向量数据为多个维度,例如可以为128维。
55.在本技术具体的应用场景中,预设声纹模型由2层cnn层、1层lstm(long short term memory network,长短时记忆网络)层、1层全连接层和softmax层依次连接形成。可选的,预设声纹模型中,第1层cnn层的节点数为128,第2层cnn层的节点数为256,lstm层的节点数为256,全连接层的节点数为128。
56.步骤s202,根据所述向量数据确定所述发音人向量。
57.将从全连接层获取的多个维度的向量数据作为发音人向量,以此从预设声纹模型的全连接层提取发音人向量,提高了发音人向量的准确性。
58.在本技术任意实施例的基础上,所述预设声学模型采用预设编码网络进行编码,在基于预设声学模型对所述前端文本特征进行编码,得到与语种信息和发音人信息解耦的编码特征之前,如图3所示,所述方法还包括以下步骤:
59.步骤s301,基于预设语种对抗网络对所述预设编码网络的输出结果进行对抗训练,得到语种对抗训练结果。
60.为了使预设编码网络输出与语种信息和发音人信息解耦的编码特征,需要预先对预设编码网络的输出结果进行对抗训练,在自然语言处理领域中,对抗训练作为一种正则化手段,能够提高模型的泛化能力,同时还能够提高鲁棒性。
61.具体的,为了使输出结果与语种信息解耦,将预设编码网络的输出结果输入预设语种对抗网络并进行对抗训练,具体的,利用预设语种对抗网络输出与语种分类相关的语
种标签,并计算相应的损失函数,利用损失函数计算梯度,并将反转后的梯度作为语种对抗训练结果。其中,损失函数可以为交叉熵损失函数或最小化互信息损失函数。
62.步骤s302,基于预设发音人对抗网络对所述预设编码网络的输出结果进行对抗训练,得到发音人对抗训练结果。
63.为了使输出结果与发音人信息解耦,将预设编码网络的输出结果输入预设发音人对抗网络并进行对抗训练,具体的,利用预设发音人对抗网络输出与发音人分类相关的发音人标签,并计相应的损失函数,利用损失函数计算梯度,并将反转后的梯度作为发音人对抗训练结果。其中,损失函数可以为交叉熵损失函数或最小化互信息损失函数。
64.步骤s303,根据所述语种对抗训练结果和所述发音人对抗训练结果更新所述预设编码网络的参数,以使所述预设编码网络的输出结果与所述语种信息和所述发音人信息无关。
65.在得到语种对抗训练结果和发音人对抗训练结果后,基于两者更新预设编码网络的参数,使预设编码网络无法通过前端文本特征预测出发音人信息和语种信息,从而准确的将预设编码网络的输出结果与语种信息和发音人信息解耦。
66.在本技术具体的应用场景中,如图6所示为本发明实施例中预设声学模型的运行原理示意图。预设声学模型包括编码器(encoder)和解码器(decoder),解码器采用该预设自回归循环神经网络。预先对编码器的输出结果分别进行关于语种和发音人的对抗训练,根据语种对抗训练结果和发音人对抗训练结果更新编码器的参数。然后将前端文本特征输入编码器,得到编码特征。将该编码特征、发音人向量和目标语种信息输入解码器进行解码运算,解码器的首次输入包括编码特征、发音人向量和目标语种信息,在各时刻的输出包括当前时刻的频谱帧和当前时刻的隐藏层参数信息(即attention,lstm状态),除所述首次输入以外,解码器在各时刻的输入包括上一时刻的频谱帧和上一时刻的隐藏层参数信息。以图6为例,t0、t1、t2分别为各时刻,解码器下方的各箭头表示各时刻的输入,解码器上方的各箭头表示各时刻的输出,解码器在t0时刻的输出包括t0时刻的频谱帧和t0时刻的隐藏层参数信息,解码器在t1时刻的输入包括t0时刻的频谱帧和t0时刻的隐藏层参数信息,之后以此类推。由此可使各时刻的频谱帧与自身前一时刻的频谱帧之间有效衔接,实现流式输出各频谱帧,形成连贯的频谱特征。
67.在本技术一些实施例中,所述预设编码网络包括字符嵌入层、三卷积层和双向长短期记忆网络层,所述基于预设声学模型对所述前端文本特征进行编码,得到与语种信息和发音人信息解耦的编码特征,包括:
68.基于所述字符嵌入层将所述前端文本特征转换为预设维度的字符向量,得到编码字符向量;
69.基于所述三卷积层对所述编码字符向量进行归一化处理,得到卷积向量;
70.调用预置的激活函数激活所述卷积向量,得到激活向量;
71.基于所述双向长短期记忆网络层对所述激活向量进行预测,得到所述编码特征。
72.本实施例中,预设编码网络包括字符嵌入层、三卷积层和双向长短期记忆网络层,先基于字符嵌入层将前端文本特征转换为预设维度的字符向量,得到编码字符向量,然后基于三卷积层对编码字符向量进行归一化处理,得到卷积向量,再调用预置的激活函数激活卷积向量,得到激活向量,最后基于双向长短期记忆网络层对激活向量进行预测,得到编
码特征,从而提高了编码特征的准确性。
73.可选的,预设维度可以为512维,三卷积层包括三层卷积层,每层卷积层包含512个5x1的卷积核,即每个卷积核横跨5个字符,激活函数为relu函数,双向长短期记忆网络层包括512个单元,每个方向包括256个单元。
74.在本技术任意实施例的基础上,所述预设声码器采用生成对抗网络,所述生成对抗网络中的生成器采用卷积神经网络,所述将各所述频谱帧依次输入预设声码器,生成目标音频,如图4所示,包括以下步骤:
75.步骤s401,若到达所述预设声码器的所述频谱帧的数量达到预设数量,将各所述频谱帧作为当前输入数据输入所述卷积神经网络的输入层,根据所述卷积神经网络的输出层确定当前音频帧,并缓存目标数据。
76.本实施例中,预设声码器采用生成对抗网络,生成对抗网络中的生成器采用卷积神经网络。卷积神经网络包括输入层、隐藏层以及输出层,隐藏层又包括卷积层、池化层和全连接层。由预设声学模型输出的频谱帧依次到达预设声码器,在到达的频谱帧的数量达到预设数量时,可以将到达的频谱帧作为当前输入数据输入卷积神经网络的输入层,然后经卷积神经网络的隐藏层,由输出层输出与当前输入数据对应的音频帧,并缓存目标数据,目标数据包括当前输入数据中除第一个频谱帧以外的各剩余频谱帧,以及与剩余频谱帧相关的隐藏层参数。举例来说,若当前输入数据包括频谱帧1、频谱帧2、频谱帧3和频谱帧4四个频谱帧,则目标数据为频谱帧2、频谱帧3和频谱帧4这三个频谱帧和相关的隐藏层参数。
77.步骤s402,将下一个新的频谱帧输入所述输入层,并调用所述目标数据到所述卷积神经网络,根据所述输出层确定下一个音频帧。
78.在将下一个新的频谱帧输入卷积神经网络的输入层后,调用缓存的目标数据,使下一个新的频谱帧与目标数据组成新的当前输入数据,卷积神经网络的输出层可输出下一个音频帧,之后继续获取下一个新的频谱帧,以此类推,可依次确定出多个音频帧。
79.由于将历史时刻的输入层数据与当前时刻的频谱帧一起输入卷积神经网络的输入层,保证了卷积神经网络的输出层输出的音频帧的准确性。
80.在本技术具体的应用场景中,如图7所示为预设声码器的生成器中卷积神经网络的运行原理示意图,图中卷积神经网络包括3层卷积核为2的卷积层,若在当前时刻从卷积神经网络的输入层输入1、2、3、4号节点的数据,经隐藏层中5-9号节点后,从输出层输出10号节点的数据,此时缓存2、3、4号节点的数据。在将下一个新的频谱帧输入卷积神经网络的输入层中的11号节点后,调用之前缓存的2、3、4号节点的数据,将2、3、4、11号节点的数据作为新的当前输入数据,最终由输出层输出14号节点的数据。另外,从输出层输出10号节点的数据后,除了缓存2、3、4号节点的数据,还缓存与2、3、4号节点的数据对应的隐藏层参数,即缓存6、7、9号节点的数据,从而在下一个新的频谱帧输入卷积神经网络的输入层中的11号节点后,可避免重复对6、7、9号节点的数据进行重复计算,可进一步降低延迟。
81.步骤s403,根据依次确定的各所述音频帧生成所述目标音频。
82.实施例中,将依次确定的各音频帧依次流式输出,生成与待处理文本对应的目标音频,由于各音频帧考虑了历史时刻的音频帧数据,使各音频帧之间具有良好的衔接性,不需要在得到整句话的音频帧后才输出音频数据,实现了各音频帧的流式输出,提高了响应速度。
83.在本技术一些实施例中,预设声码器基于style gan,且加入了pitch的正弦激励信号,大大提升了预设声码器的建模能力。
84.在本技术任意实施例的基础上,所述根据预设文本分析算法对待处理文本进行分析,得到前端文本特征,如图5所示,包括以下步骤:
85.步骤s501,根据所述待处理文本中各字符的字符编码,识别所述待处理文本中包括的语种。
86.待处理文本中包括多个字符,不同语种的字符采用相应的字符编码,根据各字符的字符编码可确定待处理文本中包括的语种。例如,待处理文本中包含中文和英文字符,可以根据字符的unicode码或其他编码,识别出语种包括中文和英文。如果包含其他语种(例如,日语、法语等)的字符,可以根据对应的字符编码进行识别。
87.步骤s502,若所述语种为多个,分别将属于同一语种的连续字符划分为一个片段,得到多个片段。
88.若待处理文本中包括多个语种,需要根据语种将待处理文本划分为多个片段,具体的,分别将属于同一语种的连续字符划分为一个片段,得到多个片段。
89.在本技术一些实施例中,若当前片段的字符属于预设归一化字符,将当前片段的字符按预设语种进行归一化,例如,当前片段的字符为12km/h,可按中文语种进行归一化,转换为12千米每小时,后续发出的语音则是中文读法,从而更加符合中文用户的习惯。
90.可以理解的是,若待处理文本中仅包括单个语种,则将待处理文本作为一个片段。
91.步骤s503,根据各所述片段的韵律信息确定所述前端文本特征。
92.在获取各片段后,确定各片段的韵律信息,韵律信息是指人阅读或说话过程中的停顿、重音、节奏等主观性语言学的范畴,根据韵律信息确定待处理文本的前端文本特征。
93.通过按待处理文本中包括的语种将待处理文本划分为多个片段,并根据各片段的韵律信息确定符合不同语种的前端文本特征,提高了前端文本特征的准确性。
94.在本技术一些实施例中,在根据各所述片段的韵律信息确定所述前端文本特征之前,所述方法还包括:
95.基于预设分词模型确定所述片段的分词信息;
96.基于预设位置识别模型确定所述片段中各字符的位置信息;
97.基于预设音调识别模型确定所述片段中各字符的音调信息;
98.根据所述分词信息、所述位置信息和所述音调信息确定所述韵律信息。
99.本实施例中,分词是文本分析的基本模块,合理的分词能够有效对多音字、停顿等进行识别。分词信息可包括多个分词标签,各分词标签可将待处理文本划分为多个分词,分词标签表征了每个文字在分词中的位置以及是否为单字词。分词标签可包括分词的起始位置、分词的结束位置、分词的其他位置、单字词。预先建立预设分词模型,基于该预设分词模型对片段进行分词处理,得到分词信息。在预设分词模型的训练阶段,通过收集语音合成领域语料进行标注,分词标签包括:b、e、m、s。b表示分词的起始位置,e表示分词的结束位置,m表示分词的其他位置,s表示单字词。在预设分词模型预测阶段,对每个字预测对应的分词标签,就可以获得分词结果。另外,所述预设分词模型采用语义化的分词策略,例如:大家早上好!现有技术中通常的分词分成:大家,早上,好。本实施例中,考虑了发音和语义一致性问题,将分词分为:大家,早上好,对应分词标签为:be/bme,从而可获取更加合理的分词结
果。
100.位置信息表征了每个文字在句子里的位置,可包括句首、句尾、句中标点符号前、句中标点符号后、句子的其他位置。预先建立预设位置识别模型,将片段输入预设位置识别模型,根据预设位置识别模型的输出结果确定位置信息,从而可更加准确的进行位置识别。
101.每个文字均带有音调,例如,若待处理文本为中文,原始音调可包括1声、2声、3声、4声、5声(轻声)。对于语音合成来说,一个字的发音正确与否也非常重要。预先建立预设音调识别模型,将片段输入预设音调识别模型,从而准确的进行音调识别。
102.在确定出分词信息、位置信息和音调信息后,可根据分词信息、位置信息和音调信息确定出片段的韵律信息,具体的,可预先建立一个预设韵律映射规则表,该预设韵律映射规则表中包括将音调信息映射为韵律值的韵律映射规则,根据位置信息、分词信息和音调信息查询预设韵律映射规则表,根据查询出的各韵律值确定韵律信息。
103.在本技术一些实施例中,预设分词模型、预设位置识别模型和预设音调识别模型的模型结构均由bert(bidirectional encoder representations from transformer,基于transformer的双向编码器表示)模型、2层blstm(bidirectional long short term memory network,双向长短时记忆网络)模型、1层全连接层和softmax层依次连接形成。
104.本实施例中,通过大量数据预训练的bert模型来提取隐藏向量,再对隐藏向量输入到blstm网络,最后通过一层全连接层和softmax进行分类。从而可更加准确的分别确定出各分词信息、位置信息和音调信息。本领域技术人员可根据实际需要采用其他不同的模型结构,这并不影响本技术的保护范围。
105.本技术实施例还提出了一种基于发音人向量的语音合成装置,如图8所示,所述装置包括:分析模块801,用于根据预设文本分析算法对待处理文本进行分析,得到前端文本特征;编码模块802,用于基于预设声学模型对所述前端文本特征进行编码,得到与语种信息和发音人信息解耦的编码特征;提取模块803,用于基于预设声纹模型从目标发音人的音频中提取发音人向量;解码模块804,用于基于所述预设声学模型对所述编码特征、所述发音人向量和目标语种信息进行解码,得到依次生成的多个频谱帧;生成模块805,用于将各所述频谱帧依次输入预设声码器,生成目标音频。
106.在具体的应用场景中,所述预设声纹模型采用包括全连接层的神经网络,提取模块803,具体用于:将所述目标发音人的音频输入所述预设声纹模型,并从所述预设声纹模型的全连接层获取多个维度的向量数据;根据所述向量数据确定所述发音人向量。
107.在具体的应用场景中,所述预设声学模型采用预设编码网络进行编码,所述装置还包括对抗训练模块,用于:基于预设语种对抗网络对所述预设编码网络的输出结果进行对抗训练,得到语种对抗训练结果;基于预设发音人对抗网络对所述预设编码网络的输出结果进行对抗训练,得到发音人对抗训练结果;根据所述语种对抗训练结果和所述发音人对抗训练结果更新所述预设编码网络的参数,以使所述预设编码网络的输出结果与所述语种信息和所述发音人信息无关。
108.在具体的应用场景中,所述预设声学模型采用预设自回归循环神经网络进行解码,所述预设自回归循环神经网络的首次输入包括所述编码特征、所述发音人向量和所述目标语种信息,所述预设自回归循环神经网络在各时刻的输出包括当前时刻的频谱帧和当前时刻的隐藏层参数信息,除所述首次输入以外,所述预设自回归循环神经网络在各时刻
的输入包括上一时刻的频谱帧和上一时刻的隐藏层参数信息。
109.在具体的应用场景中,所述预设声码器采用生成对抗网络,所述生成对抗网络中的生成器采用卷积神经网络,生成模块805,具体用于:若到达所述预设声码器的所述频谱帧的数量达到预设数量,将各所述频谱帧作为当前输入数据输入所述卷积神经网络的输入层,根据所述卷积神经网络的输出层确定当前音频帧,并缓存目标数据;将下一个新的频谱帧输入所述输入层,并调用所述目标数据到所述卷积神经网络,根据所述输出层确定下一个音频帧;根据依次确定的各所述音频帧生成所述目标音频;其中,所述目标数据包括所述当前输入数据中除第一个频谱帧以外的各剩余频谱帧,以及与所述剩余频谱帧相关的隐藏层参数。
110.在具体的应用场景中,分析模块801,具体用于:根据所述待处理文本中各字符的字符编码,识别所述待处理文本中包括的语种;若所述语种为多个,分别将属于同一语种的连续字符划分为一个片段,得到多个片段;根据各所述片段的韵律信息确定所述前端文本特征。
111.在具体的应用场景中,分析模块801,还具体用于:基于预设分词模型确定所述片段的分词信息;基于预设位置识别模型确定所述片段中各字符的位置信息;基于预设音调识别模型确定所述片段中各字符的音调信息;根据所述分词信息、所述位置信息和所述音调信息确定所述韵律信息。
112.通过应用以上技术方案,基于发音人向量的语音合成装置包括:分析模块,用于根据预设文本分析算法对待处理文本进行分析,得到前端文本特征;编码模块,用于基于预设声学模型对前端文本特征进行编码,得到与语种信息和发音人信息解耦的编码特征;提取模块,用于基于预设声纹模型从目标发音人的音频中提取发音人向量;解码模块,用于基于预设声学模型对编码特征、发音人向量和目标语种信息进行解码,得到依次生成的多个频谱帧;生成模块,用于将各频谱帧依次输入预设声码器,生成目标音频,以此利用从预设声纹模型提取的发音人向量,实现对预设声学模型的微调,从而提高了语音合成的效率。
113.本发明实施例还提供了一种电子设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,
114.存储器903,用于存储处理器的可执行指令;
115.处理器901,被配置为经由执行所述可执行指令来执行:
116.根据预设文本分析算法对待处理文本进行分析,得到前端文本特征;基于预设声学模型对所述前端文本特征进行编码,得到与语种信息和发音人信息解耦的编码特征;基于预设声纹模型从目标发音人的音频中提取发音人向量;基于所述预设声学模型对所述编码特征、所述发音人向量和目标语种信息进行解码,得到依次生成的多个频谱帧;将各所述频谱帧依次输入预设声码器,生成目标音频。
117.上述通信总线可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
118.通信接口用于上述终端与其他设备之间的通信。
119.存储器可以包括ram(random access memory,随机存取存储器),也可以包括非易失性存储器,例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
120.上述的处理器可以是通用处理器,包括cpu(central processing unit,中央处理器)、np(network processor,网络处理器)等;还可以是dsp(digital signal processing,数字信号处理器)、asic(application specific integrated circuit,专用集成电路)、fpga(field programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
121.在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于发音人向量的语音合成方法。
122.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如上所述的基于发音人向量的语音合成方法。
123.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘)等。
124.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
125.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
126.以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

技术特征:
1.一种基于发音人向量的语音合成方法,其特征在于,所述方法包括:根据预设文本分析算法对待处理文本进行分析,得到前端文本特征;基于预设声学模型对所述前端文本特征进行编码,得到与语种信息和发音人信息解耦的编码特征;基于预设声纹模型从目标发音人的音频中提取发音人向量;基于所述预设声学模型对所述编码特征、所述发音人向量和目标语种信息进行解码,得到依次生成的多个频谱帧;将各所述频谱帧依次输入预设声码器,生成目标音频。2.如权利要求1所述的方法,其特征在于,所述预设声纹模型采用包括全连接层的神经网络,所述基于预设声纹模型从目标发音人的音频中提取发音人向量,包括:将所述目标发音人的音频输入所述预设声纹模型,并从所述预设声纹模型的全连接层获取多个维度的向量数据;根据所述向量数据确定所述发音人向量。3.如权利要求1所述的方法,其特征在于,所述预设声学模型采用预设编码网络进行编码,在基于预设声学模型对所述前端文本特征进行编码,得到与语种信息和发音人信息解耦的编码特征之前,所述方法还包括:基于预设语种对抗网络对所述预设编码网络的输出结果进行对抗训练,得到语种对抗训练结果;基于预设发音人对抗网络对所述预设编码网络的输出结果进行对抗训练,得到发音人对抗训练结果;根据所述语种对抗训练结果和所述发音人对抗训练结果更新所述预设编码网络的参数,以使所述预设编码网络的输出结果与所述语种信息和所述发音人信息无关。4.如权利要求1所述的方法,其特征在于,所述预设声学模型采用预设自回归循环神经网络进行解码,所述预设自回归循环神经网络的首次输入包括所述编码特征、所述发音人向量和所述目标语种信息,所述预设自回归循环神经网络在各时刻的输出包括当前时刻的频谱帧和当前时刻的隐藏层参数信息,除所述首次输入以外,所述预设自回归循环神经网络在各时刻的输入包括上一时刻的频谱帧和上一时刻的隐藏层参数信息。5.如权利要求1所述的方法,其特征在于,所述预设声码器采用生成对抗网络,所述生成对抗网络中的生成器采用卷积神经网络,所述将各所述频谱帧依次输入预设声码器,生成目标音频,包括:若到达所述预设声码器的所述频谱帧的数量达到预设数量,将各所述频谱帧作为当前输入数据输入所述卷积神经网络的输入层,根据所述卷积神经网络的输出层确定当前音频帧,并缓存目标数据;将下一个新的频谱帧输入所述输入层,并调用所述目标数据到所述卷积神经网络,根据所述输出层确定下一个音频帧;根据依次确定的各所述音频帧生成所述目标音频;其中,所述目标数据包括所述当前输入数据中除第一个频谱帧以外的各剩余频谱帧,以及与所述剩余频谱帧相关的隐藏层参数。6.如权利要求1所述的方法,其特征在于,所述根据预设文本分析算法对待处理文本进
行分析,得到前端文本特征,包括:根据所述待处理文本中各字符的字符编码,识别所述待处理文本中包括的语种;若所述语种为多个,分别将属于同一语种的连续字符划分为一个片段,得到多个片段;根据各所述片段的韵律信息确定所述前端文本特征。7.如权利要求6所述的方法,其特征在于,在根据各所述片段的韵律信息确定所述前端文本特征之前,所述方法还包括:基于预设分词模型确定所述片段的分词信息;基于预设位置识别模型确定所述片段中各字符的位置信息;基于预设音调识别模型确定所述片段中各字符的音调信息;根据所述分词信息、所述位置信息和所述音调信息确定所述韵律信息。8.一种基于发音人向量的语音合成装置,其特征在于,所述装置包括:分析模块,用于根据预设文本分析算法对待处理文本进行分析,得到前端文本特征;编码模块,用于基于预设声学模型对所述前端文本特征进行编码,得到与语种信息和发音人信息解耦的编码特征;提取模块,用于基于预设声纹模型从目标发音人的音频中提取发音人向量;解码模块,用于基于所述预设声学模型对所述编码特征、所述发音人向量和目标语种信息进行解码,得到依次生成的多个频谱帧;生成模块,用于将各所述频谱帧依次输入预设声码器,生成目标音频。9.一种电子设备,其特征在于,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1~7中任意一项所述的基于发音人向量的语音合成方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~7中任意一项所述的基于发音人向量的语音合成方法。

技术总结
本发明公开了一种基于发音人向量的语音合成方法和装置,该方法包括:根据预设文本分析算法对待处理文本进行分析,得到前端文本特征,基于预设声学模型对前端文本特征进行编码,得到与语种信息和发音人信息解耦的编码特征,基于预设声纹模型从目标发音人的音频中提取发音人向量。基于预设声学模型对编码特征、发音人向量和目标语种信息进行解码,得到依次生成的多个频谱帧,将各频谱帧依次输入预设声码器,生成目标音频,以此利用从预设声纹模型提取的发音人向量,实现对预设声学模型的微调,从而提高了语音合成的效率。从而提高了语音合成的效率。从而提高了语音合成的效率。


技术研发人员:涂清华 吴松城
受保护的技术使用者:厦门黑镜科技有限公司
技术研发日:2023.06.20
技术公布日:2023/10/15
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐