用于合成语音的方法和装置制造方法

文档序号:2825530阅读:137来源:国知局
用于合成语音的方法和装置制造方法
【专利摘要】本发明提供用于合成语音的方法和装置。所述用于合成语音的装置,包括:输入单元,其输入文本句;文本分析单元,其对上述文本句进行文本分析以获得音素序列;查找单元,其在时长预测模型中的时长决策树中查找上述音素序列中的至少一个音素的叶子节点,上述叶子节点中的音素时长实例被聚为多个类;概率计算单元,其计算上述至少一个音素属于上述叶子节点中的多个类的每个类的概率;时长预测单元,其利用上述概率计算单元计算出的概率和上述多个类的每个类的类中心时长预测上述至少一个音素的时长;以及语音合成单元,其利用上述时长预测单元预测出的时长合成上述文本句的语音。
【专利说明】用于合成语音的方法和装置
【技术领域】
[0001]本发明涉及语音合成技术,具体地,涉及用于合成语音的方法和装置。
【背景技术】
[0002]目前,基于隐马尔科夫模型的语音合成(HTS,HMM-based Text toSpeech)已经广泛应用于语音合成技术。
[0003]具体地,图4示出了传统的基于隐马尔科夫模型的语音合成系统。如图4所示,在训练阶段,利用语音数据库10和语境数据库20训练隐马尔科夫模型(HMMs),得到时长决策树30。
[0004]在合成阶段,在步骤405,对步骤401输入的文本句进行文本分析,得到该文本句的音素序列和语境特征序列。然后,在步骤410,基于步骤405中得到的语境特征在时长决策树30中查找与该语境特征对应的音素的叶子节点。然后,在步骤415,将叶子节点的中心时长作为该音素的时长。最后,在步骤420,利用预测出的时长进行语音合成。
[0005]在上述传统的基于隐马尔科夫模型的语音合成系统中,某个音素的时长是由时长决策树30的某个叶子节点的中心时长,例如高斯分布的均值决定。也就是说,一个叶子节点上的所有音素时长实例由单一的中心时长来表示,由此导致了过平淡节奏的出现。这种平淡的合成语音会在电子书阅读、汽车导航、移动电话等这样的应用中降低用户体验。

【发明内容】

