CN110047462B - 一种语音合成方法、装置和电子设备 - Google Patents
一种语音合成方法、装置和电子设备 Download PDFInfo
- Publication number
- CN110047462B CN110047462B CN201910101435.8A CN201910101435A CN110047462B CN 110047462 B CN110047462 B CN 110047462B CN 201910101435 A CN201910101435 A CN 201910101435A CN 110047462 B CN110047462 B CN 110047462B
- Authority
- CN
- China
- Prior art keywords
- model
- candidate
- target
- primitive
- acoustic
- 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.)
- Active
Links
- 238000001308 synthesis method Methods 0.000 title claims abstract description 15
- 238000012549 training Methods 0.000 claims abstract description 54
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 44
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 44
- 238000013136 deep learning model Methods 0.000 claims abstract description 35
- 238000004088 simulation Methods 0.000 claims abstract description 24
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 11
- 238000009826 distribution Methods 0.000 claims description 62
- 238000013528 artificial neural network Methods 0.000 claims description 58
- 238000000034 method Methods 0.000 claims description 50
- 239000013598 vector Substances 0.000 claims description 50
- 238000003066 decision tree Methods 0.000 claims description 46
- 238000004364 calculation method Methods 0.000 claims description 29
- 238000004458 analytical method Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 12
- 238000010276 construction Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 7
- 238000005457 optimization Methods 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 3
- 238000004140 cleaning Methods 0.000 claims description 2
- 238000013135 deep learning Methods 0.000 abstract description 14
- 238000005516 engineering process Methods 0.000 abstract description 14
- 230000000694 effects Effects 0.000 abstract description 11
- 230000002194 synthesizing effect Effects 0.000 abstract description 7
- 230000000295 complement effect Effects 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 31
- 230000008901 benefit Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 210000004027 cell Anatomy 0.000 description 8
- 230000000576 supplementary effect Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000003062 neural network model Methods 0.000 description 6
- 238000012216 screening Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000002372 labelling Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000007476 Maximum Likelihood Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000002045 lasting effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013329 compounding Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000002844 melting Methods 0.000 description 1
- 230000008018 melting Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/08—Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
- G10L25/30—Speech 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种选音距离加权求和,得到每个所述候选单元的动态规划代价;
路径选定模块,用于根据所述候选网格中各所述候选单元的动态规划代价,确定累计待检最小的最优路径;
拼接输出模块,用于根据所述最优路径从所述语音库中读取选定的基元,调整所述基元的长度与音高,顺次平滑拼接在一起。
可选的,在所述声学模型中包括声学参数的高斯分布模型和状态时长的高斯分布模型。
可选的,所述传统模型决策树中包括一套声学参数高斯模型和一套瓶颈向量高斯模型。
可选的,所述深度学习模型包括声学神经网络、基元时长神经网络和边界神经网络。
还提供了一种电子设备,设置有如上所述的语音合成装置。
还提供了一种电子设备,包括至少一个处理器和与其相连接的存储器,所述存储器用于存储计算机程序或指令,所述处理器用于执行所述计算机程序或指令,使所述电子设备能够执行如下操作:
响应文本输入,对输入的文本进行文本分析,得到所述文本的目标基元序列及相应的语境信息;
针对所述语境信息,利用传统模型决策树分别确定所述语境信息在语音库的声学参数模型、基元时长模型和边界帧声学参数模型中分别所属的子类号;
针对所述目标基元序列中每个目标基元,从所述语音库中检索所有候选单元,根据每个所述候选单元在所述选音目标模型中所属的子类号和所述目标基元在所述选音目标模型中所属的子类号,查表得到每个所述候选单元与所述目标基元的KLD距离,并根据所述KLD距离从所述多个候选单元中选择部分候选单元作为预选结果;
利用所述预选结果依次将每个所述目标基元形成一列,最终使所述目标基元序列形成一套候选网格;
将所述语境信息输入到深度学习模型,得到所述候选网格中每个所述目标基元的声学参数包络、基元时长和边界帧声学参数,并分别替换所述声学参数模型、所述基元时长模型和所述边界帧声学参数模型中的均值,形成新的选音目标模型;
在所述候选网格中,对于每个所述候选单元,根据所述声学参数模型、所述基元时长和所述边界帧声学参数模型计算每个所述候选单元的3种选音距离;
对于每个所述候选单元,将3种选音距离加权求和,得到其动态规划代价;
根据所述候选网格中各所述候选单元的动态规划代价,通过动态规划最优化算法,确定累积代价最小的最优路径;
根据所述最优路径从所述语音库中读取选定的基元,调整所述基元的长度与音高,顺次平滑拼接在一起。
从上述技术方案可以看出,本发明提供了一种语音合成方法、装置和电子设备,该方法和装置具体为:对输入的文本进行文本分析,得到目标基元序列及相应的语境信息;针对语境信息,利用传统模型决策树确定语境信息在语音库的选音目标模型中分别所属的子类号以及相应的高斯分布模型,得到相应的预选结果;利用预选结果依次将每个目标基元形成一列,最终使目标基元序列形成一套候选网格;将语境信息输入到深度学习模型,得到候选网格中每个目标基元的声学参数包络、基元时长和边界帧声学参数;根据语境信息在选音目标模型中分别所属的子类号以及相应的高斯分布模型计算每个候选单元的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种选音距离。
其中,P(on|λn,Qn)是候选的声学参数(on在语音切片(Phone segmentation)分出的状态分段Qn下相对于高斯分布模型+隐马尔科夫模型λn的概率密度。是候选的长度Tn相对于基元时长模型的高斯分布模型的概率密度。以上两种都是候选与目标之间的距离,共计算Cn次。则是前一列某候选的结尾与后一列某候选的开头之差相对于边界高斯分布模型的概率密度,相邻两列中各候选两两之间都要计算一次,共计算Cn×Cn-1次。
这里我们我们提出用深度学习模型输出层产出的结果替换高斯分布模型的均值,高斯分布模型的方差照旧。这样就充分发挥了深度学习的建模精度和集外稳定性等优势。另一方面合成结果对方差的精度要求不高,传统GMM模型的精度足矣。λn需要先按照状态时长高斯分布模型的均值做时序展开——即每个状态的高斯分布模型按照状态时长复制相应的份数,这样才能与声学神经网络生成的声学参数序列时序对齐——然后再用声学神经网络生成的声学参数序列逐一替换时序展开后的λn。中的高斯分布模型均值可以直接用基元时长神经网络和边界神经网络输出的基元时长和边界帧声学参数替换。替换后的λn,作为选音目标按照式(2)(3)(4)计算选音距离。
S7、将3种选音距离进行加权求和,得到每个候选单元的动态规划代价。
对候选网格中的每个候选单元,按式(2)(3)(4)计算3种选音距离后进行加权求和,将求和后的结果作为该节点的动态规划代价。选音距离是逐帧计算观测概率密度的,这样遇到的麻烦是候选单元的帧数和目标λn的帧数不等,这是可以按照比例跳跃性地对齐,确定候选单元的每帧与目标λn的哪帧计算概率密度。
S8、根据动态规划代价值确定似然度最大的最优路径。
其中,具体的计算公式如(1)所示:
where
其中N是待合成语句中目标基元的总数,整句话的选音结果u就是各目标基元的选音结果,最佳选音方案就是最大化(1)式中LLcmp(声学目标模型似然度)、LLdur(基元时长目标模型似然度)、LLcon(声学拼接平滑似然度)三者之和,这三种似然度又分别是各目标基元的累加和。最大化方案的选定是一个动态规划过程,需先构造一个候选规划网格,每个目标基元对应一列,包含该目标基元所有的候选(第n列的行数为Cn)。每个候选均需计算声学目标模型似然度、基元时长目标模型似然度、声学拼接平滑似然度。这些似然度的计算,都是候选的声学参数相对于Model decision步所确定模型的观测概率密度。P(on|λn,Qn)是候选的声学参数(on在Phone segmentation分出的状态分段Qn下相对于GMM-HMM模型λn的概率密度。是候选的长度Tn相对于基元时长模型的GMM的概率密度。以上两种都是候选与目标之间的距离,共计算Cn次。则是前一列某候选的结尾与后一列某候选的开头之差相对于边界GMM模型的概率密度,相邻两列中各候选两两之间都要计算一次,共计算Cn×Cn-1次。构造好规划网格后,从左到右每列选定一个候选,构成一种方案u,逐步累积三种动态规划代价,到最后一列时,得到u的最终累积代价,最后选择累积代价最小的一种最优路径u*。
S9、根据最优路径从语音库中读取选定的基元并进行拼接。
根据选定的最优路径u*,从语音库中读取每段候选单元,适当基元调整长度与音高,并顺次平滑地拼接在一起,得到最终合成的语音信号,该语音信息为一种数字化的语音,可以利用相应的播放设备进行播放。
从上述技术方案可以看出,本实施例提供了一种语音合成方法,该方法具体为:对输入的文本进行文本分析,得到目标基元序列及相应的语境信息;针对语境信息,利用传统模型决策树确定语境信息在语音库的选音目标模型中分别所属的子类号以及相应的高斯分布模型,得到相应的预选结果;利用预选结果依次将每个目标基元形成一列,最终使目标基元序列形成一套候选网格;将语境信息输入到深度学习模型,得到候选网格中每个目标基元的声学参数包络、基元时长和边界帧声学参数;根据语境信息在选音目标模型中分别所属的子类号以及相应的高斯分布模型计算每个候选单元的3种选音距离;将3种选音距离加权求和,得到每个候选单元的动态规划代价;根据动态规划代价值确定累积代价最小的最优路径;根据最优路径从语音库中读取选定的基元,适当调整基元的长度与音高,顺次平滑拼接在一起。本技术方案是在选音拼接合成路线上,适度引入深度学习技术、但又不彻底废弃传统统计学习技术,博采两者之长,最核心的创新是借用深度学习模型生成仿真数据来反哺传统统计学习模型的训练,从算法和数据两方面改善传统学习的效果。从而提高了语音合成的效果。
本方案通过引入深度神经网络,实现从语境特征到声学参数包络、基元时长、边界参数的映射,弥补传统决策树和GMM-HMM的不足。除了惯常提到的深度非线性映射能力和自动特征提取能力,具体优势还体现在:
1)决策树所表达的从决策问题到叶节点的映射关系,只是单纯的顺次二分,无法表征异或、多元复合等复杂逻辑关系,深度神经网络可以拟合到各类复合逻辑关系。
2)传统框架下,每个样本都通过决策树被归类到特定子类,只用于训练该子类的GMM-HMM,无法复用于其它子类。而深度神经网络则是用全部样本一体训练,具有更稳定的集外扩展性/稳定性。
3)决策树的训练过程中,优先选择信息熵大的特征,较弱的特征则被截止阈值彻底舍弃,在训练数据量不足或分布严重偏倚的情况下,问题尤为严重。深度神经网络以连续值量纲的权重来体现各输入特征的重要度,不会硬性舍弃任何特征。
本方案中传统模型并未完全舍弃,仍然发挥其速度优势,并且通过深度神经网络来辅助改进其训练,以补足短板。辅助改进传统模型的训练,在核函数和数据两个层面进行:
1)决策树的训练质量取决于分裂前后的似然度增量描述函数,传统描述函数完全依赖于声学参数的分布特性,选定于分裂的语境问题,能够多大程度地将集合干净地一分为二,只是基于特定语境有稳定发音特征的假定,真实情况不会这样理想。我们提出用神经网络中层输出的bottleneck vector取代声学参数计算似然度增量。bottleneck层从上下两个方向汲取信息,可看做联合语境信息和声学信息的精炼摘要,bottleneck vector的分布已经融入了一些语境信息,分裂问题可以更好地对样本集合分类。
2)借助神经网络生成仿真数据,补充到决策树+GMM-HMM的训练集,弥补数据不足和偏倚问题。1)中提到,GMM-HMM的训练只能利用并独享部分数据,无法像神经网络一样利用所有数据,所以同样数据量情况下传统模型更严重地受到数据稀疏的影响。具体方法是根据语境分布均衡原则从真实文本中选择具有补充作用的句子,经文本分析模块提取语境信息,然后送入神经网络得到bottleneck vector,得到(语境,bottleneck vector)训练样本。由于神经网络具有充分利用数据的优势和集外扩展性/稳定性的优势,借助神经网络生成的仿真数据,对传统模型是有补充作用的。仿真数据的补充,有利于改善语境分布的平衡,扩展模型的集外扩展性/稳定性。
另外,在Bottleneck vector空间上做KLD预选。以往的KLD预先是在声学参数的GMM-HMM上计算。其中提到的决策树训练过程中用bottleneckvector计算似然度增量,一致地,我们也用bottleneck vector的GMM-HMM来代表子类并度量子类间的距离。这种方案的优势,一方面是兼顾了语境信息和声学信息,另一方面是与决策树构造原则保持一致,从而最大限度发挥bottleneck机制和仿真反哺机制的效用。
选音目标模型通过下面的方法步骤进行训练得到:
神经网络的具体结构,在参数合成领域,早期主要是纯粹的DNN,但考虑到DNN不善于捕捉语音这类序列性信号的上下文时序关联关系,后续逐渐发展出基于RNN类的结构和主要基于深度CNN的端到端结构两大流派。RNN类结构(主流是LSTM)先天适用于序列性数据,但计算复杂度过高,可并行计算程度不高,网络结构不能太复杂。端到端指的是从输入到输出直接用一套模型建模,摒弃传统的经验性预设流程,整个过程交由模型内部黑盒化学习,自成一体,避免预设假定与误差累积,已经是包括语音识别、机器翻译、文本分类等各人工智能领域的主流发展方向。语音合成的端到端,就是摒弃各种文本处理与分析,从文字到声学参数直接用一套模型建模,模型结构非常复杂,RNN无法重用,主要是重用CNN类结构。业内已有wavnet、tacotron和DeepVoice等成功案例,这其中反证出只要模型结构合理CNN也能适用于序列性数据。
回到选音拼接领域中的选音目标模型,考虑到端到端计算复杂度过高、并且选音过程中需要用到文本语境特征辅助预选,我们仍倾向于非端到端路线。为最优化深度学习与传统学习桥接所用的内部抽象特征,我们选用CNN群组,以发挥其在特征抽取方面的先天优势。
模型结构的创新点是不同尺寸卷积核构成的卷积网络群组和起到信息摘要作用的bottleneck层,其中:
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层的激励输出得到相应的摘要向量bottleneckvector。我们提出在决策树的构造过程中使用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的集外稳定性,减轻集内过拟合。不止如此,Bottleneckvector即使对于集内语境也是生成出来的,原本不是现实存在的,因此集内外差异较小,从而使得仿真数据对决策树构造的有效性更明显。
上文中说明了仿真数据的使用方式,接下来说明生成方法,即补充语料库的筛选构造方法。
机器学习的训练数据讲求分布均衡,决策树要求更甚,各种语境尽量覆盖广泛、虽然自然语言中原本就分布不均,但要通过倾向性筛选原则追求尽量平衡,不要出现个别语境过分偏重。因此,总的优选原则是,已经出现过很多次的语境就尽量不再增加,未出现过的语境尽量选上。筛选是以句为单位,每句话中的每个基元都对应一个语境,一般是根据每句所含语境的已出现频度综合计算一个平均分,作为贡献度,优选贡献度最高的一批句子。筛选的具体流程如下:
1)语境总表降维缩减:
首先明确需要覆盖到哪些语境,列出总表,便于在筛选过程中统计频次。业内常用的语境信息超过50维,如果每维有两种取值可能,则语境总数高达2的50次方,天文数字无法操作,需要压缩数目。
我们提出通过神经网络计算出各维的权重,选择权重前N大的维度,覆盖时只考察这些维度。权重的计算方法是:Deep Acoustic Model训练完成后,再用一个简单的全连接网络粗略拟合bottleneck以下的半部分,中的右半部分,包含两层全连接隐藏层,其中的第一层只有一个神经元,其权系数向量记为W,第二层尺寸较大。Deep Acoustic Model训练完成后,再一一将训练句子的语境输入进去,得到Bottleneck vector,用(语境,Bottleneckvector)作为输入和输出训练简单网络。训练完成后,权系数向量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种选音距离。
其中,P(on|λn,Qn)是候选的声学参数(on在语音切片(Phone segmentation)分出的状态分段Qn下相对于高斯分布模型+隐马尔科夫模型λn的概率密度。是候选的长度Tn相对于基元时长模型的高斯分布模型的概率密度。以上两种都是候选与目标之间的距离,共计算Cn次。则是前一列某候选的结尾与后一列某候选的开头之差相对于边界高斯分布模型的概率密度,相邻两列中各候选两两之间都要计算一次,共计算Cn×Cn-1次。
这里我们提出用深度学习模型输出层产出的结果替换高斯分布模型的均值,高斯分布模型的方差照旧。这样就充分发挥了深度学习的建模精度和集外稳定性等优势。另一方面合成结果对方差的精度要求不高,传统GMM模型的精度足矣。λn需要先按照状态时长高斯分布模型的均值做时序展开——即每个状态的高斯分布模型按照状态时长复制相应的份数,这样才能与声学神经网络生成的声学参数序列时序对齐——然后再用声学神经网络生成的声学参数序列逐一替换时序展开后的λn。中的高斯分布模型均值可以直接用基元时长神经网络和边界神经网络输出的基元时长和边界帧声学参数替换。替换后的λn作为选音目标按照式(2)(3)(4)计算选音距离。
第四计算模块用于将3种选音距离进行加权求和,得到每个候选单元的动态规划代价。
对候选网格中的每个候选单元,按式(2)(3)(4)计算3种选音距离后进行加权求和,将求和后的结果作为该节点的动态规划代价。选音距离是逐帧计算观测概率密度的,这样遇到的麻烦是候选单元的帧数和目标λn的帧数不等,这是可以按照比例跳跃性地对齐,确定候选单元的每帧与目标λn的哪帧计算概率密度。
路径选定模块用于根据动态规划代价值确定似然度最大的最优路径。
其中,具体的计算公式如(1)所示:
where
其中N是待合成语句中目标基元的总数,整句话的选音结果u就是各目标基元的选音结果,最佳选音方案就是最大化(1)式中LLcmp(声学目标模型似然度)、LLdur(基元时长目标模型似然度)、LLcon(声学拼接平滑似然度)三者之和,这三种似然度又分别是各目标基元的累加和。最大化方案的选定是一个动态规划过程,需先构造一个候选规划网格,每个目标基元对应一列,包含该目标基元所有的候选(第n列的行数为Cn)。每个候选均需计算声学目标模型似然度、基元时长目标模型似然度、声学拼接平滑似然度。这些似然度的计算,都是候选的声学参数相对于Model decision步所确定模型的观测概率密度。P(on|λn,Qn)是候选的声学参数(on在Phone segmentation分出的状态分段Qn下相对于GMM-HMM模型λn的概率密度。是候选的长度Tn相对于基元时长模型的GMM的概率密度。以上两种都是候选与目标之间的距离,共计算Cn次。则是前一列某候选的结尾与后一列某候选的开头之差相对于边界GMM模型的概率密度,相邻两列中各候选两两之间都要计算一次,共计算Cn×Cn-1次。构造好规划网格后,从左到右每列选定一个候选,构成一种方案u,逐步累积三种动态规划代价,到最后一列时,得到u的最终累积代价,最后选择累积代价最小的一种最优路径u*。
拼接输出模块用于根据最优路径从语音库中读取选定的基元并进行拼接。
根据选定的最优路径u*,从语音库中读取每段候选单元,适当基元调整长度与音高,并顺次平滑地拼接在一起,得到最终合成的语音信号,该语音信息为一种数字化的语音,可以利用相应的播放设备进行播放。
从上述技术方案可以看出,本实施例提供了一种语音合成装置,该装置具体为:对输入的文本进行文本分析,得到目标基元序列及相应的语境信息;针对语境信息,利用传统模型决策树确定语境信息在语音库的选音目标模型中分别所属的子类号以及相应的高斯分布模型,得到相应的预选结果;利用预选结果依次将每个目标基元形成一列,最终使目标基元序列形成一套候选网格;将语境信息输入到深度学习模型,得到候选网格中每个目标基元的声学参数包络、基元时长和边界帧声学参数;根据语境信息在选音目标模型中分别所属的子类号以及相应的高斯分布模型计算每个候选单元的3种选音距离;将3种选音距离加权求和,得到每个候选单元的动态规划代价;根据动态规划代价值确定累积代价最小的最优路径;根据最优路径从语音库中读取选定的基元,适当调整基元的长度与音高,顺次平滑拼接在一起。本技术方案是在选音拼接合成路线上,适度引入深度学习技术、但又不彻底废弃传统统计学习技术,博采两者之长,最核心的创新是借用深度学习模型生成仿真数据来反哺传统统计学习模型的训练,从算法和数据两方面改善传统学习的效果。从而提高了语音合成的效果。
实施例三
本实施例提供了一种电子设备,如语音合成设备、电子计算机或移动终端等,其设置有上一实施例所提供的语音合成装置。该装置用于对输入的文本进行文本分析,得到目标基元序列及相应的语境信息;针对语境信息,利用传统模型决策树确定语境信息在语音库的选音目标模型中分别所属的子类号以及相应的高斯分布模型,得到相应的预选结果;利用预选结果依次将每个目标基元形成一列,最终使目标基元序列形成一套候选网格;将语境信息输入到深度学习模型,得到候选网格中每个目标基元的声学参数包络、基元时长和边界帧声学参数;根据语境信息在选音目标模型中分别所属的子类号以及相应的高斯分布模型计算每个候选单元的3种选音距离;将3种选音距离加权求和,得到每个候选单元的动态规划代价;根据动态规划代价确定累积代价最小的最优路径;根据最优路径从语音库中读取选定的基元,适当调整基元的长度与音高,顺次平滑拼接在一起。本技术方案是在选音拼接合成路线上,适度引入深度学习技术、但又不彻底废弃传统统计学习技术,博采两者之长,最核心的创新是借用深度学习模型生成仿真数据来反哺传统统计学习模型的训练,从算法和数据两方面改善传统学习的效果。从而提高了语音合成的效率。
实施例四
本实施例提供了一种电子设备,如语音合成设备、电子计算机或移动终端等,该电子设备包括至少一个处理器和与其相连接的存储器,存储器用于存储相应的计算机程序或指令,处理器用于执行相应的计算机程序或指令,从而能够使电子设备执行如下的操作:
响应文本输入,对输入的文本进行文本分析,得到文本的目标基元序列及相应的语境信息;
针对语境信息,利用传统模型决策树分别确定语境信息在语音库的声学参数模型、基元时长模型和边界帧声学参数模型中分别所属的子类号;
针对目标基元序列中每个目标基元,从语音库中检索所有候选单元,根据每个候选单元在选音目标模型中所属的子类号和目标基元在选音目标模型中所属的子类号,查表得到每个候选单元与目标基元的KLD距离,并根据KLD距离从多个候选单元中选择部分候选单元作为预选结果;
利用预选结果依次将每个目标基元形成一列,最终使目标基元序列形成一套候选网格;
将语境信息输入到深度学习模型,得到候选网格中每个目标基元的声学参数包络、基元时长和边界帧声学参数,并分别替换声学参数模型、基元时长模型和边界帧声学参数模型中的均值,形成新的选音目标模型;
在候选网格中,对于每个候选单元,根据声学参数模型、基元时长和边界帧声学参数模型计算每个候选单元的3种选音距离;
对于每个候选单元,将3种选音距离加权求和,得到其动态规划代价;
根据候选网格中各候选单元的动态规划代价,通过动态规划最优化算法,确定累积代价最小的最优路径;
根据最优路径从语音库中读取选定的基元,调整基元的长度与音高,顺次平滑拼接在一起。
上述操作是在选音拼接合成路线上,适度引入深度学习技术、但又不彻底废弃传统统计学习技术,博采两者之长,最核心的创新是借用深度学习模型生成仿真数据来反哺传统统计学习模型的训练,从算法和数据两方面改善传统学习的效果,从而提高了语音合成的效率。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的技术方案进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种语音合成方法,其特征在于,包括步骤:
响应文本输入,对输入的文本进行文本分析,得到所述文本的目标基元序列及相应的语境信息;
针对所述语境信息,利用传统模型决策树确定所述语境信息在语音库中选音目标模型中的声学参数模型、基元时长模型和边界帧声学参数模型中分别所属的子类号及相应的高斯分布模型;其中,所述传统模型决策树中包括一套声学参数高斯模型和一套瓶颈向量高斯模型;
针对所述目标基元序列中每个目标基元,从所述语音库中检索所有候选单元,根据每个所述候选单元在所述选音目标模型中所属的子类号和所述目标基元在所述选音目标模型中所属的子类号,查表得到每个所述候选单元与所述目标基元的KLD距离,并根据所述KLD距离从多个候选单元中选择部分候选单元作为预选结果;
利用所述预选结果依次将每个所述目标基元形成一列,最终使所述目标基元序列形成一套候选网格;
将所述语境信息输入到深度学习模型,得到所述候选网格中每个所述目标基元的声学参数包络、基元时长和边界帧声学参数,并分别替换所述声学参数模型、所述基元时长模型和所述边界帧声学参数模型中的均值,形成新的选音目标模型;其中,所述深度学习模型包括声学神经网络、基元时长神经网络和边界神经网络;
在所述候选网格中,对于每个所述候选单元,根据语境信息在选音目标模型中的所述声学参数模型、所述基元时长模型和所述边界帧声学参数模型中所属的所述子类号及相应的高斯分布模型计算每个所述候选单元的3种选音距离;
对于每个所述候选单元,将3种选音距离加权求和,得到其动态规划代价;
根据所述候选网格中各所述候选单元的动态规划代价,通过动态规划最优化算法,确定累积代价最小的最优路径;
根据所述最优路径从所述语音库中读取选定的基元,调整所述基元的长度与音高,顺次平滑拼接在一起;
所述选音目标模型中包括声学参数的高斯分布模型、基元时长的高斯分布模型和边界帧声学参数的高斯分布模型。
2.如权利要求1所述的语音合成方法,其特征在于,所述选音目标模型的决策树中包括一套声学参数高斯模型和一套瓶颈向量高斯模型。
3.如权利要求1所述的语音合成方法,其特征在于,所述深度学习模型包括声学神经网络、基元时长神经网络和边界神经网络。
4.如权利要求1所述的语音合成方法,其特征在于,还包括步骤:
根据两路来源的训练样本进行模型训练,得到所述传统模型决策树,所述训练样本来自于原始语音库和根据补充语料库生成的仿真数据。
5.如权利要求4所述的语音合成方法,其特征在于,还包括步骤:
对语境总表进行降维缩减处理,得到全局频次表和覆盖频次表;
从多种途径搜集海量文本,经过清洗和断句后,挑出长度符合预设标准的句子,组成原始待选库;
将所述原始待选库中的每个所述句子进行文本分析,得到每个所述句子的基元序列和语境信息;
遍历所有所述句子每种语境的出现频次,根据所述出现频次初始化所述全局频次表,并将所述覆盖频次表初始化为全零;
遍历每个所述句子,根据所述出现频次计算每个所述句子的贡献分;
将所述贡献分最高的多个所述句子摘录为已选库;
遍历所述已选库中的每个所述句子,更新所述覆盖频次表,如果所述覆盖频次表中所有非零的频次都超过了阈值,则终止迭代;
当所述覆盖频次表第一次被更新后,将所述覆盖频次表彻底取代所述全局频次表,得到所述仿真数据。
6.一种语音合成装置,其特征在于,包括:
文本分析模块,用于响应文本输入,对输入的文本进行文本分析,得到所述文本的目标基元序列及相应的语境信息;
第一计算模块,用于针对所述语境信息,利用传统模型决策树确定所述语境信息在语音库中选音目标模型中的声学参数模型、基元时长模型和边界帧声学参数模型中分别所属的子类号及相应的高斯分布模型;其中,所述传统模型决策树中包括一套声学参数高斯模型和一套瓶颈向量高斯模型;
距离计算模块,用于针对所述目标基元序列中每个目标基元,从所述语音库中检索所有候选单元,根据每个所述候选单元在所述选音目标模型中所属的子类号和所述目标基元在所述选音目标模型中所属的子类号,查表得到每个所述候选单元与所述目标基元的KLD距离,并根据所述KLD距离从多个候选单元中选择部分候选单元作为预选结果;
网格构造模块,用于利用所述预选结果依次将每个所述目标基元形成一列,最终使所述目标基元序列形成一套候选网格;
第二计算模块,用于将所述语境信息输入到深度学习模型,得到所述候选网格中每个所述目标基元的声学参数包络、基元时长和边界帧声学参数,并分别替换所述声学参数模型、所述基元时长模型和所述边界帧声学参数模型中的均值,形成新的选音目标模型;其中,所述深度学习模型包括声学神经网络、基元时长神经网络和边界神经网络;
第三计算模块,用于在所述候选网格中,对于每个所述候选单元,根据所述声学参数模型、所述基元时长模型和所述边界帧声学参数模型所属的所述子类号及相应的高斯分布模型计算每个所述候选单元的3种选音距离;
第四计算模块,用于对每个所述候选单元,将所述3种选音距离加权求和,得到每个所述候选单元的动态规划代价;
路径选定模块,用于根据所述候选网格中各所述候选单元的动态规划代价,确定累计待检最小的最优路径;
拼接输出模块,用于根据所述最优路径从所述语音库中读取选定的基元,调整所述基元的长度与音高,顺次平滑拼接在一起;
所述选音目标模型中包括声学参数的高斯分布模型、基元时长的高斯分布模型和边界帧声学参数的高斯分布模型。
7.一种电子设备,其特征在于,设置有如权利要求6所述的语音合成装置。
8.一种电子设备,其特征在于,包括至少一个处理器和与其相连接的存储器,所述存储器用于存储计算机程序或指令,所述处理器用于执行如权利要求1~5任一项所述的语音合成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910101435.8A CN110047462B (zh) | 2019-01-31 | 2019-01-31 | 一种语音合成方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910101435.8A CN110047462B (zh) | 2019-01-31 | 2019-01-31 | 一种语音合成方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110047462A CN110047462A (zh) | 2019-07-23 |
CN110047462B true CN110047462B (zh) | 2021-08-13 |
Family
ID=67274220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910101435.8A Active CN110047462B (zh) | 2019-01-31 | 2019-01-31 | 一种语音合成方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110047462B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111145723B (zh) * | 2019-12-31 | 2023-11-17 | 广州酷狗计算机科技有限公司 | 转换音频的方法、装置、设备以及存储介质 |
CN113409793B (zh) * | 2020-02-28 | 2024-05-17 | 阿里巴巴集团控股有限公司 | 语音识别方法及智能家居系统、会议设备、计算设备 |
CN111862931B (zh) * | 2020-05-08 | 2024-09-24 | 北京嘀嘀无限科技发展有限公司 | 一种语音生成方法及装置 |
CN112614480B (zh) * | 2020-12-22 | 2023-09-15 | 平安银行股份有限公司 | 语音播报的方法、装置、设备及存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1787072A (zh) * | 2004-12-07 | 2006-06-14 | 北京捷通华声语音技术有限公司 | 基于韵律模型和参数选音的语音合成方法 |
CN101178896A (zh) * | 2007-12-06 | 2008-05-14 | 安徽科大讯飞信息科技股份有限公司 | 基于声学统计模型的单元挑选语音合成方法 |
CN101901598A (zh) * | 2010-06-30 | 2010-12-01 | 北京捷通华声语音技术有限公司 | 一种哼唱合成方法和系统 |
CN102063898A (zh) * | 2010-09-27 | 2011-05-18 | 北京捷通华声语音技术有限公司 | 韵律短语预测方法 |
CN102231276A (zh) * | 2011-06-21 | 2011-11-02 | 北京捷通华声语音技术有限公司 | 一种语音合成单元时长的预测方法及装置 |
CN104112444A (zh) * | 2014-07-28 | 2014-10-22 | 中国科学院自动化研究所 | 一种基于文本信息的波形拼接语音合成方法 |
CN104538024A (zh) * | 2014-12-01 | 2015-04-22 | 百度在线网络技术(北京)有限公司 | 语音合成方法、装置及设备 |
CN104575488A (zh) * | 2014-12-25 | 2015-04-29 | 北京时代瑞朗科技有限公司 | 一种基于文本信息的波形拼接语音合成方法 |
CN104934028A (zh) * | 2015-06-17 | 2015-09-23 | 百度在线网络技术(北京)有限公司 | 用于语音合成的深度神经网络模型的训练方法及装置 |
CN105529023A (zh) * | 2016-01-25 | 2016-04-27 | 百度在线网络技术(北京)有限公司 | 语音合成方法和装置 |
CN105654940A (zh) * | 2016-01-26 | 2016-06-08 | 百度在线网络技术(北京)有限公司 | 一种语音合成方法和装置 |
CN105931631A (zh) * | 2016-04-15 | 2016-09-07 | 北京地平线机器人技术研发有限公司 | 语音合成系统和方法 |
CN106601226A (zh) * | 2016-11-18 | 2017-04-26 | 中国科学院自动化研究所 | 音素时长预测建模方法及音素时长预测方法 |
US9916825B2 (en) * | 2015-09-29 | 2018-03-13 | Yandex Europe Ag | Method and system for text-to-speech synthesis |
US10186252B1 (en) * | 2015-08-13 | 2019-01-22 | Oben, Inc. | Text to speech synthesis using deep neural network with constant unit length spectrogram |
-
2019
- 2019-01-31 CN CN201910101435.8A patent/CN110047462B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1787072A (zh) * | 2004-12-07 | 2006-06-14 | 北京捷通华声语音技术有限公司 | 基于韵律模型和参数选音的语音合成方法 |
CN101178896A (zh) * | 2007-12-06 | 2008-05-14 | 安徽科大讯飞信息科技股份有限公司 | 基于声学统计模型的单元挑选语音合成方法 |
CN101901598A (zh) * | 2010-06-30 | 2010-12-01 | 北京捷通华声语音技术有限公司 | 一种哼唱合成方法和系统 |
CN102063898A (zh) * | 2010-09-27 | 2011-05-18 | 北京捷通华声语音技术有限公司 | 韵律短语预测方法 |
CN102231276A (zh) * | 2011-06-21 | 2011-11-02 | 北京捷通华声语音技术有限公司 | 一种语音合成单元时长的预测方法及装置 |
CN104112444A (zh) * | 2014-07-28 | 2014-10-22 | 中国科学院自动化研究所 | 一种基于文本信息的波形拼接语音合成方法 |
CN104538024A (zh) * | 2014-12-01 | 2015-04-22 | 百度在线网络技术(北京)有限公司 | 语音合成方法、装置及设备 |
CN104575488A (zh) * | 2014-12-25 | 2015-04-29 | 北京时代瑞朗科技有限公司 | 一种基于文本信息的波形拼接语音合成方法 |
CN104934028A (zh) * | 2015-06-17 | 2015-09-23 | 百度在线网络技术(北京)有限公司 | 用于语音合成的深度神经网络模型的训练方法及装置 |
US10186252B1 (en) * | 2015-08-13 | 2019-01-22 | Oben, Inc. | Text to speech synthesis using deep neural network with constant unit length spectrogram |
US9916825B2 (en) * | 2015-09-29 | 2018-03-13 | Yandex Europe Ag | Method and system for text-to-speech synthesis |
CN105529023A (zh) * | 2016-01-25 | 2016-04-27 | 百度在线网络技术(北京)有限公司 | 语音合成方法和装置 |
CN105654940A (zh) * | 2016-01-26 | 2016-06-08 | 百度在线网络技术(北京)有限公司 | 一种语音合成方法和装置 |
CN105931631A (zh) * | 2016-04-15 | 2016-09-07 | 北京地平线机器人技术研发有限公司 | 语音合成系统和方法 |
CN106601226A (zh) * | 2016-11-18 | 2017-04-26 | 中国科学院自动化研究所 | 音素时长预测建模方法及音素时长预测方法 |
Non-Patent Citations (4)
Title |
---|
"duration modeling using DNN for Arabic speech synthesis";Zangar I;《speech prosody SP9》;20181231;全文 * |
"improving trajectory modeling for DNN-based speech synthesis by using stacked bottleneck features and minimum generation error training";zhizheng wu;《IEEE/ACM transactions on audio,speech, and language processing》;20160229;第24卷(第7期);全文 * |
"基于DNN的汉语到藏语跨语言语音转换的研究";阮文斌;《中国优秀硕士学位论文全文数据库信息科技辑》;20190115;全文 * |
"基于大语音库的拼接合成语音特征分析";吕士楠;《新世纪的现代语音学——第五届全国现代语音学学术会议论文集》;20011221;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110047462A (zh) | 2019-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110047462B (zh) | 一种语音合成方法、装置和电子设备 | |
JP5768093B2 (ja) | 音声処理システム | |
US10140972B2 (en) | Text to speech processing system and method, and an acoustic model training system and method | |
Schuller et al. | Speaker independent emotion recognition by early fusion of acoustic and linguistic features within ensembles | |
Schuller et al. | Speaker independent speech emotion recognition by ensemble classification | |
US5956679A (en) | Speech processing apparatus and method using a noise-adaptive PMC model | |
CN108920622A (zh) | 一种意图识别的训练方法、训练装置和识别装置 | |
CN108711422A (zh) | 语音识别方法、装置、计算机可读存储介质和计算机设备 | |
JP5929909B2 (ja) | 韻律生成装置、音声合成装置、韻律生成方法および韻律生成プログラム | |
CN108615525A (zh) | 一种语音识别方法及装置 | |
CN108062954A (zh) | 语音识别方法和装置 | |
Deng et al. | Foundations and trends in signal processing: Deep learning–methods and applications | |
JPH0934486A (ja) | 音声認識方法、情報形成方法、音声認識装置および記録媒体 | |
CN110288975A (zh) | 语音风格迁移方法、装置、电子设备及存储介质 | |
JPWO2008105263A1 (ja) | 重み係数学習システム及び音声認識システム | |
CN112861984A (zh) | 一种基于特征融合与集成学习的语音情感分类方法 | |
Ault et al. | On speech recognition algorithms | |
CN110047463B (zh) | 一种语音合成方法、装置和电子设备 | |
May | Kernel approximation methods for speech recognition | |
CN114678030A (zh) | 基于深度残差网络和注意力机制的声纹识别方法及装置 | |
CN117496944B (zh) | 一种多情感多说话人语音合成方法和系统 | |
Yang et al. | Essence knowledge distillation for speech recognition | |
JP6594251B2 (ja) | 音響モデル学習装置、音声合成装置、これらの方法及びプログラム | |
JP2019078857A (ja) | 音響モデルの学習方法及びコンピュータプログラム | |
KR101727306B1 (ko) | 언어모델 군집화 기반 음성인식 장치 및 방법 |
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 |