基于韵律模型和参数选音的语音合成方法

文档序号:2831306阅读:226来源:国知局
专利名称:基于韵律模型和参数选音的语音合成方法
技术领域
本发明涉及语音合成技术领域,具体涉及语音合成方法。
背景技术
目前,汉语语音合成的发展方向是基于大规模真实录音音库的波形拼接技术。所谓大规模真实录音音库,是指录制了大量自然语音的录音音库,其范围基本覆盖了绝大多数上下文环境中的各种发音的情况,针对不同的上下文环境,系统将选取最匹配的原始语音片段来加以拼接。由于音库的规模很大,因此在几乎所有情况下,都能够找到最适合的原始自然语音,而无需使用其它技术进行调节,因此保证了最终合成的语音和原始语音的一致性。另外,这里所选取的片段超越了音节的层次,可以是多字词甚至短语片断,这样就进一步保证了合成语音的自然度。
这种方法目前存在的缺点是,在拼接时一般采用了基于韵律层级匹配的方法来选择合适的音节,也即根据要合成的音节在整句话中的位置、在韵律短语中的位置、以及在词中的位置,来选择库中和这些位置尽量匹配的样本进行拼接。尽管一句话中的音节的真实的声学参数(音高、音长、音强)和位置有一定的依赖关系(例如韵律短语首的音高一般较高,而韵末较低,而韵末的音节音长较长,三字词中间的音节的音长在三个音节中最短等),但这种关系并不是绝对的,另外更为重要的是,并不能保证库中大量录制的多个自然语句具有一致的音高或音长。因此在这种情况下,就会产生拼接上的不连续性。例如对于一句话中的两个连续音节,如果分别从两个语句中选出,虽然根据位置进行了选音,但由于未考虑实际的声学参数,可能导致这两个连续音节不符合实际语音的变化规律。这样导致听感上的音高跳变,或音长不匹配,降低了语音的自然度。
本发明的目的是针对现有的基于大规模录音音库的波形拼接语音合成方法所存在的缺陷和不足,采用一种基于韵律模型和参数选音的方法进行动态汉语语音合成,使进行拼接的音节样本在真实的声学参数上满足一定的韵律模型,使得声学参数在变化上是可以控制的,也就可以消除在拼接上因为选择音节的不匹配造成的自然度降低。

发明内容
有鉴于此,本发明基于韵律模型进行声学参数规划,得到每个音节所希望的声学参数的目标值;再进行最大匹配,选择差距最小的作为真正使用的样本。在进行完最大匹配后,针对未匹配上的区段,进行单字匹配的处理。计算各条贯穿所有音节候选样本的区段路径的综合代价,综合代价是由每个候选样本的声学参数和其规划值之间的差距以及路径中两个相邻音节的候选样本之间声学参数之间的差距综合决定的。通过动态规划算法获得综合代价最小的路径。当所有音节选定样本后,在语音库中获得数据并进行波形拼接,获得最终合成结果。
本发明提供的基于韵律模型和参数选音的语音合成方法,包括如下步骤(a)建立韵律模型库、大规模录音音库、索引库;(b)对要合成语音的文本进行预处理,其包括断句、文本规整化、分词、词性标注、句法分析、韵律层级结构分析、转拼音;(c)根据音节的属性每个音节的词中位置、韵律短语中位置和句中位置以及该音节的音连属性、调连属性,从韵律模型库中查出每个音节所具有的声学参数值,完成对每个音节的声学参数的规划;其中所述声学参数包括音高、音长、音强;(d)对于每个音节,从索引库中得到此音节在大规模录音库中存在的所有候选样本;(e)计算每个匹配串的声学参数、位置参数和规划中的声学参数、位置参数之间的代价Cj,找到其代价Cmin小于阈值Cth的匹配串,从而得到当前音节的所有候选样本中的最大匹配长度;(f)对文本中未匹配的区段进行单字节匹配处理计算每个音节所有候选样本的声学参数、位置参数和规划的声学参数、位置参数之间的节点代价;计算两个相邻音节的所有候选样本之间的连接代价;采用动态规划算法,在各路径中计算出总体代价最小的路径;总体代价为此路径上所有节点代价和相邻节点之间的连接代价的总和;设置每个音节的选中样本为最优路径所经过的候选节点;(g)根据选定的样本,从大规模真实录音音库中获得波形数据,进行拼接。
采用本发明提供的方法可解决现有的基于大规模录音音库的波形拼接语音合成方法所存在的拼接不连续的问题,提高了语音合成的自然度。


图1为语音合成的流程;图2为最大匹配步骤的流程;图3所示为单字选音步骤的示例。
具体实施例方式
在具体的语音合成之前,先建立如下资源基础大规模录音音库语音波形数据、每个音节在语音波形中的起始位置以及它的声学参数数据(音高、音长、音强)。
索引库对所有的音节,记录了它在大规模录音音库中所有样本的序号,由这个序号查找大规模录音音库,可以快速得到这个音节的相关数据。
韵律模型库通过统计训练得到的韵律模型,也即一句话中每个音节的音高、音长、音强应该是什么样的。这些声学参数的数值和句型、词性序列、句子和韵律短语的长度等因素密切相关。
如图1所示的语音合成的流程。
具体描述如下1、预处理对于要合成的语音,首先要经过文本预处理步骤。此步骤包括断句、文本规整化、分词、词性标注、句法分析、韵律层级结构分析、转拼音等。最终可以得到如下结果一句话中每个音节的拼音;每个音节的词中位置、韵律短语中位置和句中位置;每个词的词性(例如名词、动词、形容词等)和句法成分(主语、谓语、宾语等)。
2、参数规划通过一些属性,从韵律模型库中查出每个音节所应当具有的声学参数,也即每个音节的音高、音长、音强应该是什么样的,完成对每个音节的声学参数的规划。这些属性包括这个音节是在词首、词中、词尾还是单字词;这个音节所在的词是在句首、句中还是句末;这个音节前面和后面的声调是什么,也即调连属性;这个音节前面的韵母和后面的声母是什么,也即音连属性;这个音节的前粘、后粘属性;这个音节所在韵律短语的位置,这个音节所在语句的语调模式;这个音节所在词的词性、所述的句法成分等。
假设一句话共有K个音节(从1到K),则其规划后各音节的声学参数如下Xk={Hk,Lk,Tk,Ak}(k=1,...,K)分别为第k个音节所规划的高音点、低音点、音长和音强。同时其位置参数为Yk={Sk,Pk,Wk}分别表示各个音节的在句中、韵律短语中和词中的位置,其中句首、韵律短语首或词首都定义为0,句中、韵律短语中或词中定义为1,句末、韵律短语末或词末定义为2。
3、得到所有候选样本对于每个音节,从索引库中得到此音节在大规模录音库中存在的所有的样本,称为候选样本。
索引库列出了所有音节的所有样本,并且是按照音节的顺序排放的。对于每个音节,都记录了共有多少样本,然后顺序记录每个样本在大规模录音音库中的序号。样本用其在大规模录音音库中的序号来标识。因此,给出一个音节后,就可以快速得到其在大规模录音音库中的所有样本。
4、最大匹配如图2所示,从第一个音节开始进行处理,设n=1;(S4.1)对当前音节(第n个音节)的所有候选样本,查看其候选样本在原句中的后续音节是否和所要合成语句的后续音节相匹配,记录其匹配的长度。如果不能进行后续音节的匹配,则匹配长度为1(表示仅能匹配自身音节);(S4.2)
计算当前音节的所有候选样本中的最大匹配长度,设L为此最大匹配长度;(S4.3)如果匹配长度L为1,表示没有多音节的匹配,则转S4.10;(S4.4)对当前音节,选择所有匹配长度>=L的候选样本及其后续L-1个音节组成的串为匹配串。这里可能找到一个或多个匹配串。假设找到J个匹配串,并且假设某个串中各个样本的声学参数和在原句中的位置参数如下Xj,k′={hj,k′,Lj,k′,Aj,k′}及Yj,k′={Sj,k′,Pj,k′,Wj,k′}(j=1,...,J,k=0,...,L-1);(S4.5)计算每个匹配串的声学参数、位置参数和规划中的声学参数、位置参数之间的代价Cj,Cj=Σk=0L-1f(Xn+k,Xj,k′,Yn+k,Yj,k′)L---(S4.6)]]>其中f(Xi,Xj′,Yi,Yj′)=g(Xi,Xj′)+h(Yi,Yj′)g=(Xi,Xj′)=ωH(Hi-Hj′)2+ωL(Li-Lj′)2+ωT(Ti-Tj′)2+ωA(Ai-Aj′)2]]>h(Yi,Yj′)=ωS|Si-Sj′|+ωP|Pi-Pj′|+ωW|Wi-Wj′|其中ω为不同参数各自的权重。
计算找到最小代价的匹配串,设其代价为Cmin。
Cmin=min(Cj)(j=1,J)(S4.7)如果最小代价Cmin大于阈值Cth,表示此匹配串的声学参数与所规划的声学参数相差太大,这一长度的匹配串无法得到与理想值相符的结果。(S4.8a)则缩短匹配长度,L=L-1,然后转S4.4;(S4.8b)标识待合成音节的选中样本为匹配串所代表的样本,一共标识连续L个音节;(S4.9)接步骤S4.4,设置n=n+L,表示没有进行最大匹配,此时L=1,也即跳到下一个音节。或者接步骤S4.9,表示跳过最大匹配的L个音节;(S4.10)是否已经是最后一个音节,如果不是,跳到S4.2进行处理。否则退出最大匹配的处理。(S4.11)5、单字选择经过最大匹配的步骤,在一句话中的某些音节已被指定选中的样本,而其它音节则尚未指定选中的样本。例如在下面这句话中“捷通华声语音技术有限公司最新推出了语音合成产品”,“技术有限公司”、“语音”、“产品”经过最大匹配已经有了选中的样本,则剩余的音节组成了三个部分,“捷通华声语音”、“最新推出了”、“合成”,这些部分中的音节都没有指定选中样本。这里的单字选择就是指针对这些部分中的音节进行样本的选择。将这些部分称为“处理区”。
下面针对每个处理区进行处理操作。
假设此处理区由N个音节构成,并且序号从C到C+N-1。对每个音节来说,有若干个候选样本,假设第n个音节的选样本个数为Mn(n=C...C+N-1)。定义每个候选样本为Wij(i=C,...C+N-1;j=1,....Mi)。因此,形成了如图3所示的一张网格,每个候选样本是此网格中的一个节点。而其中任何一条贯穿此网格的路径都是一个可能的选音结果。
计算每个音节所有候选样本的声学参数、位置参数和规划的声学参数、位置参数之间的代价,称为节点代价。假设第n个音节的第j个候选节点的声学参数和位置参数为Xn,j′={Hn,j′,Ln,j′,Tn,j′,An,j′}及Yn,j′={Sn,j′,Pn,j′,Wn,j′}(n=1,...,N,j=1,...,J)。则其节点代价为Dn,j=f(Xn,Xn,j′,Yn,Yn,j′)。此函数定义同前。
计算两个相邻音节的所有候选样本之间的连接代价。例如第n个音节的第j个候选和第n+1个音节的第k个候选之间的连接代价为En,j,k=g(Xn,j′,Xn+1,k′)。此函数定义同前。
定义一条路径的总体代价为此路径上所有节点代价和相邻节点之间的连接代价的总和。
因此,对于此处理区节点网格来说,假设任意一条从首节点到末节点路径为path,其中对第n个音节来说,路径所经过的为第p(n)个节点。因此,此路径的总体代价为Cpath=Σn=II+N-1Dn,p(n)+Σn=II+N-2En,p(n),p(n+1)]]>采用动态规划算法,在各种可能路径中计算最优路径,也即选择总体代价最小的路径。例如,在图3中我们选中了加粗的线所表示的路径。动态规划的具体步骤如下首先计算从第1个音节到第2个音节(也即从序号为C+1的音节)的局部最佳路径,也即对第2个音节对应的每个节点Wij(i=C+1,j=1...MC+1),计算从前一个音节的所有节点到此节点的代价,此代价由前一个音节的某个节点的节点代价和这一节点到第2个音节的某个节点的连接代价所组成。如图3所示,对于第2个音节的第2个节点来说,计算第1个音节的各个节点到此节点的代价。其计算如下;Cost(WC,1,WC+1,2)=21+6=27Cost(WC,2,WC+1,2)=32+10=42Cost(WC,3,WC+1,2)=24+12=36Cost(WC,4,WC+1,2)=18+8=26代价Cost最小的路径就是局部最佳路径,也即从WC,4到WC+1,2的路径,其局部最佳路径代价为26。同样到第2个音节的第1个节点和第3个节点也有都有从第一个音节的某个节点到它的一条局部最佳路径,假设各自的局部最佳路径代价分别为16和20。如图3所示。
然后再计算到第3个音节(也即序号为C+2的音节)的局部最佳路径。对这一音节对应的每个节点Wij(i=C+1,j=1...MC+1),计算从第一个音节的所有节点到此节点的最佳的局部路径。由于从第一个音节到第2个音节某个节点的最佳局部路径已经计算,所以现在只要计算此最佳局部路径的代价结果再加上从第2个音节到第3个音节的局部路径代价。例如对第3个音节第2个节点来说,其代价为Cost(WC+1,1,WC+2,2)=16+18+27=61Cost(WC+1,2,WC+2,2)=26+22+10=58Cost(WC+1,3,WC+2,2)=20+34+11=65因此,我们可以知道从第二个音节到第三个音节第2个节点,其局部最佳路径是从WC+1,2到WC+2,2的路径,再从WC+1,2向前回溯从第一个音节到它的局部最优路径,即可知道从第一个音节直到第三个音节第2个节点的最佳路径为从WC,4到WC+1,2再到WC+2,2的路径。
这样一直计算到最后一个音节的每个节点的最佳路径,再比较所有这些节点的局部最佳路径的Cost值,取最小的Cost所对应的节点做为整体最佳路径的最末一个节点,然后通过对局部最佳路径的回溯,就可以知道一条整体的最佳路径。
设置此处理区上的每个音节的选中样本为最优路径所经过的候选节点。
处理下一个处理区,直到无任何处理区为止。
6、波形拼接通过上面的步骤,每个音节都选定了样本。选择所有样本后,实际上就知道其在大规模录音音库中的序号,而通过这个序号,在大规模录音音库中查找,就可以得到这个样本所对应的语音波形数据的起始位置和通过声学参数的时长得到的长度值。由这些值,就可以从大规模录音音库中读取出相应的波形数据。将所有的选中样本的波形数据连接起来,就完成了波形拼接,从而得到最终的语音合成结果。
权利要求
1.一种基于韵律模型和参数选音的语音合成方法,包括如下步骤(a)建立韵律模型库、大规模录音音库、索引库;(b)对要合成语音的文本进行预处理,其包括断句、文本规整化、分词、词性标注、句法分析、韵律层级结构分析、转拼音;(c)根据音节的属性每个音节的词中位置、韵律短语中位置和句中位置以及该音节的音连属性、调连属性,从韵律模型库中查出每个音节所具有的声学参数值,完成对每个音节的声学参数的规划;其中所述声学参数包括音高、音长、音强;(d)对于每个音节,从索引库中得到此音节在大规模录音库中存在的所有候选样本;(e)通过计算相邻音节的候选样本所可能组成的每个匹配串的声学参数、位置参数和规划中的声学参数、位置参数之间的代价Cj,找到其最小代价Cmin小于阈值Cth的匹配串,设置这些相邻音节的选中样本为此匹配串所对应的候选样本;(f)对文本中未匹配的区段进行单字节匹配处理计算每个音节所有候选样本的声学参数、位置参数和规划的声学参数、位置参数之间的节点代价;计算两个相邻音节的所有候选样本之间的连接代价;采用动态规划算法,在各路径中计算出总体代价最小的路径;所述总体代价为此路径上所有节点代价和相邻节点之间的连接代价的总和;设置每个音节的选中样本为最优路径所经过的候选节点;(g)根据选定的样本,从大规模真实录音音库中获得波形数据,进行拼接。
全文摘要
本发明提供一种基于韵律模型和参数选音的语音合成方法,该方法基于韵律模型进行声学参数规划,得到每个音节所希望的声学参数的目标值;再进行最大匹配,选择差距最小的作为真正使用的样本。在进行完最大匹配后,针对未匹配上的区段,进行单字匹配的处理。计算各条贯穿所有音节候选样本的区段路径的综合代价,综合代价是由每个候选样本的声学参数和其规划值之间的差距以及路径中两个相邻音节的候选样本之间声学参数之间的差距综合决定的。通过动态规划算法获得综合代价最小的路径。当所有音节选定样本后,在语音库中获得数据并进行波形拼接,获得最终合成结果。
文档编号G10L13/00GK1787072SQ200410096968
公开日2006年6月14日 申请日期2004年12月7日 优先权日2004年12月7日
发明者陈明, 吕士楠, 张连毅, 武卫东, 肖娜 申请人:北京捷通华声语音技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1