[0006]为了改善上述现有技术中存在的利用叶子节点的单一的中心时长生成音素的时长而导致合成语音的节奏过于平淡的问题,本发明提出了一种改进合成语音节奏的方法,该方法利用时长决策树的叶子节点上的多中心时长来生成音素的时长。也就是说,本发明提供了用于合成语音的方法和装置。具体地,提供了以下技术方案。
[0007][I] 一种用于合成语音的方法,包括以下步骤:
[0008]输入文本句;
[0009]对上述文本句进行文本分析以获得音素序列;
[0010]在时长预测模型中的时长决策树中查找上述音素序列中的至少一个音素的叶子节点,上述叶子节点中的音素时长实例被聚为多个类;
[0011]计算上述至少一个音素属于上述叶子节点中的多个类的每个类的概率;
[0012]利用上述计算出的概率和上述多个类的每个类的类中心时长预测上述至少一个音素的时长;以及
[0013]利用上述预测出的时长合成上述文本句的语音。
[0014]本发明的上述用于合成语音的方法,在进行音素的时长预测时,与使用叶子节点的单一的中心时长的传统方法不同,使用叶子节点中的多个类的类中心时长进行预测,有效地解决了现有技术中合成语音的节奏过于平淡的技术问题,提高了在电子书阅读、汽车导航、移动电话等这样的应用中的用户体验。[0015][2]根据上述[I]所述的方法,其中,上述利用上述计算出的概率和上述多个类的每个类的类中心时长预测上述至少一个音素的时长的步骤包括:
[0016]将上述多个类中概率最大的类的类中心时长作为上述至少一个音素的时长。
[0017]本发明的上述用于合成语音的方法,通过使用叶子节点的多个类中概率最大的类的类中心时长作为上述至少一个音素的时长,可以使上述至少一个音素的时长的预测更加准确。
[0018][3]根据上述[I]所述的方法,其中,上述利用上述计算出的概率和上述多个类的每个类的类中心时长预测上述至少一个音素的时长的步骤包括:
[0019]将上述多个类的类中心时长以上述计算出的概率为权重的加权和,作为上述至少一个音素的时长。
[0020]本发明的上述用于合成语音的方法,通过使用叶子节点的多个类的类中心时长以上述计算出的概率为权重的加权和,作为上述至少一个音素的时长,可以使上述至少一个音素的时长预测的候选由多中心动态扩展为一个在实例空间上的范围。
[0021][4]根据上述[I]所述的方法,其中,上述利用上述计算出的概率和上述多个类的每个类的类中心时长预测上述至少一个音素的时长的步骤包括:
[0022]利用上述计算出的概率、上述多个类的每个类的类中心时长和上述多个类的每个类的先验概率预测上述至少一个音素的时长。
[0023][5]根据上述[4]所述的方法,其中,上述利用上述计算出的概率、上述多个类的每个类的类中心时长和上述多个类的每个类的先验概率预测上述至少一个音素的时长的步骤包括:
[0024]将上述多个类的类中心时长以上述计算出的概率和上述多个类的每个类的先验概率为权重的加权和,作为上述至少一个音素的时长。
[0025]本发明的上述用于合成语音的方法,通过引入先验概率,时长预测中出现异常时长的可能性减小,由此带来了主观感知的提升。
[0026][6]根据上述[I]?[5]的任一项所述的方法,其中,
[0027]上述对上述文本句进行文本分析的步骤还获得与上述音素序列对应的语境特征序列,
[0028]上述在时长决策树中查找上述音素序列中的至少一个音素的叶子节点的步骤包括:利用上述语境特征序列中与上述至少一个音素对应的语境特征查找上述至少一个音素的叶子节点。
[0029][7]根据上述[I]?[6]的任一项所述的方法,其中,
[0030]上述对上述文本句进行文本分析的步骤还获得与上述音素序列对应的语境特征序列,
[0031]上述计算上述至少一个音素属于上述叶子节点中的多个类的每个类的概率的步骤包括:利用上述语境特征序列中与上述至少一个音素对应的语境特征和上述时长预测模型中的映射模型计算上述至少一个音素属于上述叶子节点中的多个类的每个类的概率。
[0032][8]根据上述[7]所述的方法,其中,上述映射模型通过上述时长预测模型中的音素的语境特征与上述时长决策树中的叶子节点的多个类的一个类的对应关系训练得到。
[0033][9]根据上述[8]所述的方法,其中,上述音素的语境特征包括用于训练上述时长决策树的语境特征或与用于训练上述时长决策树的语境特征不同的语境特征。
[0034][10]根据上述[9]所述的方法,其中,上述与用于训练上述时长决策树的语境特征不同的语境特征包括对上述用于训练上述时长决策树的语境特征不同的语境特征进行删减和/或增加后得到的语境特征。
[0035][11] 一种用于合成语音的装置,包括:
[0036]输入单元,其输入文本句;
[0037]文本分析单元,其对上述文本句进行文本分析以获得音素序列;
[0038]查找单元,其在时长预测模型中的时长决策树中查找上述音素序列中的至少一个音素的叶子节点,上述叶子节点中的音素时长实例被聚为多个类;
[0039]概率计算单元,其计算上述至少一个音素属于上述叶子节点中的多个类的每个类的概率;
[0040]时长预测单元,其利用上述概率计算单元计算出的概率和上述多个类的每个类的类中心时长预测上述至少一个音素的时长;以及
[0041 ] 语音合成单元,其利用上述时长预测单元预测出的时长合成上述文本句的语音。
[0042]本发明的上述用于合成语音的装置,在进行音素的时长预测时,与使用叶子节点的单一的中心时长的传统装置不同,使用叶子节点中的多个类的类中心时长进行预测,有效地解决了现有技术中合成语音的节奏过于平淡的技术问题,提高了在电子书阅读、汽车导航、移动电话等这样的应用中的用户体验。
[0043][12]根据上述[11]所述的装置,其中,上述时长预测单元,将上述多个类中概率最大的类的类中心时长作为上述至少一个音素的时长。
[0044]本发明的上述用于合成语音的装置,通过使用叶子节点的多个类中概率最大的类的类中心时长作为上述至少一个音素的时长,可以使上述至少一个音素的时长的预测更加准确。
[0045][13]根据上述[11]所述的装置,其中,上述时长预测单元,将上述多个类的类中心时长以上述计算出的概率为权重的加权和,作为上述至少一个音素的时长。
[0046]本发明的上述用于合成语音的装置,通过使用叶子节点的多个类的类中心时长以上述计算出的概率为权重的加权和,作为上述至少一个音素的时长,可以使上述至少一个音素的时长预测的候选由多中心动态扩展为一个在实例空间上的范围。
[0047][14]根据上述[11]所述的装置,其中,上述时长预测单元,利用上述计算出的概率、上述多个类的每个类的类中心时长和上述多个类的每个类的先验概率预测上述至少一个音素的时长。
[0048][15]根据上述[14]所述的装置,其中,上述时长预测单元,将上述多个类的类中心时长以上述计算出的概率和上述多个类的每个类的先验概率为权重的加权和,作为上述至少一个音素的时长。
[0049]本发明的上述用于合成语音的装置,通过引入先验概率,时长预测中出现异常时长的可能性减小,由此带来了主观感知的提升。
[0050][16]根据上述[11]?[15]的任一项所述的装置,其中,
[0051]上述文本分析单元还获得与上述音素序列对应的语境特征序列,
[0052]上述查找单元,利用上述语境特征序列中与上述至少一个音素对应的语境特征查找上述至少一个音素的叶子节点。
[0053][17]根据上述[11]?[16]的任一项所述的装置,其中,
[0054]上述文本分析单元还获得与上述音素序列对应的语境特征序列,
[0055]上述概率计算单元,利用上述语境特征序列中与上述至少一个音素对应的语境特征和上述时长预测模型中的映射模型计算上述至少一个音素属于上述叶子节点中的多个类的每个类的概率。
[0056][18]根据上述[17]所述的装置,其中,上述映射模型通过上述时长预测模型中的音素的语境特征与上述时长决策树中的叶子节点的多个类的一个类的对应关系训练得到。
[0057][19]根据上述[18]所述的装置,其中,上述音素的语境特征包括用于训练上述时长决策树的语境特征或与用于训练上述时长决策树的语境特征不同的语境特征。
[0058][20]根据上述[19]所述的装置,其中,上述与用于训练上述时长决策树的语境特征不同的语境特征包括对上述用于训练上述时长决策树的语境特征不同的语境特征进行删减和/或增加后得到的语境特征。
【专利附图】

