公开/公告号CN113257221A
专利类型发明专利
公开/公告日2021-08-13
原文格式PDF
申请/专利权人 成都启英泰伦科技有限公司;
申请/专利号CN202110762178.X
申请日2021-07-06
分类号G10L13/027(20130101);G10L13/08(20130101);G10L13/10(20130101);G10L25/30(20130101);G06N3/08(20060101);
代理机构
代理人
地址 610041 四川省成都市高新区天府五街200号菁蓉汇4号楼A座12层
入库时间 2023-06-19 12:13:22
技术领域
本发明属于人工智能语音合成技术领域,具体涉及一种基于前端设计的语音模型训练方法及语音合成方法。
背景技术
语音合成是一种将文本转化为对应音频的技术,也被称为文本转语音技术(TextTo Speech,TTS)。随着人工智能的发展,以及社会需求的增加,对发音准确、清晰、自然、悦耳的语音合成技术备受关注。传统语音合成技术有拼接法,参数合成法,由于这两种方法的自然度以及听感较差,逐渐被端到端的语音合成方案取代。
端到端的语音合成方案就是直接将文本内容通过复杂度较高的模型生成声学特征,再由声码器将声学特征生成音频。但由于端到端网络结构的集成度较高,在遇到合成问题时不易灵活调整。往往会存在某些个别字的发音和语速存在问题,而这种问题很难通过调节参数来规避,需要重新筛选,添加数据训练新模型来进行优化。模型优化迭代周期较长,发现合成问题不易解决。另外针对不同的应用场景,语速、发音、韵律等可能都会有变化,而集成度较高的端到端网络很难针对这些变化做灵活调整。
发明内容
为克服现有技术存在的技术缺陷,本发明公开了一种基于前端设计的语音模型训练方法及语音合成方法。
本发明所述基于前端设计的语音模型训练方法,包括样本采集及后续步骤:
其中,样本采集为采集单个说话人的高质量音频数据与该音频数据对应的文本作为原始训练数据,提取音频数据梅尔特征;
后续步骤为:
S1:通过韵律预测模型对文本的韵律进行预测并标注,生成带有韵律标注的韵律标注文本;
S2:将步骤S1生成的韵律标注文本通过前端规则提取出文本中的语言学特征,所述语言学特征包括位置信息编码与零一编码,将位置信息编码与零一编码合并得到文本内容的语言学特征第一编码;
S3:利用强制对齐算法将样本中的文本音素与对应音频数据强制对齐获取每个音素的发音时长;
S4:搭建神经网络,以步骤S2 得到的语言学特征第一编码作为输入,步骤S3 得到的每个音素的发音时长作为预测目标,训练每个音素的发音时长模型;
本步骤与步骤S5、S6没有时间先后限制;
S5:将步骤S2生成的每一个音素的语言学特征第一编码以及步骤3生成的每个音素的发音时长合并得到语言学特征第二编码,对语言学特征第二编码进行均值方差归一化之后,将归一化之后的特征向量输入浅层神经网络,输出固定维度的前端特征编码向量;
S6:搭建序列到序列的注意力机制的端到端网络,将该序列到序列网络输出的嵌入向量与步骤S5中的前端特征编码向量合并得到预测向量;
将合并后的预测向量接入自回归LSTM网络,预测梅尔特征,以样本中音频数据的梅尔特征为目标,进行迭代训练得到自回归模型。
优选的,所述S1步骤包括:
S1.1利用文本韵律标注数据集训练韵律预测模型,利用特殊标志对文本韵律进行标注;
S1.2利用训练的韵律预测模型对音频数据的文本进行韵律预测,获得所有文本的韵律标注文本。
优选的,所述S2步骤包括:
S2.1将文本的韵律标注文本进行文本到拼音的转换,再将拼音转换为音素获得文本的音素序列,其中韵律标注用特殊符号表示为一个音素;
S2.2将文本进行分词及词性预测得到文本的分词结果和词性预测结果。
S2.3计算文本的前后文特征,以每条文本的每个音素为最小单位来进行计算,得到每个音素的前后文位置信息作为位置信息编码;
设计问题集,根据问题集生成零一编码;
S2.4将S2.3中计算的位置信息编码与零一编码合并得到文本内容的语言学特征第一编码。
优选的,S5步骤中所述对语言学特征第二编码进行均值方差归一化具体方式为:
S5.1.计算全部语言学特征第二编码中每一位编码的均值和方差。
S5.2.将每一位编码减去该位编码的均值,再除以该位编码的方差,
计算公式如下:y
一种基于前端设计的语音合成方法,包括以下步骤:
S1A.对待合成文本按照训练方法中步骤S1-S2的方法进行处理得到语言学特征第一编码;
S2A.将得到的待合成文本的语言学特征第一编码输入发音时长模型训练得到各个音素的发音时长;
S3A. 将步骤S1A生成的每一个音素的语言学特征第一编码以及步骤S2A.生成的每个音素的发音时长合并得到语言学特征第二编码,对语言学特征第二编码进行均值方差归一化之后,将归一化之后的特征向量输入浅层神经网络,输出固定维度的前端特征编码向量;
S4A:使用训练方法中步骤S6中训练得到的序列到序列网络;将序列到序列网络输出的嵌入向量与步骤S3A中的前端特征编码向量合并得到预测向量;;
S5A:将预测向量输入自回归模型得到梅尔特征;
S6A:将梅尔特征输入声码器得到合成音频。
本发明针对端到端语音合成的技术方案中稳定性,可控性不足的弊端。提出了一种基于前端设计的模型训练及语音合成方法,以提高端到端网络的稳定性和可控性,并降低神经网络的训练难度。本发明能有效减少单字单词在整句中发音错误和语速错误概率。同时在某些特殊情况下可以通过对前端语言学特征及时长特征做微调来控制某些特殊音素的发音、音素发音时长、句子韵律等。
附图说明
图1为本发明所述语音模型训练方法的一个具体实施方式的流程示意图;
图2为本发明所述语音合成方法的一个具体实施方式的流程示意图。
具体实施方式
下面对本发明的具体实施方式作进一步的详细说明。
本发明所述基于前端设计的语音模型训练方法,包括样本采集及后续步骤:
其中,样本采集为采集单个说话人的高质量音频数据与该音频数据对应的文本作为原始训练数据,提取音频数据梅尔特征。后续步骤如图1所示。
S1:通过韵律预测模型对文本的韵律进行预测并标注,生成带有韵律标注的韵律标注文本。
韵律模型主要是对文本的短停顿、长停顿进行预测并作对应的标注。
具体包括:
S1.1利用文本韵律标注数据集训练韵律预测模型,利用特殊标志对文本韵律进行标注。例如用#1、#2、#3、#4的标志符号分别对文本中的韵律词、韵律短语、短停顿、长停顿的韵律标识进行对应。
S1.2利用训练的韵律预测模型对音频数据的文本进行韵律预测,根据前述的方法在文本中进行标注,获得所有文本的韵律标注文本。
S2:将步骤S1生成的韵律标注文本通过前端规则提取出文本中的语言学特征,包含音素、分词、词性,以及前后文语言学特征,包括音素、字、词在短语中的位置信息等,以单个音素为最小单位通过问题集,匹配出文本的语言学特征零一(one-hot)编码,每一音素对应一个语言学特征的零一编码。
具体包括:
S2.1将文本的韵律标注文本进行文本到拼音的转换,再将拼音转换为音素获得文本的音素序列,其中韵律标注用特殊符号表示为一个音素。
S2.2将文本进行分词及词性预测得到文本的分词结果和词性预测结果。
S2.3计算文本的前后文特征,以每条文本的每个音素为最小单位来进行计算,根据问题集的设定可以计算出:当前音素在整条文本音素序列的位置,当前音素在该拼音中的位置,当前音素在该音素所在词组中的位置,当前音素在韵律短语中的位置,得到每个音素的前后文位置信息作为位置信息编码。
位置信息编码以音素为最小单位,以相同格式形成,可包括下列信息编码:当前音素在整个音素序列排第几个位置,在当前拼音中排第几个位置,在当前词组中排第几个位置,当前韵律短语中排第几个位置,这些位置的值组合成位置信息编码。
设计问题集,问题集主要包含了对当前音素基本特征的匹配。主要分为以下几个部分可根据实际情况做调整:
当前音素的问题设计,包含以下信息:
具体为哪个音素,哪类型音素,音素声调,音素所在分词的词性。
当前音素的前一个音素,前两个音素,后一个音素,后两个音素的相关特征。
利用问题集将这些信息进行匹配,若满足问题集则设置为1,否则设置0,根据问题集生成零一编码(one-hot编码)。
S2.4将S2.3中计算的位置信息编码与零一编码合并得到文本内容的语言学特征第一编码。
S3:利用强制对齐(montreal-forced-aligner,MFA)算法将样本种的文本音素与对应音频数据强制对齐获取每个音素的发音时长;
获取每个音素对应的音频文件的对应时间点,生成文本音素对应的时间列表,每一段音频对应一个音素发音时间序列文件。具体包括:
利用强制对齐算法将各个音素对应到音频文件的时间节点,获得每个音素在音频文件中的起始结束时间。
根据起始结束时间得到每个文本中音素对应的发音时长,最终得到每个音素在步骤2得到的语言学特征第一编码中对应的发音时长。
S4:搭建神经网络,以步骤S2 得到的语言学特征第一编码作为输入,步骤S3 得到的每个音素的发音时长作为预测目标,训练每个音素的发音时长模型。
采用上述方式训练得到的发音时长模型有在预测句子中音素的发音时长准确度更高。
发音时长模型的作用是根据音素的语言学特征第一编码获取该音素的发音时长,本步骤与步骤S5、S6没有时间先后限制。
S5:将步骤S2生成的每一个音素的语言学特征第一编码以及步骤3生成的每个音素的发音时长合并得到语言学特征第二编码,对语言学特征第二编码进行均值方差归一化之后,将归一化之后的特征向量输入浅层神经网络,输出固定维度的前端特征编码向量,
具体为:将步骤S2生成的语言学特征第一编码以及步骤S3生成的每个音素的发音时长合并,合并是将每个音素的发音时长补充到编码的最后一位,得到语言学特征第二编码
例如某个音素的语言学特征第一编码为AXCB54,发音时长为7,合并后为AXCB547;
将合并后的语言学特征第二编码进行均值方差归一化,输入一个浅层的DNN神经网络,通过网络训练后输出高维度的前端特征编码向量;
该前端特征编码向量是对前端语言学特征的抽象表达,通过训练得到前端特征编码向量,将实际文本中语言学特征相近的语言学特征第二编码通过浅层神经网络得到的前端特征编码向量在高维空间中接近,使所述前端特征编码向量的余弦相似度更高。
能够做到相似的前端特征生成的前端特征编码的余弦相似度高,说明这个网络能够对编码做更好的抽象表达,或者说是理解了句子的含义来形成的编码,进一步说明这个编码是较为准确的。
具体归一化的方法采用均值方差归一化,具体计算如下:
S5.1.计算全部语言学特征第二编码中每一位编码的均值和方差。
S5.2.将每一位编码减去该位编码的均值,再除以该位编码的方差,
计算公式如下:y
S6:搭建序列到序列的注意力机制的端到端网络,
所述端到端网络包括序列到序列网络及LSTM自回归网络,二者组合形成端到端网络。
将序列到序列网络输出的嵌入向量与步骤S5中的前端特征编码向量合并得到预测向量;
合并为向量合并,例如嵌入向量是512维,前端编码向量是256维,合并后为256+512=768维向量。
嵌入向量由序列到序列网络自行生成,可控性较低,而前端编码向量是由之前步骤根据样本特征和自定规则生成,将嵌入向量与步骤S5中的前端特征编码向量两个向量合并的目的是在延续以往单独利用嵌入向量来预测梅尔特征合成音频具有较高自然度的优点基础上,也可人为修正前端编码来规避单独依赖于模型产生的合成错误。
将合并后的预测向量接入自回归LSTM网络,预测每一帧的梅尔特征,以原始训练数据中音频数据的梅尔特征为目标,进行迭代训练得到自回归模型。其中具体训练是将序列到序列网络以及自回归网络连成一个整体训练,在训练得到自回归模型的过程中同时得到了序列到序列网络的模型参数,即对序列到序列网络也进行了训练。
采用上述步骤S1-S6,利用样本最终训练得到发音时长模型和自回归模型。
利用训练得到的模型进行的语音合成方法包括以下步骤,如图2所示:
S1A.对待合成文本按照S1-S2的方法进行处理得到语言学特征第一编码;
S2A.将得到的待合成文本的语言学特征第一编码输入发音时长模型训练得到各个音素的发音时长;
S3A. 将步骤S1A生成的每一个音素的语言学特征第一编码以及步骤S2A.生成的每个音素的发音时长合并得到语言学特征第二编码,对语言学特征第二编码进行均值方差归一化之后,将归一化之后的特征向量输入浅层神经网络,输出固定维度的前端特征编码向量;
S4A:使用步骤S6中训练得到的序列到序列网络;将序列到序列网络输出的嵌入向量与步骤S3A中的前端特征编码向量合并得到预测向量;
S5A:将预测向量输入自回归模型得到梅尔特征;
S6A:将梅尔特征输入声码器得到合成音频。
本发明针对端到端语音合成的技术方案中稳定性,可控性不足的弊端。提出了一种基于前端设计的模型训练及语音合成方法,以提高端到端网络的稳定性和可控性,并降低神经网络的训练难度。本发明能有效减少单字单词在整句中发音错误和语速错误概率。同时在某些特殊情况下可以通过对前端语言学特征及时长特征做微调来控制某些特殊音素的发音、音素发音时长、句子韵律等。
同时在某些特殊情况下例如在一句话中同一个字出现的次数太多,容易干扰到端到端网络的注意力机制,导致该字的发音及发音时长出现偏差。或者少数句子太长且没有标点的情况易出现断句错误。或者某些词可能在训练集中没有出现也容易出现发音错误。这些情况下可以通过对前端语言学特征及时长特征做微调来控制这些字、词的发音、音素发音时长、句子韵律等。使后续合成更加准确。
前文所述的为本发明的各个优选实施例,各个优选实施例中的优选实施方式如果不是明显自相矛盾或以某一优选实施方式为前提,各个优选实施方式都可以任意叠加组合使用,所述实施例以及实施例中的具体参数仅是为了清楚表述发明人的发明验证过程,并非用以限制本发明的专利保护范围,本发明的专利保护范围仍然以其权利要求书为准,凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。
机译: 语音合成装置,语音合成方法,语音合成模型训练装置,语音合成模型训练方法以及计算机程序产品
机译: 基于一种模型的语音识别合成的语音合成装置,语音合成方法和语音合成程序
机译: 语音合成方法,装置及语音合成声学模型训练方法