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

语音合成方法以及相关装置、设备与流程

2022-03-22 22:53:14 来源:中国专利 TAG:


1.本技术涉及语音合成的技术领域,特别是涉及语音合成方法以及相关装置、设备。


背景技术:

2.随着电子信息处理技术的不断发展,语音作为人们获取信息的重要载体,已经被广泛应用于日常生活和工作中。涉及语音的应用场景中,通常会包括语音合成的处理,语音合成是指将指定的文本或音频,合成为符合需求的目标音频。
3.目前往往采用循环神经网络模型进行语音合成,但利用循环神经网络模型进行语音合成的方式存在合成效果不高的问题。
4.基于此,如何提高语音合成的效果,成为目前需要解决的技术问题。


技术实现要素:

5.本技术提供了语音合成方法以及相关装置、设备,解决现有技术中存在的语音合成效果较差的问题。
6.本技术提供了一种语音合成方法,语音合成方法,包括:获取到目标对象的音素、音高以及音素时长;以及获取到待合成对象,确定待合成对象的梅尔谱,基于梅尔谱提取待合成对象的音色特征矩阵;通过语音合成模型对目标对象的音素、音高以及音素时长进行编码,得到编码数据;通过语音合成模型对音色特征矩阵以及编码数据进行解码,得到待合成对象的合成语音。
7.其中,获取到待合成对象,确定待合成对象的梅尔谱的步骤包括:获取到待合成对象,对待合成对象进行分帧加窗以及傅里叶变换,得到待合成对象的线性谱;将线性谱输入到梅尔滤波器组中进行滤波处理,得到梅尔谱。
8.其中,基于梅尔谱提取待合成对象的音色特征矩阵的步骤包括:将梅尔谱输入到深度学习网络中,利用深度学习网络提取出待合成对象的音色特征矩阵。
9.其中,语音合成模型包括相互级联的编码器、注意力网络以及解码器;通过语音合成模型对目标对象的音素、音高以及音素时长进行编码,得到编码数据的步骤包括:通过语音合成模型中的编码器对目标对象的音素、音高以及音素时长进行编码,得到编码数据;通过语音合成模型对音色特征矩阵以及编码数据进行解码,得到待合成对象的合成语音的步骤包括:通过语音合成模型中的注意力网络以及解码器依次对音色特征矩阵以及编码数据进行解码,得到合成语音。
10.其中,注意力网络包括基于位置的注意力机制。
11.其中,语音合成模型还包括断句子模型;通过语音合成模型中的解码器对音色特征矩阵以及编码数据进行解码,得到合成语音的步骤还包括:通过语音合成模型中的断句子模型对解码后的数据进行断句,得到合成语音。
12.其中,获取到目标对象的音素、音高以及音素时长的步骤之前包括:获取到样本音频,并提取出样本音频的音素、音高以及音素时长,其中,样本音频的音素、音高以及音素时
长分别涵盖预设音素范围、预设音高范围以及预设音素时长范围;将样本音频的音素、音高以及音素时长输入到初始模型中的编码器中进行编码,得到样本编码数据;确定样本音频的样本梅尔谱,基于样本梅尔谱提取样本音频的音色特征矩阵;将样本音频的音色特征矩阵以及样本编码数据依次输入到初始模型中的注意力网络以及解码器进行解码,得到样本合成语音;响应于样本合成语音与样本音频之间的相似度满足预设要求,则获取到语音合成模型
13.其中,获取到目标对象的音素、音高以及音素时长的步骤包括:获取到目标音频,并从目标音频中提取出对应的音素、音高以及音素时长;或获取到目标文本,并基于目标文本确定对应的音素、音高以及音素时长。
14.本技术还提供了一种语音合成装置,语音合成装置,包括:获取模块,用于获取到目标对象的音素、音高以及音素时长;提取模块,用于获取到待合成对象,确定待合成对象的梅尔谱,基于梅尔谱提取待合成对象的音色特征矩阵;编码模块,用于通过语音合成模型对目标对象的音素、音高以及音素时长进行编码,得到编码数据;解码模块,用于通过语音合成模型对音色特征矩阵以及编码数据进行解码,得到待合成对象的合成语音。
15.本技术还提供了一种电子设备,包括相互耦接的存储器和处理器,处理器用于执行存储器中存储的程序指令,以实现上述任意一语音合成方法。
16.本技术还提供了一种计算机可读存储介质,其上存储有程序指令,程序指令被处理器执行时实现上述任意一语音合成方法。
17.上述方案,本技术通过获取到目标对象的音素、音高以及音素时长;以及获取到待合成对象,确定待合成对象的梅尔谱,基于梅尔谱提取待合成对象的音色特征矩阵;对目标对象的音素、音高以及音素时长进行编码,得到编码数据;对音色特征矩阵以及编码数据进行解码,得到待合成对象的合成语音,本技术基于目标对象的音素、音高以及音素时长进行编码以及解码,能够在实现语音合成的基础上,细化语音特征,提高语音合成的精度与准确率,从而提高合成语音的语音质量,且通过对音色特征矩阵进行编码,能够充分基于待合成对象的音色进行语音合成,从而使得最后生成的合成语音能够还原待合成对象的音色,进而提高语音合成的效果。且本技术还同时对音色特征矩阵以及编码数据进行编码,能够使得合成语音的音色既能够基于待合成对象的音色进行还原,又能够使合成语音的音素、音高以及音素时长与目标对象的音素、音高以及音素时长进行匹配,进而通过调整目标对象的音素、音高以及音素时长实现基于少量的待合成对象合成多种多样的合成语音。
附图说明
18.图1是本技术语音合成方法一实施例的流程示意图;
19.图2是本技术语音合成方法另一实施例的流程示意图;
20.图3是图2实施例中对应的分布式系统一实施方式的框架示意图;
21.图4是本技术语音合成装置一实施例的框架示意图;
22.图5是本技术电子设备一实施例的框架示意图;
23.图6为本技术计算机可读存储介质一实施例的框架示意图。
具体实施方式
24.下面结合说明书附图,对本技术实施例的方案进行详细说明。
25.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本技术。
26.本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,可以存在三种关系,例如,a和/或b,可以:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般前后关联对象是一种“或”的关系。此外,本文中的“多”两个或者多于两个。
27.请参阅图1,图1是本技术语音合成方法一实施例的流程示意图。
28.步骤s11:获取到目标对象的音素、音高以及音素时长。
29.先获取到目标对象的音素、音高以及音素时长。其中,音素(phone)是根据语音的自然属性划分出来的最小语音单位。音高(pitch)是指各种音调高低不同的声音,即音的高度,音的基本特征的一种。音素时长即对应音素的发音时长。其中,目标对象可以包括歌曲、戏曲、广播或朗诵等目标音频,目标对象的具体类型在此不做限定。音素、音高以及音素时长可以尽可能反映目标对象的语音特征。
30.在一个具体的应用场景中,获取目标对象的音素、音高以及音素时长时,可以通过将目标对象输入至已预先训练好的深度学习模型中进行预测,得到目标对象的音素、音高以及音素时长。在另一个具体的应用场景中,获取目标对象的音素、音高以及音素时长时,也可以基于目标对象对应的字典分析出目标对象的音素、基于国际标准音分析出目标对象的音高以及通过已预先训练好的深度学习模型对目标对象进行预测,得到目标对象的音素时长。
31.其中,本实施例的语音合成需要提高语音合成的效果,因此,本步骤中所获得的目标对象的音素、音高以及音素时长缺一不可,以最大程度细化目标对象的语音特征,从而在后续进行语音合成时,依据目标对象的音素、音高以及音素时长的多种特征,提高合成语音的特征精度,从而提高合成语音的精度。
32.步骤s12:获取到待合成对象,确定待合成对象的梅尔谱,基于梅尔谱提取待合成对象的音色特征矩阵。
33.本实施例的待合成对象可以包括待合成音频或其他包含发音数据的其他语音数据。其中,本实施例的语音合成可以应用于音乐软件的音频制作、k歌软件的音频修音等场景。例如:待合成对象可以为用户输入的语音音频、也可以为用户制作的乐谱、戏谱或其他包括有发音数据的任意文本。待合成音频也可以包括人工发出的音频数据或深度神经网络输出的音频数据,其中,具体的待合成对象的类型可以基于实际情况进行设置,在此不做限定。
34.获取到待合成对象后,基于待合成对象确定待合成对象的梅尔谱,并基于梅尔谱提取待合成对象的音色特征矩阵。其中,梅尔谱又称梅尔频谱(mel spectrogram),可以反映音频特征。
35.在一个具体的应用场景中,可以通过先获取待合成对象的线型谱,再对线型谱进行梅尔刻度的加权求和,得到梅尔谱。在另一个具体的应用场景中,也可以通过先获取待合成对象的线型谱,再将线型谱输入到梅尔滤波器组中进行滤波处理,得到梅尔谱。具体的获
取梅尔谱的方法在此不做限定。
36.而音色特征矩阵中的特征可以包括过零率、频谱质心、声谱衰减、色度频率等特征中的一种或多种,具体在此不做限定。
37.在一个具体的应用场景中,可以基于梅尔谱通过三电平中心削波互相关函数法提取待合成对象的音色特征矩阵。在一个具体的应用场景中,可以基于梅尔谱通过牛顿—高斯型非线性估计方法提取待合成对象的音色特征矩阵。在另一个具体的应用场景中,也可以基于梅尔谱通过深度学习网络提取出待合成对象的音色特征矩阵。其中,具体的音色特征矩阵的提取方法在此不做限定。
38.其中,本步骤与步骤s11的执行顺序不分先后,可以先执行步骤s11再执行步骤s12,或先执行步骤s12再执行步骤s11,或同时执行步骤s12和步骤s11。具体地,步骤s11只需在执行步骤s13前执行即可,步骤s12只需在执行步骤s14前执行即可。
39.步骤s13:通过语音合成模型对目标对象的音素、音高以及音素时长进行编码,得到编码数据。
40.获取了目标对象的音素、音高以及音素时长后,通过语音合成模型对目标对象的音素、音高以及音素时长进行编码,得到编码数据。
41.其中,本步骤的语音合成模型为预先训练好的语音合成模型。
42.在其他实施例的本步骤中,还可以通过独立地编码器对目标对象的音素、音高以及音素时长进行编码,得到编码数据。其中,编码器可以包括autoencoder自动编码器、sparse autoencoder稀疏自动编码器、denoising autoencoders降噪自动编码器、波形编码器、参数编码器、混合编码器等编码器中的一种或多种。在另一个具体的应用场景中,也可以通过硬编码、独热编码或目标变量编码等编码方式对目标对象的音素、音高以及音素时长进行编码,得到编码数据。
43.步骤s14:通过语音合成模型对音色特征矩阵以及编码数据进行解码,得到待合成对象的合成语音。
44.将音色特征矩阵与编码数据共同作为解码的对象,输入到通过语音合成模型对音色特征矩阵以及编码数据进行解码,得到待合成对象的合成语音。
45.在一个具体的应用场景中,在将音色特征矩阵进行解码前,分别对语音合成模型的各运行步骤进行冻结,然后对没有冻结的运行步骤通过小批量数据进行fine-tune,从而确定语音合成模型中各运行步骤对音色的影响。具体地,1、对语音合成模型的编码步骤进行冻结,然后对解码步骤进行音色训练,从而确定解码步骤在整个模型中的音色合成中的重要程度;2、对解码步骤进行冻结,然后对编码步骤进行音色训练,从而确定编码步骤在整个模型中的音色合成中的重要程度。最后得到解码步骤对语音合成以及音色还原的影响较大。因此,在本实施例中,只对音色特征矩阵进行解码,而无需对音色特征矩阵先进行编码再进行解码或其他额外操作,从而能够在充分基于模型对音色的具体影响的基础上,减少模型对音色特征矩阵的无效操作,在保证基于音色特征矩阵进行语音合成的基础上,提高语音合成模型的合成效率。
46.得到编码数据后,对音色特征矩阵以及编码数据进行共同解码,得到待合成对象的合成语音。
47.在一个具体的应用场景中,可以将编码器的输出作为解码器的输入,将编码器的
输入作为解码器的标签,训练出对应的解码器,从而通过解码器对音色特征矩阵以及编码数据进行解码,得到待合成对象的合成语音。
48.在其他实施例的本步骤中,还可以采用贪心解码算法、beam search解码算法、基于采样的解码算法等解码方法中的一个或多个对音色特征矩阵以及编码数据进行解码,得到待合成对象的合成语音。其中,本步骤的解码步骤可以与步骤s13中的编码进行对应,以便于语音合成。
49.其中,由于此时不仅对编码数据进行解码还同时对音色特征矩阵进行解码,能够使得合成语音的音色既能够基于待合成对象的音色进行还原,又能够使合成语音的音素、音高以及音素时长与目标对象的音素、音高以及音素时长进行匹配,从而使得最后生成的合成语音能够在实现目标对象的音素、音高以及音素时长的同时还原待合成对象的音色,进而提高语音合成的效果。因此,在本实施例的语音合成方法中,只需要调整目标对象的音素、音高以及音素时长即可实现待合成对象的合成语音的音素、音高以及音素时长修改,进而本实施例的语音合成方法可以基于少量的待合成对象合成多种多样的合成语音。即通过对目标对象的音素、音高以及音素时长进行编码,以使得合成语音能够基于目标对象的音素、音高以及音素时长进行语音合成,得到具有目标对象的音素、音高以及音素时长的合成语音。再对音色特征矩阵以及编码数据进行解码,得到待合成对象的合成语音,能够进一步使得具有目标对象的音素、音高以及音素时长的合成语音具有待合成对象的音色。
50.通过上述步骤,本实施例的语音合成方法通过获取到目标对象的音素、音高以及音素时长;以及获取到待合成对象,确定待合成对象的梅尔谱,基于梅尔谱提取待合成对象的音色特征矩阵;对目标对象的音素、音高以及音素时长进行编码,得到编码数据;对音色特征矩阵以及编码数据进行解码,得到待合成对象的合成语音,本实施例基于目标对象的音素、音高以及音素时长进行编码以及解码,能够在实现语音合成的基础上,细化语音特征,提高语音合成的精度与准确率,从而提高合成语音的语音质量,且通过对音色特征矩阵进行编码,能够充分基于待合成对象的音色进行语音合成,从而使得最后生成的合成语音能够还原待合成对象的音色,进而提高语音合成的效果。且本实施例还同时对音色特征矩阵以及编码数据进行编码,能够使得合成语音的音色既能够基于待合成对象的音色进行还原,又能够使合成语音的音素、音高以及音素时长与目标对象的音素、音高以及音素时长进行匹配,进而通过调整目标对象的音素、音高以及音素时长实现基于少量的待合成对象合成多种多样的合成语音。且本实施例只对音色特征矩阵进行解码,而无需对音色特征矩阵先进行编码再进行解码或其他额外操作,从而能够在充分基于模型对音色的具体影响的基础上,减少模型对音色特征矩阵的无效操作,在保证基于音色特征矩阵进行语音合成的基础上,提高语音合成模型的合成效率。
51.请参阅图2,图2是本技术语音合成方法另一实施例的流程示意图。
52.步骤s21:获取到目标音频,并从目标音频中提取出对应的音素、音高以及音素时长。
53.获取到目标音频,基于预设标准从目标音频中提取出待合成音频的音素、音高,将目标音频输入到时长预测模型中进行时长预测,得到目标音频的音素时长。
54.其中,预设标准可以基于目标音频的语言类型进行选择。在一个具体的应用场景中,当目标对象为中文音频时,可以基于中文字典标准以及国际音高标准从目标对象中提
取出待合成音频的音素、音高,再将目标对象输入到时长预测模型中进行时长预测,得到目标对象的音素时长。其中,本应用场景中的时长预测模型是预先基于中文音频进行训练过的时长预测模型。
55.在一个具体的应用场景中,当目标对象为英文音频时,可以基于英文字典标准以及国际音高标准从目标对象中提取出待合成音频的音素、音高,再将目标对象输入到时长预测模型中进行时长预测,得到目标对象的音素时长。其中,本应用场景中的时长预测模型是预先基于英文音频进行训练过的时长预测模型。即时长预测模型与目标对象的语言类型相对应。
56.其中,基于预设标准从目标对象中提取出待合成音频的音素、音高的方法可以采用已训练好的深度学习网络进行提取也可以采用人工进行提取,还可以采用音频软件进行提取。其中,预设标准可以基于目标音频的语言类型,具体在此不做限定。
57.在其他实施例中,获取音素、音高以及音素时长的步骤还可以包括:获取到目标文本,并基于所述目标文本确定对应的音素、音高以及音素时长。
58.在一个具体的应用场景中,可以将得到的音素、音高以及音素时长进行特征提取,得到包含音素、音高以及音素时长特征信息的特征矩阵,再将包含音素、音高以及音素时长特征信息的特征矩阵后续的语音合成模型中,以适配模型的输入格式,提高模型合成效率。
59.步骤s22:对待合成对象进行分帧加窗以及傅里叶变换,得到待合成对象的线性谱,将线性谱输入到梅尔滤波器组中进行滤波处理,得到梅尔谱,将梅尔谱输入到深度学习网络中,利用深度学习网络提取出待合成对象的音色特征矩阵。
60.由于本实施例的待合成对象为待合成音频,因此,先对待合成对象进行分帧加窗以及傅里叶变换,得到待合成对象的线性谱,再将线性谱输入到梅尔滤波器组中进行滤波处理,得到梅尔谱,将梅尔谱输入到深度学习网络中,利用深度学习网络提取出待合成对象的音色特征矩阵。其中,傅里叶变换包括短时傅里叶变换(stft)或其他傅里叶变换。具体地,对待合成对象进行分帧加窗以及傅里叶变换后,可以得到待合成对象的时频域信号,再基于待合成对象的时频域信号生成待合成对象的线性谱。
61.在一个具体的应用场景中,可以对待合成对象进行分帧加窗以及傅里叶变换后,先得到待合成对象的时频域信号,再取时频域信号的幅值,生成待合成对象的线性谱,从而对线型谱中的特征进行一定的提炼,进而提高提取速度,然后将线性谱输入到梅尔滤波器组中进行滤波处理,得到梅尔谱,最后将梅尔谱输入到深度学习网络中,以提取待合成音频的音色信息,从而利用深度学习网络提取出待合成对象的音色特征矩阵。
62.其中,本步骤的深度学习网络可以包括双向门控循环单元(gated recurrent unit,gru)网络 全连接网络(fully connected layers,fc) 贝叶斯网络(bayesian network,bn)的组合网络、长短期记忆模型、卷积神经网络或循环神经网络等深度学习网络,具体的类型可以基于实际情况进行设置,在此不做限定。且本步骤的深度学习网络是预先基于梅尔谱进行音色特征矩阵的提取训练好了的可以进行应用的网络。
63.其中,本步骤与步骤s21的执行顺序不分先后,可以先执行步骤s21再执行步骤s22,或先执行步骤s22再执行步骤s21,或同时执行步骤s22和步骤s21。具体地,步骤s21只需在执行步骤s23前执行即可,步骤s22只需在执行步骤s24前执行即可。
64.步骤s23:通过语音合成模型中的编码器对目标对象的音素、音高以及音素时长进
行编码,得到编码数据。
65.获取了目标对象的音素、音高以及音素时长后,将目标对象的音素、音高以及音素时长输入到语音合成模型中的编码器进行编码,得到编码数据。本实施例的语音合成模型采用的tacotron1模型为基础,并对其进行改进,具体地,本实施例的语音合成模型包括相互级联的编码器、注意力网络以及解码器。其中,由于对音素、韵律以及音高的特征提取并不需要考虑到上下文信息,因此本实施例去除了tacotron1模型中的双向gru模块,以简化初始模型结构,减少无效模型作业,进而提高初始模型以及最终的语音合成模型的语音合成效率。
66.在一个具体的应用场景中,语音合成模型的输入可以为(iou c3 10),其中iou为音素信息,c3为音高信息,10为音素信息对应的音素时长。
67.步骤s24:通过语音合成模型中的注意力网络以及解码器依次对音色特征矩阵以及编码数据进行解码,得到合成语音。
68.将编码器输出的编码数据以及步骤s22中提取出的音色特征矩阵共同输入到语音合成模型中的注意力网络以及解码器进行解码,解码完成后,语音合成模型的解码器输出合成语音。
69.进一步地,本实施例将原tacotron1模型中的注意力机制bahdanau attention更换为基于位置的注意力机制(location based attention),也就是初始模型采用基于位置的注意力机制,其中,基于位置的注意力机制会忽略或减少语音数据中的静音,从而能够在语音合成中减少对静音的无效分析与消耗,从而提高语音合成的效率和质量,进一步地,初始模型还采用forward location based attention作为注意力机制,以进一步减少对静音的无效分析与消耗,从而提高语音合成的效率和质量。
70.在一个具体的应用场景中,语音合成模型还可以添加断句子模型,通过断句子模型对解码后的数据进行断句,从而隔开整段合成语音,使其符合发音规则,进而提高语音合成的质量。
71.在一个具体的应用场景中,可以进一步将解码后的数据输入到语音合成模型中的断句子模型中进行断句,得到合成语音。其中,断句子模型可以包括stop token网络,通过已训练好的断句子模型对解码后的数据进行断句,确定解码后的数据的断点,从而隔开整段合成语音,使其符合发音规则,进而提高语音合成的质量。
72.在另一个具体的应用场景中,断句子模型也可以设置在语音合成模型中的解码器内,在解码器进行解码的同时通过断句子模型判断结束解码时的解码断点,从而隔开各段解码后的数据,进而能够基于被隔开的各段解码后的数据隔开整段合成语音,使其符合发音规则,进而提高语音合成的质量。
73.在一个具体的应用场景中,可以通过人工将目标对象的断句规则输入到断句子模型中,以便于断句子模型基于目标对象的断句规则对解码后的数据或解码中的数据进行断句。在另一个具体的应用场景中,可以提前基于样本音频的断句情况对断句子模型进行训练,直至其能够基于目标对象的音素、音高以及音素时长进行断句。
74.因此,通过上述改进,本实施例的语音合成模型的语音合成效率和效果优于传统的tacotron1模型。
75.其中,将音色特征矩阵输入到语音合成模型中的解码器进行解码能够基于音色特
征矩阵调整合成语音的音色,从而对合成语音的音色进行控制,也就是,可以通过修改梅尔谱的音色特征,进而得到具备不同特征的音色特征矩阵,从而实际的合成语音输出不同得音色。上述方法的语音合成方法可以应用于k歌软件或类似软件的修音工作,使得对不同用户进行修音时,能够基于每个用户自身的音色进行语音合成,最终输出修过音且还原了用户自身音色的合成语音,从而提高语音合成的品质与效果。且本实施例还基于目标对象的音素、音高以及音素时长生成合成语音,使得合成语音既还原了用户自身音色,又能够与目标对象的音素、音高以及音素时长相匹配,从而在对用户进行修音的基础上,进一步实现基于目标对象的音素、音高以及音素时长的合成语音的生成,使得合成语音不再受限于待合成对象自身的音素、音高以及音素时长,而是能够通过调整目标对象的音素、音高以及音素时长实现待合成对象的多样化合成。提高语音合成的自由度和多样化。
76.在一个具体的应用场景中,当用户输入一首歌的待合成音频时,本实施例的语音合成方法能够基于待合成音频学习到该用户的音色,并通过调整目标对象的音素、音高以及音素时长,以基于该用户的音色实现多首歌的语音合成。
77.请参阅图3,图3是图2实施例中生成语音合成模型一实施例的流程示意图。
78.步骤s31:获取到样本音频,并提取出样本音频的音素、音高以及音素时长。
79.获取到样本音频,并提取出样本音频的音素、音高以及音素时长。
80.在一个具体的应用场景中,可以通过专业录音员基于所需的音素、音高以及音素时长的要求进行样本音频的录取。其中,样本音频的音素、音高以及音素时长分别涵盖预设音素范围、预设音高范围以及预设音素时长范围。具体地,预设音素范围需要涵盖样本音频对应的语言类型的全部音素;预设音高范围需要涵盖大部分或全部的音高范围;预设音素时长范围需要涵盖待合成对象相关发音规则中大部分的音素时长。通过上述预设音素范围、预设音高范围以及预设音素时长范围的设置,能够使本实施例中的样本音频具备一定的全面性和广泛性,而通过上述样本音频训练出来的语音合成模型中所能支持调整的目标对象同样具备全面性和广泛性,进而使得最终训练的到的语音合成模型能够基于少量的待合成对象实现大量的、多样的包含不同音素、音高以及音素时长的语音生成。
81.获取到样本音频后,从样本音频中提取出样本音频所有的音素、音高以及音素时长。
82.其中,从样本音频中提取出样本音频所有的音素、音高以及音素时长的具体方法与前述实施例相同,请参阅前文,再此不再赘述。
83.步骤s32:将样本音频的音素、音高以及音素时长输入到初始模型中的编码器进行编码,得到样本编码数据。
84.将样本音频的音素、音高以及音素时长依次输入到初始模型中的编码器以及注意力网络中进行编码,得到样本编码数据。
85.其中,本实施例的初始模型采用的tacotron1模型为基础,并对其进行改进,具体地,本实施例的初始模型包括编码器、注意力网络以及解码器。其中,由于对音素、音高以及音素时长的特征提取并不需要考虑到上下文信息,因此本实施例去除了tacotron1模型中的双向gru模块,以简化初始模型结构,减少无效模型作业,进而提高初始模型以及最终的语音合成模型的语音合成效率。同样最终训练完成的语音合成模型中也去除了双向gru模块。
86.进一步地,本实施例将原tacotron1模型中的注意力机制bahdanau attention更换为基于位置的注意力机制(location based attention),也就是初始模型采用基于位置的注意力机制,其中,基于位置的注意力机制会忽略或减少语音数据中的静音,从而能够在语音合成中减少对静音的无效分析与消耗,从而提高语音合成的效率和质量。进一步地,初始模型还采用forward location based attention作为注意力机制,以进一步减少对静音的无效分析与消耗,从而提高语音合成的效率和质量。
87.在一个具体的应用场景中,初始模型还可以添加stop token网络,通过stop token网络对解码后的数据进行断句,从而隔开整段合成语音,使其符合发音规则,进而提高语音合成的质量。其中,训练后得到的语音分类模型的结构与初始模型相同。
88.步骤s33:确定样本音频的样本梅尔谱,基于样本梅尔谱提取样本音频的音色特征矩阵。
89.基于样本音频的音素、音高以及音素时长确定样本音频的样本梅尔谱,基于样本梅尔谱提取样本音频的音色特征矩阵。
90.其中,基于音素、音高以及音素时长提取梅尔谱以及基于梅尔谱提取音色特征矩阵的具体方法与前述实施例相同,请参阅前文,在此不再赘述。
91.步骤s34:将样本音频的音色特征矩阵以及样本编码数据依次输入到初始模型中的注意力网络以及解码器进行解码,得到样本合成语音。
92.在解码器的输入中额外添加样本音频的音色特征矩阵,随着样本编码数据一起输入到初始模型中的解码器进行解码,得到样本合成语音。
93.其中,将样本音频的音色特征矩阵输入到初始模型中的解码器进行解码能够基于音色特征矩阵调整样本合成语音的音色,从而对样本合成语音的音色进行控制,也就是,可以修改梅尔谱的音色特征,得到不同的音色特征矩阵,从而达到控制样本合成语音输出不同音色的目的。从而可以通过后台调整音色特征矩阵改变合成语音的音色。从而在语音合成模型的语音合成过程中,可以无需获取到待合成对象,而直接通过修改音色特征矩阵实现特定音色的语音合成,从而降低语音合成的条件,提高语音合成的效率。
94.步骤s35:响应于样本合成语音与样本音频之间的相似度满足预设要求,则获取到语音合成模型。
95.获得初始模型预测的样本合成语音后,将样本合成语音与基于录音员录取的样本音频进行对比,响应于样本合成语音与样本音频之间的相似度满足预设要求,则获取到语音合成模型。其中,语音合成模型的结构与初始模型相同。
96.在一个具体的应用场景中,可以通过损失函数对样本合成语音与样本音频之间的相似度进行对比,当损失函数收敛时,样本合成语音与样本音频之间的相似度满足预设要求。其中。损失函数可以包括交叉熵损失函数、绝对值损失函数、平方损失函数等,具体在此不做限定。
97.其中,本实施例的预设要求可以包括相似度阈值或损失函数收敛。相似度阈值可以基于具体的情况进行设置,在此不做限定。
98.由于本实施例的样本音频涵盖了大部分或全部的音素、音高范围以及音素时长范围,因此,在训练完成,且获得语音合成模型后,语音合成模型只需要少量的待合成对象即可实现样本音频所具有的大部分或全部的音素、音高范围以及音素时长范围的语音合成甚
至语音生成,且基于音色特征矩阵的设置使得语音合成模型能够学习到不同的音色信息,从而能够提高语音合成的品质。且本实施例的语音合成模型还能基于样本音频的完善提高模型的训练质量,从而降低待合成对象的时长需求和专业性需求,降低语音合成的门槛,提高语音合成的应用范围。
99.在一个具体的应用场景中,模型训练完成后,还可以分别对编码器、注意力网络以及解码器的参数进行冻结,然后对没有冻结的模块通过小批量数据进行fine-tune。具体地,在训练模型的基础上对编码器的参数进行冻结,然后对解码器以及注意力网络进行训练,从而确定解码器在整个模型中的重要程度;在训练模型的基础上对编码器以及注意力网络的参数进行冻结,然后对解码器进行训练,从而确定解码器在整个模型中的重要程度;再在训练模型的基础上对解码器进行冻结,然后对编码器以及注意力网络进行训练...以此类推进行音色影响分析。最后得到解码器对语音合成以及音色还原的影响较大。在一个具体的应用场景中,可以基于解码器的影响程度对整个语音合成模型进行迁移,其中,由于本应用场景中已充分利用fine-tune对整个模型各部分的影响进行分析,因此,在迁移过程中通过保证解码器中各参数的稳定来保证新的特征的迁移训练以及模型稳定。
100.通过上述方法,本实施例的语音合成方法通过先基于预设标准从目标音频中提取出目标音频的音素、音高,将待合成对象输入到时长预测模型中进行时长预测,得到待合成对象的音素时长;以及确定待合成对象的梅尔谱,基于梅尔谱提取待合成对象的音色特征矩阵;对目标音频的音素、音高以及音素时长进行编码,得到编码数据;对音色特征矩阵以及编码数据进行解码,得到待合成对象的合成语音,本实施例基于待合成对象的音素、音高以及音素时长进行编码以及解码,能够在实现语音合成的基础上,细化语音特征,提高语音合成的精度与准确率,从而提高合成语音的语音质量,且通过对音色特征矩阵进行编码,能够充分基于待合成对象的音色进行语音合成,从而使得最后生成的合成语音能够还原待合成对象的音色,进而提高语音合成的效果。且本实施例基于位置的注意力机制来忽略或减少语音数据中的静音,从而能够在语音合成中减少对静音的无效分析与消耗,从而提高语音合成的效率和质量。且本实施例还同时对音色特征矩阵以及编码数据进行编码,能够使得合成语音的音色既能够基于待合成对象的音色进行还原,又能够使合成语音的音素、音高以及音素时长与目标对象的音素、音高以及音素时长进行匹配,进而通过调整目标对象的音素、音高以及音素时长实现基于少量的待合成对象合成多种多样的合成语音。
101.请参阅图4,图4是本技术语音合成装置一实施例的框架示意图。语音合成装置40包括获取模块41、提取模块42、编码模块43以及解码模块44。获取模块41,用于获取到目标对象的音素、音高以及音素时长;提取模块42用于获取到待合成对象,确定待合成对象的梅尔谱,基于梅尔谱提取待合成对象的音色特征矩阵;编码模块43,用于通过语音合成模型对目标对象的音素、音高以及音素时长进行编码,得到编码数据;解码模块44,用于通过语音合成模型对音色特征矩阵以及编码数据进行解码,得到待合成对象的合成语音。
102.提取模块42还用于获取到待合成对象,对待合成对象进行分帧加窗以及傅里叶变换,得到待合成对象的线性谱;将线性谱输入到梅尔滤波器组中进行滤波处理,得到梅尔谱。
103.提取模块42还用于将梅尔谱输入到深度学习网络中,利用深度学习网络提取出待合成对象的音色特征矩阵。
104.编码模块43还用于通过语音合成模型中的编码器对目标对象的音素、音高以及音素时长进行编码,得到编码数据。
105.解码模块44还用于通过语音合成模型中的注意力网络以及解码器对音色特征矩阵以及编码数据进行解码,得到合成语音。
106.解码模块44还用于通过语音合成模型中的断句子模型对解码后的数据进行断句,得到合成语音。
107.获取模块41还用于获取到样本音频,并提取出样本音频的音素、音高以及音素时长,其中,样本音频的音素、音高以及音素时长分别涵盖预设音素范围、预设音高范围以及预设音素时长范围;将样本音频的音素、音高以及音素时长输入到初始模型中的编码器中进行编码,得到样本编码数据;确定样本音频的样本梅尔谱,基于样本梅尔谱提取样本音频的音色特征矩阵;将样本音频的音色特征矩阵以及样本编码数据依次输入到初始模型中的注意力网络以及解码器进行解码,得到样本合成语音;响应于样本合成语音与样本音频之间的相似度满足预设要求,则获取到语音合成模型。
108.获取模块41还用于获取到目标音频,并从目标音频中提取出对应的音素、音高以及音素时长;或获取到目标文本,并基于目标文本确定对应的音素、音高以及音素时长。
109.上述方案,通过基于目标对象的音素、音高以及音素时长对待合成对象进行语音合成,能够在合成语音内实现目标对象的音素、音高以及音素时长并还原待合成对象的音色,从而提高语音合成的效果。
110.请参阅图5,图5是本技术电子设备一实施例的框架示意图。电子设备50包括相互耦接的存储器51和处理器52,处理器52用于执行存储器51中存储的程序指令,以实现上述任一实施例的语音合成方法的步骤。在一个具体的实施场景中,电子设备50可以包括但不限于:微型计算机、服务器,此外,电子设备50还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。
111.具体而言,处理器52用于控制其自身以及存储器51以实现上述任一语音合成方法实施例的步骤。处理器52还可以称为cpu(central processing unit,中央处理单元)。处理器52可能是一种集成电路芯片,具有信号的处理能力。处理器52还可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器52可以由集成电路芯片共同实现。
112.上述方案,通过基于目标对象的音素、音高以及音素时长对待合成对象进行语音合成,能够在合成语音内实现目标对象的音素、音高以及音素时长并还原待合成对象的音色,从而提高语音合成的效果。
113.请参阅图6,图6为本技术计算机可读存储介质一实施例的框架示意图。计算机可读存储介质60存储有能够被处理器运行的程序指令601,程序指令601用于实现上述任一实施例的语音合成方法的步骤。
114.上述方案,能够基于音素、音高以及音素时长实现语音的合成,且能够在合成的语音内还原待合成对象的音色,提高语音合成的效果。
115.在本技术所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
116.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
117.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
118.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再多了解一些

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

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

相关文献