【附图说明】
[0059]结合附图,从下面对本发明的实施例的详细描述中本发明的目的、特点和优点将显而易见,其中:
[0060]图1示出了根据本发明的第I实施例的用于合成语音的方法的流程图。
[0061]图2示出了根据本发明的第I实施例的用于合成语音的方法的一个具体实例。
[0062]图3示出了根据本发明的第2实施例的用于合成语音的装置的框图。
[0063]图4不出了传统的基于隐马尔科夫模型的语音合成系统。
【具体实施方式】
[0064]下面,结合附图对本发明的实施例进行详细描述。
[0065]一般地,本发明的实施例涉及在电子设备(例如电子书、汽车导航、移动电话等和/或类似物)中合成语音的方法及装置。
[0066]概括而言,本发明的基本构思是:在训练阶段,使用聚类算法将时长决策树的叶子节点上的音素时长实例聚为多个类,这些类的类中心时长将被用于接下来的时长预测。然后使用类似于条件随机场的机器学习方法建立音素的语境特征和叶子节点的多个类之间的映射关系,获得映射模型。在合成阶段,在对输入的文本句预测时长时,首先根据待合成音素的语境特征在时长决策树上查找其叶子节点,然后根据待合成音素的语境特征,利用训练阶段获得的映射模型计算待合成音素属于其叶子节点的多个类的每个类的概率,最后基于计算得到的概率和多个类的类中心时长预测待合成语音的时长。
_7] 用于合成语音的方法
[0068]图1示出了根据本发明的第I实施例的用于合成语音的方法的流程图。
[0069]首先,如图1所示,在步骤101,输入文本句。
[0070]在本实施例中,输入的文本句可以是本领域的技术人员公知的任何文本的句子,也可以是各种语言的文本句,例如汉语、英语、日语等,本发明对此没有任何限制。
[0071]接着,在步骤105,对输入的文本句进行文本分析以获得该文本句的音素序列。优选,在步骤105,还获得与音素序列对应的语境特征序列。
[0072]在本实施例中,语境特征包括上述文本句的句长,句中各字(词)的字形、拼音、音素类型、声调、词性、句中位置、与前后字(词)之间的边界类型以及与前后停顿之间的距离等等。此外,在本实施例中,用于对输入的文本句进行文本分析的文本分析方法可以是本领域的技术人员公知的任何方法,本发明对此没有任何限制。
[0073]接着,在步骤110,在时长预测模型中的时长决策树中查找上述音素序列中的音素的叶子节点,上述叶子节点中的音素时长实例被聚为多个类。
[0074]在本实施例中,优选,利用步骤105的文本分析所获得的语境特征序列中与音素对应的语境特征查找音素的叶子节点。在时长决策树上查找音素的叶子节点的方法可以是本领域的技术人员公知的任何方法,本发明对此没有任何限制。
[0075]在本实施例中,时长预测模型的时长决策树是在训练阶段通过训练获得的。图2示出了根据本发明的第I实施例的用于合成语音的方法的一个具体实例。下面结合图2对训练阶段的内容进行详细描述。
[0076]如图2所示,在训练阶段,利用语音数据库10的声学信息和语境数据库20的语言学信息训练HMMs模型,得到时长决策树30。
[0077]在本实施例中,训练HMMs模型的方法可以是本领域的技术人员公知的任何方法,本发明对此并没有任何限制。另外,时长决策树30也可以是本领域的技术人员公知的基于HHMs模型的任何时长决策树,本发明对此不再进行赘述。
[0078]在得到时长决策树30后,本发明在步骤260,对时长决策树30的叶子节点中的音素时长实例进行聚类。下面详细描述聚类的过程。
[0079]对于某发音人的时长决策树30`,其叶子节点集合定义为L = {10, I1, , 1M_J,M是时长决策树30中叶子节点的总数目。对于某个叶子节点Im,其所属的音素时长实例使用例如K均值聚类方法聚为K类,类标签定义STm= {O,...,κ-1},并且这些类的类中心时长集合定义为Cm= {Cm,k},keTm。为了保持不同叶子节点间的一致性,对这些类根据其类中心的大小进行排序,即Cnbtl ( Cma ^ ^ Cnij^10类的先验概率集合定义为Pni = {pm,k},k e Tm,可以由类所拥有的实例的数目与该叶子节点的实例总数的比值获得。
[0080]在本实施例中,虽然使用K均值聚类方法对叶子节点的音素时长实例进行了聚类,但是也可以使用本领域的技术人员公知的任何聚类方法进行聚类,本发明对此没有任何限制。
[0081]返回图1,接着,在步骤115,计算音素属于其叶子节点中的多个类的每个类的概率。
[0082]在本实施例中,优选,利用步骤105的文本分析所获得的语境特征序列中与音素对应的语境特征和时长预测模型中的映射模型计算音素属于其叶子节点中的多个类的每个类的概率。
[0083]在本实施例中,映射模型通过时长预测模型中的音素的语境特征与时长决策树中的叶子节点的多个类的一个类的对应关系训练得到。用于训练映射模型的音素的语境特征可以是用于训练时长决策树的语境特征,也可以是与用于训练上述时长决策树的语境特征不同的语境特征,例如对用于训练时长决策树的语境特征进行删减和/或增加后得到的语境特征,本发明对此没有任何限制。[0084]具体地,下面参照图2详细说明训练映射模型的一个实例。
[0085]如图2所示,在步骤270,利用步骤260对叶子节点上的音素时长实例进行聚类后所存储的类标签以及语境数据库20提供的语言学信息训练映射模型。具体的训练过程如下。
[0086]对于训练集中的某一句,其音素序列定义为Us = {un}, η = O,..., N-1, N是该句的音素总数量,其时长和语境特征序列分别为Ds = {dj , 0s= {θη},η = 0, N-1, T文中将?称为HTS语境特征序列,将θ η称为HTS语境特征。
[0087]在该实例中,使用类似于条件随机场(CRF, conditional random field)的机器学习方法训练映射模型,即建立音素的语境特征和叶子节点的多个类之间的映射关系。用于训练映射模型的语境特征序列定义为I = {θη}, η = 0,...,N-1,下文中将@称为CRF语境特征序列,将0?称为CRF语境特征。CRF语境特征.§?可以和用于时长模型训练的HTS语境特征θη相同,也可以不同,例如对HTS语境特征θη进行删减和/或增加而得到CRF语境特征§η。
[0088]对于该句中的音素Un,其对应的叶子节点Im可以通过使用HTS语境特征θ η查找时长决策树的方式获得,而所属的类标签tn = k,ke Tm可以通过比较其时长dn和各类中心Cffl的距离的方式得到,从而可以获得音素Un的CRF语境特征.§?与对应的叶子节点Im的类标签的对应关系,即获得音素Un的训练数据对(?η, tn)。当训练集中所有的音素处理完成后,总的训练数据集合Φ = pn, tn)j即可获得,然后映射函数即映射模型可以使用CRF训练得到。使用CRF训练映射模型p(T|?)的方法可以是本领域的技术人员公知的任何方法,本发明对此没有任何限制。
[0089]返回图1,在步骤115计算得到音素属于叶子节点中的多个类的每个类的概率后,在步骤120,利用计算出的概率和多个类的每个类的类中心时长预测音素的时长。
[0090]在本实施例中,利用计算出`的概率和多个类的每个类的类中心时长预测音素的时长的方法主要包括以下3种。`
[0091]( I)将多个类中概率最大的类的类中心时长,作为音素的时长。
[0092](2)将多个类的类中心时长以计算出的概率为权重的加权和,作为音素的时长。
[0093](3)将多个类的类中心时长以计算出的概率和多个类的每个类的先验概率为权重的加权和,作为音素的时长。
[0094]下面以第3种方法为例进行详细描述。
[0095]对于在步骤101输入的文本句,在步骤105获得的音素序列表示为U,在步骤105获得的语境特征序列表示为HTS语境特征序列O,对HTS语境特征序列Θ进行与训练映射模型时相同的删减和/或增加,获得其CRF特征序列δ。对于音素序列U中的音素un,叶子节点Im和该叶子节点上各类的类中心Cm可以通过对其HTS语境特征θη查找时长决策树的方法获得。那么,音素Un的时长可以由以下公式给出:
【权利要求】
1.一种用于合成语音的装置,包括: 输入单元,其输入文本句; 文本分析单元,其对上述文本句进行文本分析以获得音素序列; 查找单元,其在时长预测模型中的时长决策树中查找上述音素序列中的至少一个音素的叶子节点,上述叶子节点中的音素时长实例被聚为多个类; 概率计算单元,其计算上述至少一个音素属于上述叶子节点中的多个类的每个类的概率; 时长预测单元,其利用上述概率计算单元计算出的概率和上述多个类的每个类的类中心时长预测上述至少一个音素的时长;以及 语音合成单元,其利用上述时长预测单元预测出的时长合成上述文本句的语音。
2.根据权利要求1所述的装置,其中,上述时长预测单元,将上述多个类中概率最大的类的类中心时长作为上述至少一个音素的时长。
3.根据权利要求1所述的装置,其中,上述时长预测单元,将上述多个类的类中心时长以上述计算出的概率为权重的加权和,作为上述至少一个音素的时长。
4.根据权利要求1所述的装置,其中,上述时长预测单元,利用上述计算出的概率、上述多个类的每个类的类中心时长和上述多个类的每个类的先验概率预测上述至少一个音素的时长。
5.根据权利要求4所述的装置,其中,上述时长预测单元,将上述多个类的类中心时长以上述计算出的概率和上述 多个类的每个类的先验概率为权重的加权和,作为上述至少一个音素的时长。
6.根据权利要求1所述的装置,其中, 上述文本分析单元还获得与上述音素序列对应的语境特征序列, 上述查找单元,利用上述语境特征序列中与上述至少一个音素对应的语境特征查找上述至少一个音素的叶子节点。
7.根据权利要求1所述的装置,其中, 上述文本分析单元还获得与上述音素序列对应的语境特征序列, 上述概率计算单元,利用上述语境特征序列中与上述至少一个音素对应的语境特征和上述时长预测模型中的映射模型计算上述至少一个音素属于上述叶子节点中的多个类的每个类的概率。
8.根据权利要求7所述的装置,其中,上述映射模型通过上述时长预测模型中的音素的语境特征与上述时长决策树中的叶子节点的多个类的一个类的对应关系训练得到。
9.根据权利要求8所述的装置,其中,上述音素的语境特征包括用于训练上述时长决策树的语境特征或与用于训练上述时长决策树的语境特征不同的语境特征。
10.一种用于合成语音的方法,包括以下步骤: 输入文本句; 对上述文本句进行文本分析以获得音素序列; 在时长预测模型中的时长决策树中查找上述音素序列中的至少一个音素的叶子节点,上述叶子节点中的音素时长实例被聚为多个类; 计算上述至少一个音素属于上述叶子节点中的多个类的每个类的概率;利用上述计算出的概率和上述多个类的每个类的类中心时长预测上述至少一个音素的时长;以及 利用上述预测出的时长合成·上述文本句的语音。
【文档编号】G10L13/06GK103854643SQ201210501075
【公开日】2014年6月11日 申请日期:2012年11月29日 优先权日:2012年11月29日
【发明者】康永国, 李健 申请人:株式会社 东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1