CN110047463A - 一种语音合成方法、装置和电子设备 - Google Patents

一种语音合成方法、装置和电子设备 Download PDF

Info

Publication number
CN110047463A
CN110047463A CN201910101453.6A CN201910101453A CN110047463A CN 110047463 A CN110047463 A CN 110047463A CN 201910101453 A CN201910101453 A CN 201910101453A CN 110047463 A CN110047463 A CN 110047463A
Authority
CN
China
Prior art keywords
primitive
model
acoustic
parameters
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910101453.6A
Other languages
English (en)
Other versions
CN110047463B (zh
Inventor
王愈
李健
张连毅
武卫东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sinovoice Technology Co Ltd
Original Assignee
Beijing Sinovoice Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Sinovoice Technology Co Ltd filed Critical Beijing Sinovoice Technology Co Ltd
Priority to CN201910101453.6A priority Critical patent/CN110047463B/zh
Publication of CN110047463A publication Critical patent/CN110047463A/zh
Application granted granted Critical
Publication of CN110047463B publication Critical patent/CN110047463B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Signal Processing (AREA)
  • Machine Translation (AREA)

Abstract

本发明实施例提供了一种语音合成方法、装置和电子设备。本技术方案是在选音拼接合成路线上,适度引入深度学习技术、但又不彻底废弃传统统计学习技术,博采两者之长,最核心的创新是借用深度学习模型生成仿真数据来反哺传统统计学习模型的训练,从算法和数据两方面改善传统学习的效果,从而提高了语音合成的效果。

Description

一种语音合成方法、装置和电子设备
技术领域
本发明涉及语音合成技术领域,特别是涉及一种语音合成方法、装置和电子设备。
背景技术
近年来,随着深度学习的风潮横扫机器学习相关领域,语音合成领域也随之风起云涌,从声学参数建模、语音增强、声码器、直至韵律分析等文本预处理各个环节,都纷纷尝试应用最新的深度学习技术,或甚至尝试直接从文本到波形“端到端”建模,都取得了卓著的成果。
语音合成领域近十年的发展,一直维持着统计参数合成和选音拼接合成两大路线的争鸣。二者各有长短,无法完全取代对方:选音拼接合成音质逼真、音长真实,但拼接硬伤明显、集外稳定性差;统计参数合成稳定性好、协同发音顺畅,但音质机器感强、音长平均化。上述局部或全局的深度学习化改进,绝大部分都是在统计参数合成路线上,将统计模型更换为深度学习模型,确实显著改善了原先的弊端,已能够产出丰富的情感和悦耳的音色。
但选音拼接合成在音质方面的先天优势还在。毕竟,参数合成之所以能更好地平衡集内外的拟合度、以及协同发音的柔软度,是以“熔平”集内样点的个性为代价的,音质、语气的细节会丢失。而拼接合成则是直接使用集内样点,所有细节都得以保留。此外,深度学习越发复杂的模型结构所带来的巨大计算量,也反面凸显出选音拼接合成在速度上的优势,这对产业界尤为重要。
发明内容
有鉴于此,本发明提供了一种基于深度学习的语音合成方法、装置和电子设备,以博采统计参数合成和选音拼接合成两者之长,以提高语音合成效果。
为了解决上述问题,本发明公开了一种语音合成方法,包括步骤:
响应文本输入,对输入的文本进行文本分析,得到所述文本的目标基元序列及相应的语境信息;
针对所述语境信息,利用传统模型决策树确定所述语境信息在语音库的声学参数模型、基元时长模型和边界帧声学参数模型中分别所属的子类号;
针对所述目标基元序列中每个目标基元,从所述语音库中检索所有候选单元,根据每个所述候选单元在所述统计模型中所属的子类号和所述目标基元在所述统计模型中所属的子类号,查表得到每个所述候选单元与所述目标基元的KLD距离,并根据所述KLD距离从所述多个候选单元中选择部分候选单元作为预选结果;
利用所述预选结果依次将每个所述目标基元形成一列,最终使所述目标基元序列形成一套候选网格;
将所述语境信息输入到深度学习模型,得到所述候选网格中每个所述目标基元的声学参数包络、基元时长和边界帧声学参数,分别替换所述声学参数模型、基元时长模型和边界帧声学参数模型中均值,形成新的选音目标模型;
在所述候选网格中,对于每个所述候选单元,根据所述声学参数模型、所述基元时长模型、所述边界帧声学参数模型和通过查表得到的权重系数计算每个所述候选单元的3种选音距离;
对于每个所述候选单元,将3种选音距离加权求和,得到其动态规划代价;
根据候选网格中各所述候选单元的动态规划代价,通过动态规划最优化算法,确定累积代价最小的最优路径;
根据所述最优路径从所述语音库中读取选定的基元,适当调整所述基元的长度与音高,顺次平滑拼接在一起。
可选的,在所述声学模型中包括声学参数的高斯分布模型和状态时长的高斯分布模型。
可选的,所述传统模型决策树中包括一套声学高斯模型和一套瓶颈高斯模型。
可选的,所述深度学习模型包括声学神经网络、基元时长神经网络和边界神经网络。
可选的,还包括步骤:
根据两路来源的训练样本进行模型训练,得到所述传统模型决策树,所述训练样本来自于原始语音库和根据补充语料库生成的仿真数据。
可选的,还包括步骤:
对语境总表进行降维缩减处理,得到全局频次表和覆盖频次表;
从多种途径搜集海量文本,经过清洗和断句后,挑出长度符合预设标准的句子,组成原始待选库;
将所述原始待选库中的每个所述句子进行文本分析,得到每个所述句子的基元序列和语境信息;
遍历所有所述句子每种语境的出现频次,根据所述出线频次初始化所述全局频次表,并将所述覆盖频次表初始化为全零;
遍历每个所述句子,根据所述出线频次计算每个所述句子的贡献分;
将所述贡献分最高的多个所述句子摘录为已选库;
遍历所述已选库中的每个所述句子,更新所述覆盖频次表,如果所述覆盖频次表中所有非零的频次都超过了阈值,则终止迭代;
当所述覆盖频次表第一次被更新后,将所述覆盖频次表底取代所述全局频次表,得到所述仿真数据。
还提供了一种语音合成装置,包括:
文本分析模块,用于响应文本输入,对输入的文本进行文本分析,得到所述文本的目标基元序列及相应的语境信息;
第一计算模块,用于针对所述语境信息,利用传统模型决策树确定所述语境信息在语音库的声学参数模型、基元时长模型和边界帧声学参数模型中分别所属的子类号;
距离计算模块,用于针对所述目标基元序列中每个目标基元,从所述语音库中检索所有候选单元,根据每个所述候选单元在所述统计模型中所属的子类号和所述目标基元在所述统计模型中所属的子类号,查表得到每个所述候选单元与所述目标基元的KLD距离,并根据所述KLD距离从所述多个候选单元中选择部分候选单元作为预选结果;
网格构造模块,用于利用所述预选结果依次将每个所述目标基元形成一列,最终使所述目标基元序列形成一套候选网格;
第二计算模块,用于将所述语境信息输入到深度学习模型,得到所述候选网格中每个所述目标基元的声学参数包络、基元时长和边界帧声学参数,分别替换所述声学参数模型、基元时长模型和边界帧声学参数模型中的均值,形成新的选音目标模型;
第三计算模块,用于在候选网格中,对于每个所述候选单元,根据所述声学参数模型、所述基元时长模型、所述边界帧声学参数模型和通过查表得到的权重系数计算每个所述候选单元的3种选音距离;
第四计算模块,用于对于每个所述候选单元,将所述3种选音距离加权求和,得到其动态规划代价;
路径选定模块,用于根据候选网格中各候选单元的代价,通过动态规划,确定累积代价最小的最优路径;
拼接输出模块,用于根据所述最优路径从所述语音库中读取选定的基元,适当调整所述基元的长度与音高,顺次平滑拼接在一起。
可选的,在所述声学模型中包括声学参数的高斯分布模型和状态时长的高斯分布模型。
可选的,所述传统模型决策树中包括一套声学高斯模型和一套瓶颈高斯模型。
可选的,所述深度学习模型包括声学神经网络、基元时长神经网络和边界神经网络。
还提供了一种电子设备,设置有如上所述的语音合成装置。
还提供了一种电子设备,包括至少一个处理器和与其相连接的存储器,所述存储器用于存储计算机程序或指令,所述处理器用于执行所述计算机程序或指令,使所述电子设备能够执行如上所述的语音合成方法。
从上述技术方案可以看出,本发明提供了一种语音合成方法、装置和电子设备,该方法和装置具体为:对输入的文本进行文本分析,得到目标基元序列及相应的语境信息;针对语境信息,利用传统模型决策树确定语境信息在语音库的统计模型中分别所属的子类号,得到相应的预选结果;利用预选结果依次将每个目标基元形成一列,最终使目标基元序列形成一套候选网格;将语境信息输入到深度学***滑拼接在一起。本技术方案是在选音拼接合成路线上,适度引入深度学习技术、但又不彻底废弃传统统计学习技术,博采两者之长,最核心的创新是借用深度学习模型生成仿真数据来反哺传统统计学习模型的训练,从算法和数据两方面改善传统学习的效果,从而提高了语音合成的效果。
本申请在选音目标模型方面新引入深度学习模型,而传统方案使用 GMM-HMM和决策树等统计模型。且本申请的在于不是完全替换掉传统的统计模型,而是同时使用两者,各自在最适合的环节发挥优势,相得益彰。
两种模型除了各自在不同环节发挥优势,深度学习模型还会帮助传统统计模型的训练。
传统的决策树的训练,使用深度学习模型输出的bottleneck vector做改造。决策树的训练本质上是一个反复***增殖的过程。每次***的选择,传统方案是依据声学参数的全局似然度增量来选择最优,本方案改用bottleneck vector的全局似然度增量来选择最优。而bottleneck vector是深度学习模型生成出来的。
传统方案设置一个GMM模型对这些子类样本的声学参数做统计建模,将来在合成阶段作为选音模型发挥两种功用:在预选阶段计算候选单元和目标模型之间的KLD距离;在正选阶段计算选音距离。本方案提出对每个子类集合增设一个bottleneck vector GMM,对其内子类样本的bottleneck vector 做统计建模,这种新的GMM用于在预选阶段计算KLD距离,不再使用传统的GMM。
另外,本方案提出用深度学习模型生成仿真数据,以加大数据量。不是盲目地增加海量数据,而是根据语境分布均衡原则选择性地补充。
生成仿真数据的具体过程中以语境分布均衡为总原则,具体操作就是已经出现过很多次的语境就尽量不再增加,未出现过的语境尽量选上。筛选是以句为单位,每句话中的每个基元都对应一个语境,一般是根据每句所含语境的已出现频度综合计算一个平均分,作为贡献度,优选贡献度最高的一批句子。语境信息维度很高,实际语言的分布较稀疏,不便于做理想化的全覆盖,本方案提出对语境维度作降维,只选择权重较大的一些维。权重的确定,是使用一个简单的神经网络来粗略拟合前述的深度学习模型,在简单神经网络的第一层的权矩阵向量中得到到输入各维的权重。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种语音合成方法的步骤流程图;
图2为本发明实施例提供的一种语音合成装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明实施例提供的一种语音合成方法的步骤流程图。
参照图1所示,本实施例提供的语音合成方法应用于例如电子计算机或语音合成设备等电子设备,具体包括如下步骤:
S1、对输入的文本进行文本分析。
当用户直接输入或者其他电子设备输入响应的文本时,对输入的文本进行文本分析,从中得到目标基元序列以及相应的语境信息。这里的目标基元序列中包括有多个目标基元。
S2、利用传统模型决策树确定语境信息在语音库的选音目标模型中分别所属的子类号。
这里的选音目标模型包括语音库的声学模型、基元时长模型和边界帧声学参数模型。且,其中在声学参数模型中包括声学参数的高斯分布模型和状态时长的高斯分布模型。具体来说,本步骤用于利用模型决策树确定语境信息在声学参数模型、基元时长模型和边界帧声学参数模型中的分别所属的子类号。
S3、针对目标基元序列中每个目标基元,从语音库中检索候选单元,并确定包括多个候选单元的预选结果。
具体来说,针对每个目标基元从语音库中检索出所有候选单元;对于每个候选单元,根据其在声学模型中所属的子类号(预先离线经决策树确定并记录在库中)和目标基元在声学模型中所属子类号,查表得到其与目标基元的KLD距离,根据KLD距离选择最优的几十个候选单元,作为预选 (Pre-Select)结果,在候选网格(Candidate lattice)中增加一列。
KLD距离是预先离线计算好的,但与传统计算方法不同的是,声学传统模型决策树的每个子类绑定了两套高斯分布模型,除了传统的声学高斯分布模型外,还加了一套瓶颈高斯模型,这里的KLD距离就是瓶颈高斯模型+ 应马尔科夫模型计算的两两距离。瓶颈高斯模型是对神经网络模型输出的瓶颈矢量进行统计训练得到的。基元时长模型和边界模型也类似,均绑定相应的声学高斯模型和瓶颈高斯模型。
S4、利用预选结果将每个目标基元形成一列,最终使目标基元序列形成一套候选网格。
根据对预选结果的描述可知,每个目标基元会对应有多个、几十个候选单元,因此将这几十个候选单元进行排列即可得到上述的一列;经过排列,从而使包括多个目标基元的目标基元序列形成一套候选网格。
S5、将语境信息输入到深度学习模型,得到候选网格中每个目标基元的声学参数包络、基元时长和边界帧声学参数。
将语境信息送入3套深度学习模型——声学神经网络、基元时长神经网络、边界神经网络,从在各网络的输出层得到声学参数包络、基元时长、边界帧声学参数。并将声学参数包络、基元时长、边界帧声学参数分别替换掉声学参数模型、基元时长模型和边界帧声学参数模型中的均值,从而形成新的选音目标模型。
另外,将语境信息在送入相应的神经网络前需做适当的格式转换,对于声学神经网络来说格式转换包括二值展开和时序展开两种操作。二值展开指的是将语境中离散量纲的维度展开成二值形式。时序展开是按照状态时长高斯分布模型的均值,复制相应多次,依次标号,组成形如(基元1的语境,state1,frame1)(基元1的语境,state1,frame2)(基元1的语境,state2,frame1)……(基元2的语境,state1,frame1)……这样的语境向量序列。之所以要做时序展开,是为了与声学参数在时序上一一对应,因为语境序列是一个基元对应一个语境,而一个基元的发音是持续一段时间的过程,其声学参数是由多帧组成的序列。
语境向量序列逐个(帧)送入声学神经网络,在输出层得到该帧的声学参数,在瓶颈层得到该帧的瓶颈向量。基元时长神经网络、边界神经网络的格式转换只需二值展开,不用时序展开,因为时长和边界帧参数都不是过程量,一个基元只对应一套值。
S6、根据语境信息在统计模型中所属的子类号及相应的高斯分布模型和通过查表得到的权重系数计算3种选音距离。
在确定了语境信息在统计模型中、即在声学模型、基元时长模型、边界帧声学参数模型中分别所归属的子类后,调取出相应的声学高斯分布模型,并根据式(2)(3)(4)中的λn 计算正选得到3种选音距离。
其中,P(onn,Qn)是候选的声学参数(on在语音切片(Phone segmentation) 分出的状态分段Qn下相对于高斯分布模型+隐马尔科夫模型λn的概率密度。是候选的长度Tn相对于基元时长模型的高斯分布模型的概率密度。以上两种都是候选与目标之间的距离,共计算Cn次。则是前一列某候选的结尾与后一列某候选的开头之差相对于边界高斯分布模型的概率密度,相邻两列中各候选两两之间都要计算一次,共计算Cn×Cn-1次。
这里我们我们提出用深度学习模型输出层产出的结果替换高斯分布模型的均值,高斯分布模型的方差照旧。这样就充分发挥了深度学习的建模精度和集外稳定性等优势。另一方面合成结果对方差的精度要求不高,传统 GMM模型的精度足矣。λn需要先按照状态时长高斯分布模型的均值做时序展开——即每个状态的高斯分布模型按照状态时长复制相应的份数,这样才能与声学神经网络生成的声学参数序列时序对齐——然后再用声学神经网络生成的声学参数序列逐一替换时序展开后的λn中的高斯分布模型均值可以直接用基元时长神经网络和边界神经网络输出的基元时长和边界帧声学参数替换。替换后的λn,作为选音目标按照式(2)(3)(4) 计算选音距离。其中,权重系数根据当前基元的类型(phone ID)到预先计算好的Weight Table中查表得到,权重系数如通过式5计算:
在神经网络的训练阶段,需要在输出层之后再增加一套损失函数(loss function或error function),用于计算输出层出来的结果与训练数据标注之间的误差及梯度,从而向后链式回传梯度,修改模型参数。神经网络的训练过程就是通过不断迭代修改模型参数以缩小误差的过程。语音合成声学模型一般选用RMSE型的损失函数。若输出层的输出是[a1,a2…aK]共K维,则损失函数定义为其中[t1,t2…tK]是训练样本的声学参数。
我们提出也在损失函数中增加权重,
也就意味着这N维的权重在不同情况下应该有所侧重,更倾向于那些对候选评比更有区分度的维度。在损失函数中增加权重如下
其中wi就是第i维的权重。这里权重与上面选音距离中的权重是同一套。
我们提出为每种基元单独指定一组维度权重,根据每种基元所有样本的分布来确定。
首先在语音库中,将每种基元分类汇总起来。比如各句中的“ang”,从每句中按Phone Segmentation的时间边界摘取出“ang”相应的声学参数片段,汇总在一起。设总共汇总了M个样本,声学参数共K维,组成一个M×K 的矩阵Y,K维权重向量ω,则Yω=f中的各元素就是各样本的K维声学参数的加权和。
我们的目标是让向量f中各元素的分布拉开差距。根据minimax problem 理论,该问题可以转化为最大化f的二范数||f||2=ωTYTYω=ωTAω,在约束条件 ||ω||2=ωTω=1下。其中A=YTY可以看出是实对称矩阵,所以保证有特征值分解,并且当ω等于矩阵A的任一特征向量时ωTAω等于与该特征向量相应的特征值。ωTAω的最大值是A的最大特征值,此时ω取最大特征值相应的特征向量,权重最终确定。
每种基元通过上述方法确定权重向量后,保存到一张查询表中(Weight Table)。
接下来训练深度声学模型时,在每帧的语境向量、声学参数分别送入输入层、输出层的同时,根据该帧的Phone ID到Weight Table中查到权重向量送入损失函数WeightedLoss Function中,以便于按式(6)加权计算误差值和梯度。
S7、将3种选音距离进行加权求和,得到每个候选单元的动态规划代价。
对候选网格中的每个候选单元,按式(2)(3)(4)计算3种选音距离后进行加权求和,将求和后的结果作为该节点的动态规划代价。选音距离是逐帧计算观测概率密度的,这样遇到的麻烦是候选单元的帧数和目标λn的帧数不等,这是可以按照比例跳跃性地对齐,确定候选单元的每帧与目标λn的哪帧计算概率密度。
S8、根据动态规划代价值确定累积代价最小的最优路径。
其中,具体的计算公式如(1)所示:
where
其中N是待合成语句中目标基元的总数,整句话的选音结果u就是各目标基元的选音结果,最佳选音方案就是最大化(1)式中LLcmp(声学目标模型似然度)、LLdur(基元时长目标模型似然度)、LLcon(声学拼接平滑似然度)三者之和,这三种似然度又分别是各目标基元的累加和。最大化方案的选定是一个动态规划过程,需先构造一个候选规划网格,每个目标基元对应一列,包含该目标基元所有的候选(第n列的行数为Cn)。每个候选均需计算声学目标模型似然度、基元时长目标模型似然度、声学拼接平滑似然度。这些似然度的计算,都是候选的声学参数相对于Model decision步所确定模型的观测概率密度。P(onn,Qn)是候选的声学参数(on在Phone segmentation分出的状态分段Qn下相对于GMM-HMM模型λn的概率密度。是候选的长度Tn相对于基元时长模型的GMM的概率密度。以上两种都是候选与目标之间的距离,共计算Cn次。则是前一列某候选的结尾与后一列某候选的开头之差相对于边界GMM模型的概率密度,相邻两列中各候选两两之间都要计算一次,共计算Cn×Cn-1次。构造好规划网格后,从左到右每列选定一个候选,构成一种方案u,逐步累积三种动态规划代价,到最后一列时,得到u的累积代价,最后选择累积代价最小的一种最优路径u*。
S9、根据最优路径从语音库中读取选定的基元并进行拼接。
根据选定的最优路径u*,从语音库中读取每段候选单元,适当基元调整长度与音高,并顺次平滑地拼接在一起,得到最终合成的语音信号,该语音信息为一种数字化的语音,可以利用相应的播放设备进行播放。
从上述技术方案可以看出,本实施例提供了一种语音合成方法,该方法具体为:对输入的文本进行文本分析,得到目标基元序列及相应的语境信息;针对语境信息,利用传统模型决策树确定语境信息在语音库的统计模型中分别所属的子类号以及相应的高斯分布模型,得到相应的预选结果;利用预选结果依次将每个目标基元形成一列,最终使目标基元序列形成一套候选网格;将语境信息输入到深度学***滑拼接在一起。本技术方案是在选音拼接合成路线上,适度引入深度学习技术、但又不彻底废弃传统统计学习技术,博采两者之长,最核心的创新是借用深度学习模型生成仿真数据来反哺传统统计学习模型的训练,从算法和数据两方面改善传统学习的效果。从而提高了语音合成的效果。
本方案通过引入深度神经网络,实现从语境特征到声学参数包络、基元时长、边界参数的映射,弥补传统决策树和GMM-HMM的不足。除了惯常提到的深度非线性映射能力和自动特征提取能力,具体优势还体现在:
1)决策树所表达的从决策问题到叶节点的映射关系,只是单纯的顺次二分,无法表征异或、多元复合等复杂逻辑关系,深度神经网络可以拟合到各类复合逻辑关系。
2)传统框架下,每个样本都通过决策树被归类到特定子类,只用于训练该子类的GMM-HMM,无法复用于其它子类。而深度神经网络则是用全部样本一体训练,具有更稳定的集外扩展性/稳定性。
3)决策树的训练过程中,优先选择信息熵大的特征,较弱的特征则被截止阈值彻底舍弃,在训练数据量不足或分布严重偏倚的情况下,问题尤为严重。深度神经网络以连续值量纲的权重来体现各输入特征的重要度,不会硬性舍弃任何特征。
本方案中传统模型并未完全舍弃,仍然发挥其速度优势,并且通过深度神经网络来辅助改进其训练,以补足短板。辅助改进传统模型的训练,在核函数和数据两个层面进行:
1)决策树的训练质量取决于***前后的似然度增量描述函数,传统描述函数完全依赖于声学参数的分布特性,选定于***的语境问题,能够多大程度地将集合干净地一分为二,只是基于特定语境有稳定发音特征的假定,真实情况不会这样理想。我们提出用神经网络中层输出的bott leneck vector取代声学参数计算似然度增量。bott leneck层从上下两个方向汲取信息,可看做联合语境信息和声学信息的精炼摘要,bott leneck vector的分布已经融入了一些语境信息,***问题可以更好地对样本集合分类。
2)借助神经网络生成仿真数据,补充到决策树+GMM-HMM的训练集,弥补数据不足和偏倚问题。1)中提到,GMM-HMM的训练只能利用并独享部分数据,无法像神经网络一样利用所有数据,所以同样数据量情况下传统模型更严重地受到数据稀疏的影响。具体方法是根据语境分布均衡原则从真实文本中选择具有补充作用的句子,经文本分析模块提取语境信息,然后送入神经网络得到bott leneck vector,得到(语境,bott leneck vector)训练样本。由于神经网络具有充分利用数据的优势和集外扩展性/稳定性的优势,借助神经网络生成的仿真数据,对传统模型是有补充作用的。仿真数据的补充,有利于改善语境分布的平衡,扩展模型的集外扩展性/稳定性。
另外,在Bott leneck vector空间上做KLD预选。以往的KLD预先是在声学参数的GMM-HMM上计算。其中提到的决策树训练过程中用bott leneck vector计算似然度增量,一致地,我们也用bott leneck vector的GMM-HMM 来代表子类并度量子类间的距离。这种方案的优势,一方面是兼顾了语境信息和声学信息,另一方面是与决策树构造原则保持一致,从而最大限度发挥 bott leneck机制和仿真反哺机制的效用。
选音目标模型通过下面的方法步骤进行训练得到:
神经网络的具体结构,在参数合成领域,早期主要是纯粹的DNN,但考虑到DNN不善于捕捉语音这类序列性信号的上下文时序关联关系,后续逐渐发展出基于RNN类的结构和主要基于深度CNN的端到端结构两大流派。RNN 类结构(主流是LSTM)先天适用于序列性数据,但计算复杂度过高,可并行计算程度不高,网络结构不能太复杂。端到端指的是从输入到输出直接用一套模型建模,摒弃传统的经验性预设流程,整个过程交由模型内部黑盒化学习,自成一体,避免预设假定与误差累积,已经是包括语音识别、机器翻译、文本分类等各人工智能领域的主流发展方向。语音合成的端到端,就是摒弃各种文本处理与分析,从文字到声学参数直接用一套模型建模,模型结构非常复杂,RNN无法重用,主要是重用CNN类结构。业内已有wavnet、tacotron 和DeepVoice等成功案例,这其中反证出只要模型结构合理CNN也能适用于序列性数据。
回到选音拼接领域中的选音目标模型,考虑到端到端计算复杂度过高、并且选音过程中需要用到文本语境特征辅助预选,我们仍倾向于非端到端路线。为最优化深度学习与传统学习桥接所用的内部抽象特征,我们选用CNN 群组,以发挥其在特征抽取方面的先天优势。
模型结构的创新点是不同尺寸卷积核构成的卷积网络群组和起到信息摘要作用的bott leneck层,其中:
1)输入层(input):输入经Pre-Transform处理的语境信息。对于声学神经网络来说Pre-Transform包括二值展开和时序展开两种操作。二值展开指的是将语境中离散量纲的维度展开成二值形式。时序展开是按照先前环节得到的HMM状态驻留时长,复制相应多次,依次标号,组成形如(基元1的语境,state1,frame1)(基元1的语境,state1,frame2)(基元1的语境,state2,frame1)……(基元2的语境,state1,frame1)……这样的语境向量。在模型训练阶段,对于语音库中的每句,其语境序列是按照传统模型训练过程中Phonesegmentation划分的状态驻留时长来做时序展开,送入输入层,与输出层送入的声学参数的逐帧对应。在合成阶段,上文已经说明,是按照状态决策出的时长GMM的均值来做时序展开。
2)神经网络的第一层隐藏层,是从1到N各种尺寸的1维卷积核以及相配套的max-Pooling机制,图中的Conv-maxpool-N型节点指代多个尺寸同为N的卷积核及相配套的max-Pooling单元结构。本质上,不同尺寸的卷积核在不同宽度的视野中提取特征,可充分提取语境向量中和前后之间各个粒度范围内的信息。考虑到语境向量维度高、同一基元各帧的语境相同,增加 pooling机制来降低冗余。
3)将各Pooling元的输出拼接起来,重塑维度形状,送入dropout层,以克服过拟合,改善集外稳定性。
4)后续层均是全连接结构。其中的第一层宽度(如16)远小于后续层(如 512)以及之前的dropout层,形成bottleneck结构。本质上,bottleneck 从上下两个方向汲取信息,并且尺寸较窄,可看做联合语境信息和声学信息的精炼摘要。模型训练好之后,随意输入一个语境向量,无论集内外,都可在bottleneck层的激励输出得到相应的摘要向量bottleneck vector。我们提出在决策树的构造过程中使用bottleneck vector取代声学参数来计算似然度增量,并在决策树子类中为bottleneck vector专门增加一套GMM统计模型,最终用于KLD预选。
5)bottleneck之上是几层普通的全连接层。
6)最后是输出层,在合成阶段输出声学参数,包括谱、基频等;在模型训练阶段,送入与语境向量时序对齐的声学参数。
以下详细说明整个框架中所有模型的训练流程。声学参数需要训练深度神经网络、决策树+HMM和两套GMM、状态时长模型的决策树和GMM、以及为快速预选离线预先计算的KLD查找表。
1)训练深度学习模型。包括深度声学模型(Deep Acoustic Model)和深度状态时长模型(Deep state duration Model)。
a)深度声学模型:训练如所示的深度神经网络,对每条训练语句,在网络的输入层送入经Pre-Transform后的语境信息,输出层送入声学参数。模型训练完成后,转到生成模式在第二步中使用。
b)深度状态时长模型:网络结构与基本相同,除了Pre-Transform环节不做时序展开,因为状态时长是每个基元一组(以向量格式输入)。对每条训练语句,在网络的输入层送入经Pre-Transform后的语境信息,输出层送入状态时长向量。模型训练完成后,转到生成模式在第二步中使用。
2)训练传统模型。使用两路来源的训练数据,一是来自原始语音库,二是从补充语料库中生成的仿真数据。
a)从语音库构造训练样本。重新将语音库中每句的语境信息,输入训练好的神经网络模型,在中间层得到Bottleneck vector。连同语音库中的声学参数,该句话的每帧得到一个形如(语境,Bottleneck vector,原声学参数)的三元组。
b)补充仿真训练数据样本。将补充语料库中的语句(补充语料库的筛选构造流程将在下一部分介绍)的语境信息,输入到上一步中训练好的深度状态时长模型,得到各目标基元的内部状态时长。根据该时长结果对语境信息做时序展开式的Pre-Transform,然后送入上一步中训练好的深度声学模型,分别在输出层和中间层得到生成的声学参数和Bottleneck vector,最终每帧得到形如(语境,Bottleneck vector,生成声学参数)三元组格式。注意第三元“生成声学参数”与a)中的“原成声学参数”的差异,因为原语音库中的句子是有语音的,而补充的句子只有文本,声学参数只能通过神经网络生成。
c)然后用原语音库样本和仿真样本的三元组中的前两者语境信息和 Bottleneckvector去训练构建决策树,决定节点***的似然度增量描述中的方差ΣSΣSYΣSN都是在待***节点所相关样本的Bottleneck vector上统计出来的。
d)对每个确定的叶节点,对其绑定的训练样本的Bottleneck vector和声学参数分别训练Bottleneck GMM和Acoustic GMM。前者用于KLD预选,后者用于联合训练HMM的模型参数。
e)GMM-HMM训练结束后,每句的状态时长结果也出来了,用此结果训练状态时长的决策树+GMM。
3)离线预先计算KLD查找表,计算决策树两两叶节点(子类)的Bottleneck GMM-HMM之间的KLD距离。将来在合成时,直接查表得到候选单元所属子类与目标基元所属子类的预选距离。
接下来详细说明仿真数据的生成流程。
改善机器学习模型的途径,一是算法,二是数据。算法方面上文中已经说明了完整的改进方案。数据方面,最理想的就是补充真实训练数据,但考虑到录音和标注成本较高、耗时长,我们提出借助训练好的神经网络模型来生成仿真数据,补充进传统模型的训练集,以改善传统模型训练效果。
仿真数据的最终格式是(语境,Bottleneck vector,声学参数)形式的三元组。语境从补充语料库中的句子经文本分析得到,后两者则通过将语境送入神经网络模型生成出来。这些语境对神经网络模型来说是训练集外的,生成的声学参数比集内真实语音的声学参数差一些,但基于建模精度、数据利用率、集外扩展性/稳定性等方面的先天优势,生成的声学参数相对于传统模型来说还是有优势的,势差可以提升GMM-HMM的建模精度,数据量的补充可以提升GMM-HMM的集外稳定性,减轻集内过拟合。不止如此, Bottleneck vector即使对于集内语境也是生成出来的,原本不是现实存在的,因此集内外差异较小,从而使得仿真数据对决策树构造的有效性更明显。
上文中说明了仿真数据的使用方式,接下来说明生成方法,即补充语料库的筛选构造方法。
机器学***衡,不要出现个别语境过分偏重。因此,总的优选原则是,已经出现过很多次的语境就尽量不再增加,未出现过的语境尽量选上。筛选是以句为单位,每句话中的每个基元都对应一个语境,一般是根据每句所含语境的已出现频度综合计算一个平均分,作为贡献度,优选贡献度最高的一批句子。筛选的具体流程如下:
1)语境总表降维缩减:
首先明确需要覆盖到哪些语境,列出总表,便于在筛选过程中统计频次。业内常用的语境信息超过50维,如果每维有两种取值可能,则语境总数高达2的50次方,天文数字无法操作,需要压缩数目。
我们提出通过神经网络计算出各维的权重,选择权重前N大的维度,覆盖时只考察这些维度。权重的计算方法是:Deep Acoustic Model训练完成后,再用一个简单的全连接网络粗略拟合bott leneck以下的半部分,中的右半部分,包含两层全连接隐藏层,其中的第一层只有一个神经元,其权系数向量记为W,第二层尺寸较大。Deep Acoustic Model训练完成后,再一一将训练句子的语境输入进去,得到Bottleneck vector,用(语境,Bottleneck vector)作为输入和输出训练简单网络。训练完成后,权系数向量W就体现了输入语境各维的权重大小。选出W中前N大的维度,就是语境中最重要的维度。
按这些维度取值的排列组合建立两张语境全列表:一张“全局频次表”,初始时在全部候选文本中统计各语境的出现频次,后续不再修改;另一张“覆盖频次表”,初始化为全零,每轮选出一批新语句加入到“已选集”中后,在“已选集”中重新统计各语境的出现频次。
2)语料预处理:从报刊、网络、客服对话等多种途径搜集海量文本,清洗、断句,挑出长度介于5-20字的句子,组成原始“待选库”。
3)每句送入文本分析模块得到基元序列及相应语境信息,只记录第一步选取的最重要的维度。
4)遍历“待选库”中所有句子,统计语境列表中每种语境的出现频次,初始化“全局频次表”。“覆盖频次表”初始化为全零。
5)开始遍历筛选,对于“待选库”中的每句,若其所含的语境依次为c1c2… cK,则该句的贡献分是其中P(ck)是“全局频次表”中ck的频次,若频次为零则∑ck是表中所有频次的总和;ε是常系数,在0.9至1.5之间取值。
6)将贡献分最高的前R条句子转移到“已选库”中,其中R是每轮要选出的句数。
7)遍历“已选库”中的每句,更新“覆盖频次表”;如果表中所有非零的频次都超过了阈值η,则终止迭代。
8)“覆盖频次表”第一次被更新后,彻底取代“全局频次表”,为5)中所需的P(ck)即时更新记录。
9)回到5)启动下一轮迭代。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例二
图2为本发明实施例提供的一种语音合成装置的结构框图。
参照图2所示,本实施例提供的语音合成装置应用于例如电子计算机或语音合成设备等电子设备,具体包括文本分析模块10、第一计算模块20、距离计算模块30、网格构造模块40、第二计算模块50、第三计算模块60、第四计算模块70、路径选定模块80和拼接输出模块90。
文本分析模块用于对输入的文本进行文本分析。
当用户直接输入或者其他电子设备输入响应的文本时,对输入的文本进行文本分析,从中得到目标基元序列以及相应的语境信息。这里的目标基元序列中包括有多个目标基元。
第一计算模块用于利用传统模型决策树确定语境信息在语音库的选音目标模型中分别所属的子类号。
这里的统计模型包括语音库的声学参数模型、基元时长模型和边界帧声学参数模型。且,其中在声学模型中包括声学参数的高斯分布模型和状态时长的高斯分布模型。具体来说,本步骤用于利用模型决策树确定语境信息在声学参数模型、基元时长模型和边界帧声学参数模型中的分别所属的子类号。
距离计算模块用于针对目标基元序列中每个目标基元,从语音库中检索候选单元,并确定包括多个候选单元的预选结果。
具体来说,针对每个目标基元从语音库中检索出所有候选单元;对于每个候选单元,根据其在声学模型中所属的子类号(预先离线经决策树确定并记录在库中)和目标基元在声学模型中所属子类号,查表得到其与目标基元的KLD距离,根据KLD距离选择最优的几十个候选单元,作为预选 (Pre-Select)结果,在候选网格(Candidate lattice)中增加一列。
KLD距离是预先离线计算好的,但与传统计算方法不同的是,声学传统模型决策树的每个子类绑定了两套高斯分布模型,除了传统的声学高斯分布模型外,还加了一套瓶颈高斯模型,这里的KLD距离就是瓶颈高斯模型+ 应马尔科夫模型计算的两两距离。瓶颈高斯模型是对神经网络模型输出的瓶颈矢量进行统计训练得到的。基元时长模型和边界模型也类似,均绑定相应的声学高斯模型和瓶颈高斯模型。
网格构造模块用于利用预选结果将每个目标基元形成一列,最终使目标基元序列形成一套候选网格。
根据对预选结果的描述可知,每个目标基元会对应有多个、几十个候选单元,因此将这几十个候选单元进行排列即可得到上述的一列;经过排列,从而使包括多个目标基元的目标基元序列形成一套候选网格。
第二计算模块用于将语境信息输入到深度学习模型,得到候选网格中每个目标基元的声学参数包络、基元时长和边界帧声学参数。
将语境信息送入3套深度学习模型——声学神经网络、基元时长神经网络、边界神经网络,从在各网络的输出层得到声学参数包络、基元时长、边界帧声学参数。并将声学参数包络、基元时长、边界帧声学参数分别替换掉声学参数模型、基元时长模型和边界帧声学参数模型中的均值,从而形成新的选音目标模型。
另外,将语境信息在送入相应的神经网络前需做适当的格式转换,对于声学神经网络来说格式转换包括二值展开和时序展开两种操作。二值展开指的是将语境中离散量纲的维度展开成二值形式。时序展开是按照状态时长高斯分布模型的均值,复制相应多次,依次标号,组成形如(基元1的语境,state1,frame1)(基元1的语境,state1,frame2)(基元1的语境,state2,frame1)……(基元2的语境,state1,frame1)……这样的语境向量序列。之所以要做时序展开,是为了与声学参数在时序上一一对应,因为语境序列是一个基元对应一个语境,而一个基元的发音是持续一段时间的过程,其声学参数是由多帧组成的序列。
语境向量序列逐个(帧)送入声学神经网络,在输出层得到该帧的声学参数,在瓶颈层得到该帧的瓶颈向量。基元时长神经网络、边界神经网络的格式转换只需二值展开,不用时序展开,因为时长和边界帧参数都不是过程量,一个基元只对应一套值。
第三计算模块用于根据语境信息在统计模型中所属的子类号及相应的高斯分布模型和通过查表得到的权重系数计算3种选音距离。
在确定了语境信息在统计模型中、即在声学模型、基元时长模型、边界帧声学参数模型中分别所归属的子类后,调取出相应的声学高斯分布模型,并根据式(2)(3)(4)中的λn 计算正选得到3种选音距离。
其中,P(onn,Qn)是候选的声学参数(on在语音切片(Phone segmentation) 分出的状态分段Qn下相对于高斯分布模型+隐马尔科夫模型λn的概率密度。是候选的长度Tn相对于基元时长模型的高斯分布模型的概率密度。以上两种都是候选与目标之间的距离,共计算Cn次。则是前一列某候选的结尾与后一列某候选的开头之差相对于边界高斯分布模型的概率密度,相邻两列中各候选两两之间都要计算一次,共计算Cn×Cn-1次。
这里我们我们提出用深度学习模型输出层产出的结果替换高斯分布模型的均值,高斯分布模型的方差照旧。这样就充分发挥了深度学习的建模精度和集外稳定性等优势。另一方面合成结果对方差的精度要求不高,传统 GMM模型的精度足矣。λn需要先按照状态时长高斯分布模型的均值做时序展开——即每个状态的高斯分布模型按照状态时长复制相应的份数,这样才能与声学神经网络生成的声学参数序列时序对齐——然后再用声学神经网络生成的声学参数序列逐一替换时序展开后的λn中的高斯分布模型均值可以直接用基元时长神经网络和边界神经网络输出的基元时长和边界帧声学参数替换。替换后的λn 作为选音目标按照式(2)(3)(4)计算选音距离。其中,权重系数根据当前基元的类型(phone ID)到预先计算好的Weight Table中查表得到,权重系数如通过式5计算:
在神经网络的训练阶段,需要在输出层之后再增加一套损失函数(loss function或error function),用于计算输出层出来的结果与训练数据标注之间的误差及梯度,从而向后链式回传梯度,修改模型参数。神经网络的训练过程就是通过不断迭代修改模型参数以缩小误差的过程。语音合成声学模型一般选用RMSE型的损失函数。若输出层的输出是[a1,a2…aK]共K维,则损失函数定义为其中[t1,t2…tK]是训练样本的声学参数。
我们提出也在损失函数中增加权重,
也就意味着这N维的权重在不同情况下应该有所侧重,更倾向于那些对候选评比更有区分度的维度。在损失函数中增加权重如下
其中wi就是第i维的权重。这里权重与上面选音距离中的权重是同一套。
我们提出为每种基元单独指定一组维度权重,根据每种基元所有样本的分布来确定。
首先在语音库中,将每种基元分类汇总起来。比如各句中的“ang”,从每句中按Phone Segmentation的时间边界摘取出“ang”相应的声学参数片段,汇总在一起。设总共汇总了M个样本,声学参数共K维,组成一个M×K 的矩阵Y,K维权重向量ω,则Yω=f中的各元素就是各样本的K维声学参数的加权和。
我们的目标是让向量f中各元素的分布拉开差距。根据minimax problem 理论,该问题可以转化为最大化f的二范数||f||2=ωTYTYω=ωTAω,在约束条件||ω||2=ωTω=1下。其中A=YTY可以看出是实对称矩阵,所以保证有特征值分解,并且当ω等于矩阵A的任一特征向量时ωTAω等于与该特征向量相应的特征值。ωTAω的最大值是A的最大特征值,此时ω取最大特征值相应的特征向量,权重最终确定。
每种基元通过上述方法确定权重向量后,保存到一张查询表中(Weight Table)。
接下来训练深度声学模型时,在每帧的语境向量、声学参数分别送入输入层、输出层的同时,根据该帧的Phone ID到Weight Table中查到权重向量送入损失函数WeightedLoss Function中,以便于按式(6)加权计算误差值和梯度。
第四计算模块用于将3种选音距离进行加权求和,得到每个候选单元的动态规划代价。
对候选网格中的每个候选单元,按式(2)(3)(4)计算3种选音距离后进行加权求和,将求和后的结果作为该节点的动态规划代价。选音距离是逐帧计算观测概率密度的,这样遇到的麻烦是候选单元的帧数和目标λn的帧数不等,这是可以按照比例跳跃性地对齐,确定候选单元的每帧与目标λn的哪帧计算概率密度。
路径选定模块用于根据动态规划代价值确定累积代价最小的最优路径。
其中,具体的计算公式如(1)所示:
where
拼接输出模块用于根据最优路径从语音库中读取选定的基元并进行拼接。
拼接输出模块用于根据最优路径从语音库中读取选定的基元并进行拼接。
根据选定的最优路径u*,从语音库中读取每段候选单元,适当基元调整长度与音高,并顺次平滑地拼接在一起,得到最终合成的语音信号,该语音信息为一种数字化的语音,可以利用相应的播放设备进行播放。
从上述技术方案可以看出,本实施例提供了一种语音合成装置,该装置具体为:对输入的文本进行文本分析,得到目标基元序列及相应的语境信息;针对语境信息,利用传统模型决策树确定语境信息在语音库的统计模型中分别所属的子类号以及相应的高斯分布模型,得到相应的预选结果;利用预选结果依次将每个目标基元形成一列,最终使目标基元序列形成一套候选网格;将语境信息输入到深度学***滑拼接在一起。本技术方案是在选音拼接合成路线上,适度引入深度学习技术、但又不彻底废弃传统统计学习技术,博采两者之长,最核心的创新是借用深度学习模型生成仿真数据来反哺传统统计学习模型的训练,从算法和数据两方面改善传统学习的效果。从而提高了语音合成的效果。
实施例三
本实施例提供了一种电子设备,如语音合成设备、电子计算机或移动终端等,其设置有上一实施例所提供的语音合成装置。该装置用于对输入的文本进行文本分析,得到目标基元序列及相应的语境信息;针对语境信息,利用传统模型决策树确定语境信息在语音库的统计模型中分别所属的子类号以及相应的高斯分布模型,得到相应的预选结果;利用预选结果依次将每个目标基元形成一列,最终使目标基元序列形成一套候选网格;将语境信息输入到深度学***滑拼接在一起。本技术方案是在选音拼接合成路线上,适度引入深度学习技术、但又不彻底废弃传统统计学习技术,博采两者之长,最核心的创新是借用深度学习模型生成仿真数据来反哺传统统计学习模型的训练,从算法和数据两方面改善传统学习的效果。从而提高了语音合成的效果。
实施例四
本实施例提供了一种电子设备,如语音合成设备、电子计算机或移动终端等,该电子设备包括至少一个处理器和与其相连接的存储器,存储器用于存储相应的计算机程序或指令,处理器用于执行相应的计算机程序或指令,从而能够使电子设备执行如下的操作:
响应文本输入,对输入的文本进行文本分析,得到文本的目标基元序列及相应的语境信息;
针对语境信息,利用传统模型决策树确定语境信息在语音库的声学参数模型、基元时长模型和边界帧声学参数模型中分别所属的子类号;
针对目标基元序列中每个目标基元,从语音库中检索所有候选单元,根据每个候选单元在统计模型中所属的子类号和目标基元在统计模型中所属的子类号,查表得到每个候选单元与目标基元的KLD距离,并根据KLD距离从多个候选单元中选择部分候选单元作为预选结果;
利用预选结果依次将每个目标基元形成一列,最终使目标基元序列形成一套候选网格;
将语境信息输入到深度学习模型,得到候选网格中每个目标基元的声学参数包络、基元时长和边界帧声学参数,分别替换声学参数模型、基元时长模型和边界帧声学参数模型中均值,形成新的选音目标模型;
在候选网格中,对于每个候选单元,根据声学参数模型、基元时长模型、边界帧声学参数模型和通过查表得到的权重系数计算每个候选单元的3种选音距离;
对于每个候选单元,将3种选音距离加权求和,得到其动态规划代价;
根据候选网格中各候选单元的动态规划代价,通过动态规划最优化算法,确定累积代价最小的最优路径;
根据最优路径从语音库中读取选定的基元,适当调整所述基元的长度与音高,顺次平滑拼接在一起。
上述操作是在选音拼接合成路线上,适度引入深度学习技术、但又不彻底废弃传统统计学习技术,博采两者之长,最核心的创新是借用深度学习模型生成仿真数据来反哺传统统计学习模型的训练,从算法和数据两方面改善传统学习的效果,从而提高了语音合成的效率。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的技术方案进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种语音合成方法,其特征在于,包括步骤:
响应文本输入,对输入的文本进行文本分析,得到所述文本的目标基元序列及相应的语境信息;
针对所述语境信息,利用传统模型决策树确定所述语境信息在语音库的声学参数模型、基元时长模型和边界帧声学参数模型中分别所属的子类号;
针对所述目标基元序列中每个目标基元,从所述语音库中检索所有候选单元,根据每个所述候选单元在所述统计模型中所属的子类号和所述目标基元在所述统计模型中所属的子类号,查表得到每个所述候选单元与所述目标基元的KLD距离,并根据所述KLD距离从所述多个候选单元中选择部分候选单元作为预选结果;
利用所述预选结果依次将每个所述目标基元形成一列,最终使所述目标基元序列形成一套候选网格;
将所述语境信息输入到深度学习模型,得到所述候选网格中每个所述目标基元的声学参数包络、基元时长和边界帧声学参数,分别替换所述声学参数模型、基元时长模型和边界帧声学参数模型中均值,形成新的选音目标模型;
在所述候选网格中,对于每个所述候选单元,根据所述声学参数模型、所述基元时长模型、所述边界帧声学参数模型和通过查表得到的权重系数计算每个所述候选单元的3种选音距离;
对于每个所述候选单元,将3种选音距离加权求和,得到其动态规划代价;
根据候选网格中各所述候选单元的动态规划代价,通过动态规划最优化算法,确定累积代价最小的最优路径;
根据所述最优路径从所述语音库中读取选定的基元,适当调整所述基元的长度与音高,顺次平滑拼接在一起。
2.如权利要求1所述的语音合成方法,其特征在于,在所述声学模型中包括声学参数的高斯分布模型和状态时长的高斯分布模型。
3.如权利要求1所述的语音合成方法,其特征在于,所述传统模型决策树中包括一套声学高斯模型和一套瓶颈高斯模型。
4.如权利要求1所述的语音合成方法,其特征在于,所述深度学习模型包括声学神经网络、基元时长神经网络和边界神经网络。
5.如权利要求1所述的语音合成方法,其特征在于,还包括步骤:
根据两路来源的训练样本进行模型训练,得到所述传统模型决策树,所述训练样本来自于原始语音库和根据补充语料库生成的仿真数据。
6.如权利要求5所述的语音合成方法,其特征在于,还包括步骤:
对语境总表进行降维缩减处理,得到全局频次表和覆盖频次表;
从多种途径搜集海量文本,经过清洗和断句后,挑出长度符合预设标准的句子,组成原始待选库;
将所述原始待选库中的每个所述句子进行文本分析,得到每个所述句子的基元序列和语境信息;
遍历所有所述句子每种语境的出现频次,根据所述出线频次初始化所述全局频次表,并将所述覆盖频次表初始化为全零;
遍历每个所述句子,根据所述出线频次计算每个所述句子的贡献分;
将所述贡献分最高的多个所述句子摘录为已选库;
遍历所述已选库中的每个所述句子,更新所述覆盖频次表,如果所述覆盖频次表中所有非零的频次都超过了阈值,则终止迭代;
当所述覆盖频次表第一次被更新后,将所述覆盖频次表底取代所述全局频次表,得到所述仿真数据。
7.一种语音合成装置,其特征在于,包括:
文本分析模块,用于响应文本输入,对输入的文本进行文本分析,得到所述文本的目标基元序列及相应的语境信息;
第一计算模块,用于针对所述语境信息,利用传统模型决策树确定所述语境信息在语音库的声学参数模型、基元时长模型和边界帧声学参数模型中分别所属的子类号;
距离计算模块,用于针对所述目标基元序列中每个目标基元,从所述语音库中检索所有候选单元,根据每个所述候选单元在所述统计模型中所属的子类号和所述目标基元在所述统计模型中所属的子类号,查表得到每个所述候选单元与所述目标基元的KLD距离,并根据所述KLD距离从所述多个候选单元中选择部分候选单元作为预选结果;
网格构造模块,用于利用所述预选结果依次将每个所述目标基元形成一列,最终使所述目标基元序列形成一套候选网格;
第二计算模块,用于将所述语境信息输入到深度学习模型,得到所述候选网格中每个所述目标基元的声学参数包络、基元时长和边界帧声学参数,分别替换所述声学参数模型、基元时长模型和边界帧声学参数模型中的均值,形成新的选音目标模型;
第三计算模块,用于在候选网格中,对于每个所述候选单元,根据所述声学参数模型、所述基元时长模型、所述边界帧声学参数模型和通过查表得到的权重系数计算每个所述候选单元的3种选音距离;
第四计算模块,用于对于每个所述候选单元,将所述3种选音距离加权求和,得到其动态规划代价;
路径选定模块,用于根据候选网格中各候选单元的代价,通过动态规划,确定累积代价最小的最优路径;
拼接输出模块,用于根据所述最优路径从所述语音库中读取选定的基元,适当调整所述基元的长度与音高,顺次平滑拼接在一起。
8.如权利要求7所述的语音合成装置,其特征在于,在所述声学模型中包括声学参数的高斯分布模型和状态时长的高斯分布模型。
9.一种电子设备,其特征在于,设置有如权利要求7或8所述的语音合成装置。
10.一种电子设备,其特征在于,包括至少一个处理器和与其相连接的存储器,所述存储器用于存储计算机程序或指令,所述处理器用于执行所述计算机程序或指令,使所述电子设备能够执行如权利要求1~6任一项所述的语音合成方法。
CN201910101453.6A 2019-01-31 2019-01-31 一种语音合成方法、装置和电子设备 Active CN110047463B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910101453.6A CN110047463B (zh) 2019-01-31 2019-01-31 一种语音合成方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910101453.6A CN110047463B (zh) 2019-01-31 2019-01-31 一种语音合成方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN110047463A true CN110047463A (zh) 2019-07-23
CN110047463B CN110047463B (zh) 2021-03-02

Family

ID=67274248

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910101453.6A Active CN110047463B (zh) 2019-01-31 2019-01-31 一种语音合成方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN110047463B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113012680A (zh) * 2021-03-03 2021-06-22 北京太极华保科技股份有限公司 一种语音机器人用话术合成方法及装置
CN113409793A (zh) * 2020-02-28 2021-09-17 阿里巴巴集团控股有限公司 语音识别方法及智能家居***、会议设备、计算设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101178896A (zh) * 2007-12-06 2008-05-14 安徽科大讯飞信息科技股份有限公司 基于声学统计模型的单元挑选语音合成方法
US20120221339A1 (en) * 2011-02-25 2012-08-30 Kabushiki Kaisha Toshiba Method, apparatus for synthesizing speech and acoustic model training method for speech synthesis
CN104916282A (zh) * 2015-03-27 2015-09-16 北京捷通华声语音技术有限公司 一种语音合成的方法和装置
CN105719641A (zh) * 2016-01-19 2016-06-29 百度在线网络技术(北京)有限公司 用于波形拼接语音合成的选音方法和装置
CN106547737A (zh) * 2016-10-25 2017-03-29 复旦大学 基于深度学习的自然语言处理中的序列标注方法
JP2017194510A (ja) * 2016-04-18 2017-10-26 日本電信電話株式会社 音響モデル学習装置、音声合成装置、これらの方法及びプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101178896A (zh) * 2007-12-06 2008-05-14 安徽科大讯飞信息科技股份有限公司 基于声学统计模型的单元挑选语音合成方法
US20120221339A1 (en) * 2011-02-25 2012-08-30 Kabushiki Kaisha Toshiba Method, apparatus for synthesizing speech and acoustic model training method for speech synthesis
CN104916282A (zh) * 2015-03-27 2015-09-16 北京捷通华声语音技术有限公司 一种语音合成的方法和装置
CN105719641A (zh) * 2016-01-19 2016-06-29 百度在线网络技术(北京)有限公司 用于波形拼接语音合成的选音方法和装置
JP2017194510A (ja) * 2016-04-18 2017-10-26 日本電信電話株式会社 音響モデル学習装置、音声合成装置、これらの方法及びプログラム
CN106547737A (zh) * 2016-10-25 2017-03-29 复旦大学 基于深度学习的自然语言处理中的序列标注方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113409793A (zh) * 2020-02-28 2021-09-17 阿里巴巴集团控股有限公司 语音识别方法及智能家居***、会议设备、计算设备
CN113409793B (zh) * 2020-02-28 2024-05-17 阿里巴巴集团控股有限公司 语音识别方法及智能家居***、会议设备、计算设备
CN113012680A (zh) * 2021-03-03 2021-06-22 北京太极华保科技股份有限公司 一种语音机器人用话术合成方法及装置
CN113012680B (zh) * 2021-03-03 2021-10-15 北京太极华保科技股份有限公司 一种语音机器人用话术合成方法及装置

Also Published As

Publication number Publication date
CN110047463B (zh) 2021-03-02

Similar Documents

Publication Publication Date Title
CN110047462A (zh) 一种语音合成方法、装置和电子设备
CN104424943B (zh) 语音处理***和方法
Bretan et al. A unit selection methodology for music generation using deep neural networks
Ofli et al. Learn2dance: Learning statistical music-to-dance mappings for choreography synthesis
CN109147758A (zh) 一种说话人声音转换方法及装置
CN108711422A (zh) 语音识别方法、装置、计算机可读存储介质和计算机设备
CN110335587A (zh) 语音合成方法、***、终端设备和可读存储介质
CN106844442A (zh) 基于fcn特征提取的多模态循环神经网络图像描述方法
CN109346064A (zh) 用于端到端语音识别模型的训练方法及***
CN105679324B (zh) 一种声纹识别相似度评分的方法和装置
CN103905246B (zh) 基于分组遗传算法的链路预测方法
CN1835075B (zh) 一种结合自然样本挑选与声学参数建模的语音合成方法
CN109326280B (zh) 一种歌唱合成方法及装置、电子设备
Carpentier et al. Interacting with symbol, sound, and feature spaces in orchidée, a computer-aided orchestration environment
CN107437417A (zh) 基于循环神经网络语音识别中语音数据增强方法及装置
CN109597493A (zh) 一种表情推荐方法及装置
CN104392716B (zh) 高表现力的语音合成方法和装置
CN105654940A (zh) 一种语音合成方法和装置
CN109741735A (zh) 一种建模方法、声学模型的获取方法和装置
CN110047463A (zh) 一种语音合成方法、装置和电子设备
CN109902164A (zh) 利用卷积双向自注意网络解决开放长格式视频问答的方法
CN105336323A (zh) 维语语音识别方法和装置
CN107506345A (zh) 语言模型的构建方法和装置
CN108172211A (zh) 可调节的波形拼接***及方法
CN106297766B (zh) 语音合成方法及***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant