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

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

语音合成方法、装置、设备及存储介质与流程

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.图1为本技术一实施例的语音合成方法的流程示意图;
42.图2为本技术一实施例的语音合成装置的结构示意框图;
43.图3为本技术一实施例的计算机设备的结构示意框图。
44.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
45.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
46.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
47.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
48.近年来,随着深度学习的发展,tts模型(text-to-speech synthesis model,文本合成语音模型)引起了广泛的关注。大多数基于深度学习的语音合成系统由两部分组成:一是文本到语音模型,将文本转换为声学特征,如梅尔频谱;二是声码器,利用这种声学特性产生时域语音波形。
49.现代的tts模型可以分为自回归模型和非自回归模型。其中,自回归模型可以通过将输出分布分解为条件分布的乘积来生成高质量的样本,但由于累积的预测误差,自回归模型缺乏鲁棒性,在某些情况下,会出现单词跳过和重复的错误情况。非自回归模型如tacotron2和transformer-tts可以产生自然语音,但局限性在于推理时间随梅尔光谱图长度的增加线性增加。
50.近来,人们提出了各种非自回归的tts模型来克服自回归模型的不足。虽然非自回归tts模型能够稳定地合成语音,且其推理过程比自回归模型快,但非自回归tts模型仍然有一些限制:由于前馈模型如fastspeech不能产生不同的合成语音,因为是通过简单的回归来优化的,没有任何概率建模的目标函数,导致合成的语音效果较差。
51.因此,为了解决上述技术问题,参考图1,本技术提出一种语音合成方法,可基于去噪扩散概率模型的tts系统实现,该tts系统可配置在服务器中,且由文本编码器、步编码
器、持续时间预测器和解码器组成。该服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
52.其中一个实施例中,该语音合成方法包括如下步骤:
53.s11、识别文本所包含的音素序列,从所述音素序列中提取出上下文信息;
54.s12、根据所述上下文信息将所述音素序列与预设的梅尔频谱进行长度匹配,并根据匹配结果判断是否需要扩展所述音素序列;
55.s13、若是,则对所述文本进行预处理,确定所述文本对应的对齐信息,基于所述对齐信息扩展所述音素序列,直至所述音素序列的长度与所述预设的梅尔频谱的长度一致,得到目标音素序列;其中,所述对齐信息表征了待合成语音与所述文本的对齐关系;
56.s14、根据所述目标音素序列合成所述文本对应的语音。
57.如上述步骤s11所述,可先对输入文本进行预处理,以去除文本中的无效字符、消除歧义等,从而使最终合成的语音具有较好的效果。其中,无效字符包括逗号、句号或夹杂在文本中的标记信息,消除歧义是消除文本中具有逻辑错误的信息。
58.具体的,上述文本为语音合成处理的源数据,具体是指用于合成语音的数据素材。例如,当用户希望其客户端以语音播报的方式输出这一段文本时,则可将这一段文本发送至后台服务器,该后台服务器是基于去噪扩散概率模型的tts系统,后台服务器能够将这一段文本内容合成为语音后,返回给客户端播放。
59.音素序列是由多个音素组成的结构,所述音素,是语音中的最小的单位,依据音节里的发音动作来分析,一个动作构成一个音素。对于文本来说,不论是英文还是中文,在人们朗读发声时,都有相应的发声规定。例如对于中文来说,其发音由其标准的汉语拼音来决定,而对于英文来说,其发音尤其标准的音标来决定。对于中文的汉语拼音或者英文的音标来说,其构成都是由最小单位的音素构成,例如汉语拼音中的声母、韵母,英语音标中的元音、辅音等。
60.本实施例可利用文本编码器从音素序列中提取上下文信息,然后提供给持续时间预测器和解码器。其中,文本编码器由10个扩展卷积剩余块和一个lstm层组成。
61.如上述步骤s12所述,可利用持续时间预测器的长度调节模块来匹配音素序列和梅尔频谱的长度,长度调节器需要对齐信息来扩展音素序列并控制语音速度。优选地,可使用强制对齐方法mfa(montreal-forced-aligner,自动语音到音素对齐工具)来代替常用的基于注意力机制的对齐提取器。其中,mfa比基于注意力机制的对齐提供了更健壮的对齐,从而提高了对齐精度。此外,持续时间预测器是使用从mfa中提取的持续时间,来使持续时间预测稳定。其中,该匹配结果包括音素序列与预设的梅尔频谱的长度是否一致的结果。当音素序列与预设的梅尔频谱的长度不一致时,则判定需要扩展所述音素序列;当音素序列与预设的梅尔频谱的长度一致时,则判定不需要扩展所述音素序列。
62.在一实施例中,所述上下文信息包括所述音素序列的每个音素在所述音素序列中的位置信息,所述根据所述上下文信息将所述音素序列与预设的梅尔频谱进行长度匹配,可具体包括:
63.根据所述位置信息确定每个音素的发音,并生成每个音素的发音频谱;
64.将所述每个音素的发音频谱进行拼接后生成所述音素序列的频谱,得到目标频谱;
65.将所述目标频谱与预设的梅尔频谱进行长度匹配;其中,所述预设的梅尔频谱的获取方法包括:
66.获取专业人员朗读所述文本后生成的语音片段,基于所述语音片段生成声音频谱,将所述声音频谱作为所述预设的梅尔频谱。
67.具体的,可根据上下文信息确定音素序列中每个音素的持续时间,该持续时间可以理解为在语音播放时,每个音素的播放时长或相邻两个音素的时间播放间隔。其中,上下文信息包括每个音素在音素序列中的位置信息,以及在每个音素之前的音素或者在每个音素之后的音素,或者还可以包括每个音素的发音时长等其他信息。每个音素的发音与音素的上下文信息相关,对应的发音频谱也不同,因此需要确定每个音素的上下文信息,进而根据上下文信息确定音素序列的所有音素的发音及其发音频谱,基于每个音素的发音频谱拼接生成音素序列的目标频谱,并在拼接时按照音素在文本的先后次序进行拼接。然后判断音素序列的目标频谱与预设的梅尔频谱是否匹配,若否,则判定需要扩展所述音素序列。其中,预设的梅尔频谱可以是根据专业人员朗读该文本后生成的语音片段,基于该语音片段生成的声音频谱。
68.如上述步骤s13所述,当确定音素序列与预设的梅尔频谱的长度不匹配时,则需要扩展音素序列,直至所述音素序列的长度与所述预设的梅尔频谱的长度一致,然后将扩展后的音素序列作为目标音素序列。例如,可选取音素序列中的任意两个相邻的音素,在该两个相邻的音素之间添加新的音素以扩展音素序列;其中,新的音素可以是自定义的常用音素,如汉语音节
ā
(啊)的音素。优选地,新的音素可选取与相邻音素相近的音素。此外,还可以延长该两个相邻的音素的时间间隔以扩展音素序列,得到目标音素序列。其中,目标音素序列为与预设的梅尔频谱具有相同长度的序列。
69.在本实施例中,该对齐信息包括文本中每个音素的位置关系及时长信息,根据每个音素的位置关系及时长信息,使合成语音的音素与文本的音素相对应,避免合成的语音与文本不一致而出错。此外,可在每个音素的后面加入位置标签及时长标签,在低于预设时长的位置标签后加入新的音素,以扩展所述音素序列。
70.在一个实施例中,在确定文本对应的对齐信息时,可对文本进行识别处理,得到对应文本的对齐信息,即对齐信息为预先训练的识别模型识别得到的,识别模型的训练方式可以包括:获取训练数据对,训练数据对包括配对的文本数据以及语音数据;对文本数据以及语音数据分别进行编码处理,得到对应文本数据的文本特征以及对应语音数据的语音特征;然后将文本特征输入初始识别模型中,对初始识别模型进行训练,并通过初始识别模型输出对应文本特征的识别结果;根据文本特征以及语音特征,生成对应训练数据对的对齐信息;根据对齐信息以及识别结果确定初始识别模型的模型损失,并基于该模型损失对初始识别模型进行迭代训练,得到训练好的识别模型,并利用训练好的识别模型识别出文本对应的对齐信息。
71.需要说明的是,新的音素可以是自定义的标准音素,具有通用性。
72.如上述步骤s14所述,本步骤可根据目标音素序列合成所述文本对应的语音。具体的,可获取各个音素的发音持续时间、发音频率、音调和语调,将各个音素的发音持续时间、
发音频率、音调和语调加入目标音素序列中,并对各个音素按照在文本中的前后关系进行拼接处理,得到与所述文本对应的语音。
73.其中,在对各个音素进行拼接时,需要根据各个音素在文本中的位置,对各个音素进行有次序的拼接,使拼接后的音素顺序,完全符合其在文本中的原始位置,避免合成的语音出错。
74.本技术所提供的一种语音合成方法,识别文本所包含的音素序列,从音素序列中提取出上下文信息;根据上下文信息将音素序列与预设的梅尔频谱进行长度匹配,并根据匹配结果判断是否需要扩展音素序列;若是,则对文本进行预处理,确定文本对应的对齐信息,基于对齐信息扩展音素序列,直至所述音素序列的长度与所述预设的梅尔频谱的长度一致,得到目标音素序列;根据目标音素序列合成所述文本对应的语音,由于音素序列中每个音素的发音与上下文信息相关,从而根据识别文本中音素序列的上下文信息精确扩展音素序列的长度,并使其与目标音素序列的长度保持一致,以使合成的语音具有抑扬顿挫的真实感,提高语音合成效果。
75.在一实施例中,在步骤s13中,所述基于所述对齐信息扩展所述音素序列,可具体包括:
76.基于所述对齐信息确定所述音素序列中相邻两个音素之间的时间间隔;
77.根据所述时间间隔复制所述两个音素中时间节点在前的音素,得到每个音素对应的扩展音素;
78.将每个音素对应的所述扩展音素对应添加至所述音素序列中。
79.在本实施例中,可预测音素序列中两个音素的交界点,在预测得到两个音素的交界点后,即可以利用音素的交界点对音素进行划分,从而对音素进行定位,具体为定位音素的起始位置和结束位置。音素的起始位置即与前一个音素的交界点,音素的结束位置即与后一个音素的交界点。在确定了音素的起始位置和结束位置后,就可以确定音素的长度及时间间隔,并以音素的长度及时间间隔为基础,复制两个音素中时间节点在前的音素,并添加至音素序列中以扩展音素序列,使音素的发音持续时间。
80.在一实施例中,所述根据所述目标音素序列合成所述文本对应的语音,可包括:
81.获取每个音素的发音频谱的幅度值,将所述发音频谱中幅度值大于预设幅度值的部分作为所述目标音素序列的高斯噪声;
82.利用去除所述高斯噪声后的目标音素序列合成所述文本对应的语音。
83.在本实施例中,可将发音频谱以频谱图的形式进行显示,并获取每个音素的发音频谱的幅度值,在频谱图上标定每个音素的发音频谱的幅度值以及预设幅度值,并将发音频谱中幅度值大于预设幅度值的部分作为目标音素序列的高斯噪声。例如,预设幅度值可设置为70db,将发音频谱中幅度值大于70db的部分作为高斯噪声,以去除杂音。
84.此外,还可提取目标音素序列的音素嵌入和扩散步长嵌入,解码器根据音素嵌入和扩散步长嵌入,从t阶潜变量中预测高斯噪声,然后将该高斯噪声去除后合成所述文本对应的语音。
85.在一实施例中,所述基于所述对齐信息扩展所述音素序列,直至所述音素序列的长度与所述预设的梅尔频谱的长度一致之后,还包括:
86.调整扩展后的所述音素序列的语音速度,将调整语音速度后的所述音素序列作为
所述目标音素序列。
87.本实施例可对音素序列的语音速度进行调整,调整时,可预先采集人类讲话时的正常语速,根据正常语速调整音素序列的语音速度,使音素序列的语音速度与正常语速相一致,并将调整语音速度后的音素序列作为目标音素序列,使合成的语音在播放时显得自然、流畅。
88.在一实施例中,在步骤s11中,所述识别文本所包含的音素序列,可具体包括:
89.s111、将所述文本进行分词处理,以获取多个分词;
90.s112、确定每个分词对应的子音素序列;
91.s113、将所有分词对应的子音素序列按照预设的组合方式进行组合,生成所述文本的音素序列。
92.在本实施例中,子音素序列是与部分输入文本对应的音素序列,多个子音素序列组成输入文本的音素序列。此外,每个字都对应不同的唯一一个音素序列,将输入文本中每个字对应的音素序列作为子音素序列,输入文本中所有字对应的子音素序列组成该输入文本的音素序列。
93.在另一个实施例中,还可将文本进行分组,每个分组中至少包括一个字或词,一个分组对应于一个子音素序列,每个分组中包含的字或词所对应的音素序列为该分组对应的子音素序列。
94.若文本为中文文本,可以基于文本信息与分词词典的匹配结果进行分词,确定每个分词对应的子音素序列,生成文本的音素序列。例如,文本为“你好吗”,进行分词处理后得到分词“你”、“好”、“吗”。可将上述三个分词与音素字典进行匹配,确定上述三个分词对应的子音素序列,最后组合上述三个子音素序列获得文本的音素序列。
95.此外,本技术实施例还可利用经过训练的音素识别模型来识别文本中所包含的音素。该音素识别模型具体是由神经网络构建,用于识别文本中包含的音素的模型。具体的,本技术实施例使用sequence to sequence(seq2seq)模型作为音素识别模型,seq2seq是一类endto end的算法框架,也就是从编码-解码框架实现,可以把任意文字,语音输入通过encoder编码将输入序列转化成一个固定长度的向量编码,decoder解码将之前生成的固定向量再转化成输出序列这个过程可以预测出音素。
96.为了使神经网络具备从文本中识别音素的能力,本技术首先对音素识别模型进行训练。在对上述音素识别模型进行训练时,将已标注音素的文本样本输入音素识别模型进行音素识别,然后通过将模型识别音素结果与标注的音素进行对比判断模型识别误差。根据音素识别模型的音素识别误差对音素识别模型的识别运算参数进行调整,然后再次利用参数调整后的音素识别模型进行音素识别,以及计算识别误差,根据识别误差对音素识别模型进行参数调整。重复执行上述训练过程,直到音素识别模型的识别误差小于设定的误差时,完成对上述音素识别模型的训练,并利用完成训练的音素识别模型识别文本中包含的音素。
97.在一实施例中,所述从所述音素序列中提取出上下文信息,包括:
98.将所述音素序列分解为多个音素,并确定每个音素的嵌入向量;
99.对每个音素的嵌入向量进行非线性变换,得到每个音素对应的非线性特征;
100.确定与每个音素的非线性特征对应的上下文特征,将每个音素的所述上下文特征
进行拼接,得到所述上下文信息。
101.在本实施例中,可将音素序列按照位置的前后关系分解为多个音素,并确定每个音素的嵌入向量,具体的,可以给音素数据集中的每一个音素赋予一个数值,然后将每个音素表示为独热(one-hot)向量的形式,得到嵌入向量,也可以直接构造神经网络模型,对神经网络模型进行从文本到音素的嵌入向量的端到端训练,从而实现根据文本得到嵌入向量。
102.然后对每个音素的嵌入向量进行非线性变换,得到每个音素对应的非线性特征,确定与每个音素的非线性特征对应的上下文特征。具体的,可确定每个音素的嵌入向量,对每个音素的嵌入向量进行特征提取处理,得到每个音素的上下文特征。
103.最后将每个音素的上下文特征按照时间先后进行拼接,以得到准确的上下文信息。
104.参照图2,本技术实施例中还提供一种语音合成装置,包括:
105.识别模块11,用于识别文本所包含的音素序列,从所述音素序列中提取出上下文信息;
106.匹配模块12,用于根据所述上下文信息将所述音素序列与预设的梅尔频谱进行长度匹配,并根据匹配结果判断是否需要扩展所述音素序列;
107.扩展模块13,用于在需要扩展所述音素序列时,则对所述文本进行预处理,确定所述文本对应的对齐信息,基于所述对齐信息扩展所述音素序列,直至所述音素序列的长度与所述预设的梅尔频谱的长度一致,得到目标音素序列;其中,所述对齐信息表征了待合成语音与所述文本的对齐关系;
108.合成模块14,用于根据所述目标音素序列合成所述文本对应的语音。
109.在本装置中,可先对输入文本进行预处理,以去除文本中的无效字符、消除歧义等,从而使最终合成的语音具有较好的效果。其中,无效字符包括逗号、句号或夹杂在文本中的标记信息,消除歧义是消除文本中具有逻辑错误的信息。
110.具体的,上述文本为语音合成处理的源数据,具体是指用于合成语音的数据素材。例如,当用户希望其客户端以语音播报的方式输出这一段文本时,则可将这一段文本发送至后台服务器,该后台服务器是基于去噪扩散概率模型的tts系统,后台服务器能够将这一段文本内容合成为语音后,返回给客户端播放。
111.音素序列是由多个音素组成的结构,所述音素,是语音中的最小的单位,依据音节里的发音动作来分析,一个动作构成一个音素。对于文本来说,不论是英文还是中文,在人们朗读发声时,都有相应的发声规定。例如对于中文来说,其发音由其标准的汉语拼音来决定,而对于英文来说,其发音尤其标准的音标来决定。对于中文的汉语拼音或者英文的音标来说,其构成都是由最小单位的音素构成,例如汉语拼音中的声母、韵母,英语音标中的元音、辅音等。
112.本实施例可利用文本编码器从音素序列中提取上下文信息,然后提供给持续时间预测器和解码器。其中,文本编码器由10个扩展卷积剩余块和一个lstm层组成。
113.本装置还可利用持续时间预测器的长度调节模块来匹配音素序列和梅尔频谱的长度,长度调节器需要对齐信息来扩展音素序列并控制语音速度。优选地,可使用强制对齐方法mfa(montreal-forced-aligner,自动语音到音素对齐工具)来代替常用的基于注意力
机制的对齐提取器。其中,mfa比基于注意力机制的对齐提供了更健壮的对齐,从而提高了对齐精度。此外,持续时间预测器是使用从mfa中提取的持续时间,来使持续时间预测稳定。其中,该匹配结果包括音素序列与预设的梅尔频谱的长度是否一致的结果。当音素序列与预设的梅尔频谱的长度不一致时,则判定需要扩展所述音素序列;当音素序列与预设的梅尔频谱的长度一致时,则判定不需要扩展所述音素序列。
114.在一实施例中,所述上下文信息包括所述音素序列的每个音素在所述音素序列中的位置信息,所述匹配模块12可具体配置为:
115.根据所述位置信息确定每个音素的发音,并生成每个音素的发音频谱;
116.将所述每个音素的发音频谱进行拼接后生成所述音素序列的频谱,得到目标频谱;
117.将所述目标频谱与预设的梅尔频谱进行长度匹配;其中,所述预设的梅尔频谱的获取方法包括:
118.获取专业人员朗读所述文本后生成的语音片段,基于所述语音片段生成声音频谱,将所述声音频谱作为所述预设的梅尔频谱。
119.具体的,可根据上下文信息确定音素序列中每个音素的持续时间,该持续时间可以理解为在语音播放时,每个音素的播放时长或相邻两个音素的时间播放间隔。其中,上下文信息包括每个音素在音素序列中的位置信息,以及在每个音素之前的音素或者在每个音素之后的音素,或者还可以包括每个音素的发音时长等其他信息。每个音素的发音与音素的上下文信息相关,对应的发音频谱也不同,因此需要确定每个音素的上下文信息,进而根据上下文信息确定音素序列的所有音素的发音及其发音频谱,基于每个音素的发音频谱拼接生成音素序列的目标频谱,并在拼接时按照音素在文本的先后次序进行拼接。然后判断音素序列的目标频谱与预设的梅尔频谱是否匹配,若否,则判定需要扩展所述音素序列。其中,预设的梅尔频谱可以是根据专业人员朗读该文本后生成的语音片段,基于该语音片段生成的声音频谱。
120.当确定音素序列与预设的梅尔频谱的长度不匹配时,则需要扩展音素序列,直至所述音素序列的长度与所述预设的梅尔频谱的长度一致,然后将扩展后的音素序列作为目标音素序列。例如,可选取音素序列中的任意两个相邻的音素,在该两个相邻的音素之间添加新的音素以扩展音素序列;其中,新的音素可以是自定义的常用音素,如汉语音节
ā
(啊)的音素。优选地,新的音素可选取与相邻音素相近的音素。此外,还可以延长该两个相邻的音素的时间间隔以扩展音素序列,得到目标音素序列。其中,目标音素序列为与预设的梅尔频谱具有相同长度的序列。
121.在本实施例中,该对齐信息包括文本中每个音素的位置关系及时长信息,根据每个音素的位置关系及时长信息,使合成语音的音素与文本的音素相对应,避免合成的语音与文本不一致而出错。此外,可在每个音素的后面加入位置标签及时长标签,在低于预设时长的位置标签后加入新的音素,以扩展所述音素序列。
122.在一个实施例中,在确定文本对应的对齐信息时,可对文本进行识别处理,得到对应文本的对齐信息,即对齐信息为预先训练的识别模型识别得到的,识别模型的训练方式可以包括:获取训练数据对,训练数据对包括配对的文本数据以及语音数据;对文本数据以及语音数据分别进行编码处理,得到对应文本数据的文本特征以及对应语音数据的语音特
征;然后将文本特征输入初始识别模型中,对初始识别模型进行训练,并通过初始识别模型输出对应文本特征的识别结果;根据文本特征以及语音特征,生成对应训练数据对的对齐信息;根据对齐信息以及识别结果确定初始识别模型的模型损失,并基于该模型损失对初始识别模型进行迭代训练,得到训练好的识别模型,并利用训练好的识别模型识别出文本对应的对齐信息。
123.需要说明的是,新的音素可以是自定义的标准音素,具有通用性。
124.最后可根据目标音素序列合成所述文本对应的语音。具体的,可获取各个音素的发音持续时间、发音频率、音调和语调,将各个音素的发音持续时间、发音频率、音调和语调加入目标音素序列中,并对各个音素按照在文本中的前后关系进行拼接处理,得到与所述文本对应的语音。
125.其中,在对各个音素进行拼接时,需要根据各个音素在文本中的位置,对各个音素进行有次序的拼接,使拼接后的音素顺序,完全符合其在文本中的原始位置,避免合成的语音出错。
126.如上所述,可以理解地,本技术中提出的所述语音合成装置的各组成部分可以实现如上所述语音合成方法任一项的功能,具体结构不再赘述。
127.参照图3,本技术实施例中还提供一种计算机设备,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。
128.该计算机设备的存储器包括存储介质、内存储器。该存储介质存储有操作系统、计算机程序和数据库。该内存器为存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储文本、语音等数据。
129.该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种语音合成方法。
130.上述处理器执行上述的语音合成方法,包括:
131.识别文本所包含的音素序列,从所述音素序列中提取出上下文信息;
132.根据所述上下文信息将所述音素序列与预设的梅尔频谱进行长度匹配,并根据匹配结果判断是否需要扩展所述音素序列;
133.若是,则对所述文本进行预处理,确定所述文本对应的对齐信息,基于所述对齐信息扩展所述音素序列,直至所述音素序列的长度与所述预设的梅尔频谱的长度一致,得到目标音素序列;其中,所述对齐信息表征了待合成语音与所述文本的对齐关系;
134.根据所述目标音素序列合成所述文本对应的语音。
135.本技术一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种语音合成方法,包括步骤:
136.识别文本所包含的音素序列,从所述音素序列中提取出上下文信息;
137.根据所述上下文信息将所述音素序列与预设的梅尔频谱进行长度匹配,并根据匹配结果判断是否需要扩展所述音素序列;
138.若是,则对所述文本进行预处理,确定所述文本对应的对齐信息,基于所述对齐信息扩展所述音素序列,直至所述音素序列的长度与所述预设的梅尔频谱的长度一致,得到目标音素序列;其中,所述对齐信息表征了待合成语音与所述文本的对齐关系;
139.根据所述目标音素序列合成所述文本对应的语音。
140.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
141.综上所述,本技术的最大有益效果在于:
142.本技术所提供的一种语音合成方法、装置、设备及存储介质,识别文本所包含的音素序列,从音素序列中提取出上下文信息;根据上下文信息将音素序列与预设的梅尔频谱进行长度匹配,并根据匹配结果判断是否需要扩展音素序列;若是,则对文本进行预处理,确定文本对应的对齐信息,基于对齐信息扩展音素序列,直至所述音素序列的长度与所述预设的梅尔频谱的长度一致,得到目标音素序列;根据目标音素序列合成所述文本对应的语音,由于音素序列中每个音素的发音与上下文信息相关,从而根据识别文本中音素序列的上下文信息精确扩展音素序列的长度,并使其与目标音素序列的长度保持一致,以使合成的语音具有抑扬顿挫的真实感,提高语音合成效果。
143.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
144.以上所述仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。