CN105206264B - 语音合成方法和装置 - Google Patents
语音合成方法和装置 Download PDFInfo
- Publication number
- CN105206264B CN105206264B CN201510609521.1A CN201510609521A CN105206264B CN 105206264 B CN105206264 B CN 105206264B CN 201510609521 A CN201510609521 A CN 201510609521A CN 105206264 B CN105206264 B CN 105206264B
- Authority
- CN
- China
- Prior art keywords
- model parameter
- unit
- optimum cell
- cell sequence
- model
- 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
Abstract
本发明提出一种语音合成方法和装置,该语音合成方法包括:在预先建立的模型中,获取备选单元的初始模型参数,并根据初始模型参数确定最优单元序列,并计算所述最优单元序列的代价值;如果所述最优单元序列的代价值不满足预设条件,则在所述模型中,获取备选单元的更新后的模型参数,所述更新后的模型参数包括:比初始模型参数韵律层级低的一个或多个低级分量的模型参数,并根据所述更新后的模型参数重新确定最优单元序列;将代价值满足预设条件的最优单元序列中的语音单元,确定为要拼接的语音单元,以便对所述要拼接的语音单元进行拼接,得到合成语音。该方法能够提高选择的语音单元的准确性,从而使得合成语音更加自然和具有更优良的表现力。
Description
技术领域
本发明涉及语音处理技术领域,尤其涉及一种语音合成方法和装置。
背景技术
随着移动时代的到来,人们对语音合成的需求日益增长,例如小说朗读、导航语音等。并且人们对于合成语音已经不仅仅满足于其清晰度和可懂度,还要求合成的语音具有更好的自然度和表现力。语音合成的流程包括:预处理、分词、词性标注、注音、韵律层级预测、声学参数生成和语音生成,其中,语音生成时可以是利用声学参数通过声码器合成语音,或者,也可以是根据声学参数从语料库中选择最优单元进行拼接。对于拼接合成来说,如何从语料库中选择最优单元序列就会影响合成语音效果。
现有技术中,是将备选空间中似然值最大的路径确定为最优单元序列,但是这种选择方式会存在偏差,尤其是对平均似然值较低的序列,从而使得合成语音在自然度和表现力等方面存在问题。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种语音合成方法,该方法可以提高选择的语音单元的准确性,从而使得合成语音更加自然和具有更优良的表现力。
本发明的另一个目的在于提出一种语音合成装置。
为达到上述目的,本发明第一方面实施例提出的语音合成方法,包括:在预先建立的模型中,获取备选单元的初始模型参数,并根据所述初始模型参数确定最优单元序列,并计算所述最优单元序列的代价值;如果所述最优单元序列的代价值不满足预设条件,则在所述模型中,获取备选单元的更新后的模型参数,所述更新后的模型参数包括:比初始模型参数韵律层级低的一个或多个低级分量的模型参数,并根据所述更新后的模型参数重新确定最优单元序列;将代价值满足预设条件的最优单元序列中的语音单元,确定为要拼接的语音单元,以便对所述要拼接的语音单元进行拼接,得到合成语音。
可选的,还包括:对要合成的文本进行文本分析,得到上下文特征信息;在所述模型中,根据所述上下文特征信息获取目标单元的初始模型参数,以及获取语料库中连接单元的初始模型参数;根据目标单元的初始模型参数和连接单元的初始模型参数,对连接单元进行预选,以确定出备选单元。
可选的,还包括:当重新确定的最优单元序列的代价值都不满足预设条件时,在所述模型中,重新获取目标单元的所述更新后的模型参数和连接单元的所述更新后的模型参数;根据目标单元的所述更新后的模型参数和连接单元的所述更新后的模型参数,对连接单元进行预选,以确定出备选单元。
可选的,还包括:在训练过程中对语音进行声学特征提取,得到声学特征信息;对所述声学特征信息进行韵律层级分解,得到分解后的分量;根据分解后的分量进行建模,得到所述模型。
可选的,所述对所述声学特征信息进行韵律层级分解,包括:对所述声学特征信息的基频进行分解。
可选的,所述对所述声学特征信息进行韵律层级分解,包括:采用小波变换或DCT变换,对所述声学特征信息进行韵律层级分解。
可选的,所述最优单元序列是整体似然值最大的单元序列,所述最优单元序列的代价值是最优单元序列的平均代价值。
可选的,还包括:当所述最优单元序列的平均代价值小于预设的阈值时,确定所述最优单元序列的代价值不满足预设条件。
本发明第一方面实施例提出的语音合成方法,通过在根据初始模型参数确定的最优单元序列不满足预设条件时,获取韵律层级低的一个或多个低级分量的模型参数,并根据新的模型参数重新确定最优单元序列直至满足预设条件,可以提高选择的语音单元的准确性,从而使得合成语音更加自然和具有更优良的表现力。
为达到上述目的,本发明第二方面实施例提出的语音合成装置,包括:第一获取模块,用于在预先建立的模型中,获取备选单元的初始模型参数,并根据所述初始模型参数确定最优单元序列,并计算所述最优单元序列的代价值;更新模块,用于如果所述最优单元序列的代价值不满足预设条件,则在所述模型中,获取备选单元的更新后的模型参数,所述更新后的模型参数包括:比初始模型参数韵律层级低的一个或多个低级分量的模型参数,并根据所述更新后的模型参数重新确定最优单元序列;确定模块,用于将代价值满足预设条件的最优单元序列中的语音单元,确定为要拼接的语音单元,以便对所述要拼接的语音单元进行拼接,得到合成语音。
可选的,还包括:文本分析模块,用于对要合成的文本进行文本分析,得到上下文特征信息;第三获取模块,用于在所述模型中,根据所述上下文特征信息获取目标单元的初始模型参数,以及获取语料库中连接单元的初始模型参数;第一预选模块,用于根据目标单元的初始模型参数和连接单元的初始模型参数,对连接单元进行预选,以确定出备选单元。
可选的,还包括:第四获取模块,用于当重新确定的最优单元序列的代价值都不满足预设条件时,在所述模型中,重新获取目标单元的所述更新后的模型参数和连接单元的所述更新后的模型参数;第二预选模块,用于根据目标单元的所述更新后的模型参数和连接单元的所述更新后的模型参数,对连接单元进行预选,以确定出备选单元。
可选的,还包括:提取模块,用于在训练过程中对语音进行声学特征提取,得到声学特征信息;分解模块,用于对所述声学特征信息进行韵律层级分解,得到分解后的分量;建模模块,用于根据分解后的分量进行建模,得到所述模型。
可选的,所述分解模块具体用于:对所述声学特征信息的基频进行分解。
可选的,所述分解模块具体用于:采用小波变换或DCT变换,对所述声学特征信息进行韵律层级分解。
可选的,所述最优单元序列是整体似然值最大的单元序列,所述最优单元序列的代价值是最优单元序列的平均代价值,还包括:判断模块,用于当所述最优单元序列的平均代价值小于预设的阈值时,确定所述最优单元序列的代价值不满足预设条件。
本发明第二方面实施例提出的语音合成装置,通过在根据初始模型参数确定的最优单元序列不满足预设条件时,获取韵律层级低的一个或多个低级分量的模型参数,并根据新的模型参数重新确定最优单元序列直至满足预设条件,可以提高选择的语音单元的准确性,从而使得合成语音更加自然和具有更优良的表现力。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明一实施例提出的语音合成方法的流程示意图;
图2是本发明另一实施例提出的语音合成方法的流程示意图;
图3是本发明另一实施例提出的语音合成方法的流程示意图;
图4是本发明另一实施例提出的语音合成装置的结构示意图;
图5是本发明另一实施例提出的语音合成装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
图1是本发明一实施例提出的语音合成方法的流程示意图,该方法包括:
S11:在预先建立的模型中,获取备选单元的初始模型参数,并根据所述初始模型参数确定最优单元序列,并计算所述最优单元序列的代价值。
其中,可以在训练过程中根据文本和对应的语音进行训练,得到模型。模型中可以记录上下文特征信息与模型参数之间的映射关系,以根据上下文特征信息找到模型参数。
模型参数是训练时根据获取的声学特征信息进行建模后生成的。
本实施例中的模型参数包括不同韵律层级的模型参数,初始模型参数是指韵律层级最高的模型参数,例如包括:谱参数、基频参数和时长参数。
备选单元是指从语料库中经过预选后得到的语音单元。
备选单元的代价值例如为备选单元的似然值。
在预选得到备选单元后,可以对备选单元进行组合,对应每种组合可以称为一个单元序列。
可以根据预设规则确定出最优单元序列。例如,在确定出每个备选单元的似然值后,对应每个单元序列,可以根据每个备选单元的似然值计算相应单元序列的整体似然值,整体似然值是指该单元序列中所有备选单元的似然值的总和,之后,可以将整体似然值最大的单元序列确定为最优单元序列。
最优单元序列的代价值例如为最优单元序列的平均似然值,平均似然值是整体似然值除以预设个数,预设个数例如为单元序列包括的单元总数,或者,单元序列包括的帧数。
S12:如果所述最优单元序列的代价值不满足预设条件,则在所述模型中,获取备选单元的更新后的模型参数,所述更新后的模型参数包括:比初始模型参数韵律层级低的一个或多个低级分量的模型参数,并根据所述更新后的模型参数重新确定最优单元序列。
以最优单元序列的代价值是最优单元序列的平均似然值为例,则当最优单元序列的平均似然值小于预设的阈值时,确定最优单元序列的代价值不满足预设条件。
假设初始模型参数是句子级的模型参数,则低级分量的模型参数包括:短语级的模型参数或者词级的模型参数。在选择时可以逐级向下选择,比如,初始时,如果根据句子级的模型参数计算的最优单元序列的代价值不满足预设条件,则选择短语级的模型参数,当根据短语级的模型参数计算的最优单元序列的代价值也不满足预设条件,则选择词级的模型参数。或者,在选择时可以计算每种级别或者不同级别的组合的模型参数对应的最优单元序列的代价值,直接选择代价值满足预设条件的最优单元序列对应的级别的模型参数。
S13:将代价值满足预设条件的最优单元序列中的语音单元,确定为要拼接的语音单元,以便对所述要拼接的语音单元进行拼接,得到合成语音。
通过上述重新选择,可以重新确定最优单元序列,当一个最优单元序列的代价值满足预设条件时,假设该序列包括A、B、C,则之后对A、B、C进行拼接以得到合成语音。
本实施例中,通过在根据初始模型参数确定的最优单元序列不满足预设条件时,获取韵律层级低的一个或多个低级分量的模型参数,并根据新的模型参数重新确定最优单元序列直至满足预设条件,可以提高选择的语音单元的准确性,从而使得合成语音更加自然和具有更优良的表现力。
图2是本发明另一实施例提出的语音合成方法的流程示意图,该方法包括:
在训练过程中,可以执行如下步骤:
S201:对文本进行文本特征提取,得到上下文特征信息,对语音进行声学特征提取,得到声学特征信息。
其中,可以在训练过程中收集作为样本的文本和对应的语音,以进行相应的特征提取。
S202:对声学特征信息进行基频小波变换,得到谱、基频和分量。
与现有技术不同的是,本实施例不仅可以得到谱和基频,还可以得到基频的分量。
其中,可以对基频进行小波变换,将基频分解为预设个数的分量,例如,将基频分解为高频段、高中频段、中频段、中低频段、低频段的五维分量,不同频段依次与音子级、音节级、词级、短语级和句子级相对应。
可以理解的是,本实施例以基频分解为例,还可以对其他参数进行韵律层级分解。本实施例以小波变换进行分解为例,还可以采用其他算法,如离散余弦变换(DiscreteCosine Transform,DCT)。
S203:根据上下文特征信息和基频小波变换后的声学特征信息进行模型训练,得到模型。
在模型训练时,例如采用上下文决策树聚类的隐马尔可夫(hidden Markovmodel,HMM)模型训练算法。
本实施例中由于引入了分量,因此在模型训练时,可以在一维基频及其差分的基础上增加了五维分量及其差分。
经过模型训练后,得到的模型中可以记录上下文特征信息与模型参数的映射关系,以在语音合成过程中,根据上下文特征信息获取对应的模型参数。
本实施例中,模型参数包括:谱参数、时长参数,基频参数,以及,基频分量参数。
在语音合成时,可以执行如下步骤:
S204:对要合成的文本进行文本分析,得到上下文特征信息。
文本分析例如包括:预处理、分词、词性标注、注音、韵律层级预测。
S205:进行参数预测,得到目标单元的模型参数和连接单元的模型参数。
其中,目标单元是指要合成的文本中的语音单元,例如,将文本分析得到的上下文特征信息作为目标单元,之后在模型中根据上下文特征信息得到对应的模型参数,从而得到目标单元的模型参数。
连接单元是指语料库中的语音单元,其中,可以根据语料库中的语音单元的上下文特征信息在模型中得到对应的模型参数,从而得到连接单元的模型参数。
其中,初始时获取的模型参数是韵律层级最高模型参数,例如获取:基频参数、谱参数和时长参数。
S206:进行KLD预选。
其中,KLD预选是指通过(Kullback–Leibler divergence,KL散度),根据目标单元的模型参数和连接单元的模型参数,计算目标单元和连接单元的差异程度值,并根据差异长度值进行KL预选,例如,将差异程度值小于预设程度值的连接单元,确定为需要保留的单元。
具体的,本实施例中,在KLD预选时,可以根据初始模型参数进行预选,初始模型参数例如包括:谱参数、时长参数和基频参数。
S207:进行上下文属性预选。
其中,可以根据上下文特征信息和语言学特征度量目标单元与连接单元之间的距离,完成上下文属性预选。例如,将距离小于预设值的连接单元确定为需要保留的单元。
S208:确定备选单元,并获取备选单元的初始模型参数。
其中,备选单元是指根据KLD预选和上下文属性预选后,确定出的语料库中需要保留的连接单元。
在确定出备选单元后,可以从模型中获取备选单元的初始模型参数,其中,初始模型参数包括:谱参数、基频参数和时长参数。
S209:根据备选单元的模型参数确定最优单元序列,并计算最优单元序列的平均似然值。
在获取备选单元的模型参数后,可以根据备选单元的模型参数确定最优单元序列。
例如,根据备选单元的模型参数计算备选单元的似然值,并确定备选单元所有的可能组合,每个组合可以称为一个单元序列,对应每个单元序列,计算该单元序列的整体似然值,整体似然值是指单元序列中每个备选单元的似然值的总和,将整体似然值最大的单元序列确定为最优单元序列。
在确定出最优单元序列后,可以计算最优单元序列的平均似然值,平均似然值是用整体似然值除以预设个数,预设个数可以是序列包括的单元总数或者序列包含的帧数。
S210:判断最优序列单元的平均似然值是否小于预设的阈值,若是,执行S211,否则,执行S212。
其中,可以预先设置阈值,通过比对该平均似然值和阈值,可以得到判断结果。
S211:在模型中重新获取备选单元的韵律层级低的模型参数,之后重新执行S209及其后续步骤。
其中,当根据初始模型参数确定的最优单元序列的平均似然值小于预设值时,重新获取韵律层次低的模型参数,韵律层级低的模型参数包括:谱参数、时长参数和基频分量参数或基频分量参数的组合。
S212:将最优单元序列中的语音单元确定为要拼接的语音单元。
当最优单元序列的平均似然值大于或等于阈值时,可以将组成该最优单元序列的语音单元作为选择后的语音单元。
S213:对要拼接的语音单元进行波形拼接,得到合成语音。
本实施例中,通过在初始确定的最优单元序列的平均似然值小于预设值时,重新选择韵律层级低的模型参数,可以重新确定最优单元序列,以得到平均似然值大于预设值的最优单元序列,从而提高选择的语音单元的准确度,提高合成语音的效果。
图3是本发明另一实施例提出的语音合成方法的流程示意图,该方法包括:
在训练过程中,可以执行如下步骤:
S301:对文本进行文本特征提取,得到上下文特征信息,对语音进行声学特征提取,得到声学特征信息。
其中,可以在训练过程中收集作为样本的文本和对应的语音,以进行相应的特征提取。
S302:对声学特征信息进行基频小波变换,得到谱、基频和分量。
与现有技术不同的是,本实施例不仅可以得到谱和基频,还可以得到基频的分量。
其中,可以对基频进行小波变换,将基频分解为预设个数的分量,例如,将基频分解为高频段、高中频段、中频段、中低频段、低频段的五维分量,不同频段依次与音子级、音节级、词级、短语级和句子级相对应。
可以理解的是,本实施例以基频分解为例,还可以对其他参数进行韵律层级分解。本实施例以小波变换进行分解为例,还可以采用其他算法,如离散余弦变换(DiscreteCosine Transform,DCT)。
S303:根据上下文特征信息和基频小波变换后的声学特征信息进行模型训练,得到模型。
在模型训练时,例如采用上下文决策树聚类的隐马尔可夫(hidden Markovmodel,HMM)模型训练算法。
本实施例中由于引入了分量,因此在模型训练时,可以在一维基频及其差分的基础上增加了五维分量及其差分。
经过模型训练后,得到的模型中可以记录上下文特征信息与模型参数的映射关系,以在语音合成过程中,根据上下文特征信息获取对应的模型参数。
本实施例中,模型参数包括:谱参数、时长参数,基频参数,以及,基频分量参数。
在语音合成时,可以执行如下步骤:
S304:对要合成的文本进行文本分析,得到上下文特征信息。
文本分析例如包括:预处理、分词、词性标注、注音、韵律层级预测。
S305:进行参数预测,得到目标单元的模型参数和连接单元的模型参数。
其中,目标单元是指要合成的文本中的语音单元,例如,将文本分析得到的上下文特征信息作为目标单元,之后在模型中根据上下文特征信息得到对应的模型参数,从而得到目标单元的模型参数。
连接单元是指语料库中的语音单元,其中,可以根据语料库中的语音单元的上下文特征信息在模型中得到对应的模型参数,从而得到连接单元的模型参数。
其中,初始时获取的模型参数是韵律层级最高模型参数,例如获取:基频参数、谱参数和时长参数。
S306:进行初始的KLD预选。
其中,KLD预选是指通过(Kullback–Leibler divergence,KL散度),根据目标单元的模型参数和连接单元的模型参数,计算目标单元和连接单元的差异程度值,并根据差异长度值进行KL预选,例如,将差异程度值小于预设程度值的连接单元,确定为需要保留的单元。
初始的KLD预选是指根据目标单元的初始模型参数和连接单元的初始模型参数进行的KLD预选,其中,初始的模型参数例如包括:谱参数、时长参数和基频参数。
S307:进行上下文属性预选。
其中,可以根据上下文特征信息和语言学特征度量目标单元与连接单元之间的距离,完成上下文属性预选。例如,将距离小于预设值的连接单元确定为需要保留的单元。
S308:确定备选单元,并获取备选单元的初始模型参数。
其中,备选单元是指根据KLD预选和上下文属性预选后,确定出的语料库中需要保留的连接单元。
在确定出备选单元后,可以从模型中获取备选单元的初始模型参数,其中,初始模型参数包括:谱参数、基频参数和时长参数。
S309:根据备选单元的模型参数确定最优单元序列,并计算最优单元序列的平均似然值。
在获取备选单元的模型参数后,可以根据备选单元的模型参数确定最优单元序列。
例如,根据备选单元的模型参数计算备选单元的似然值,并确定备选单元所有的可能组合,每个组合可以称为一个单元序列,对应每个单元序列,计算该单元序列的整体似然值,整体似然值是指单元序列中每个备选单元的似然值的总和,将整体似然值最大的单元序列确定为最优单元序列。
在确定出最优单元序列后,可以计算最优单元序列的平均似然值,平均似然值是用整体似然值除以预设个数,预设个数可以是序列包括的单元总数或者序列包含的帧数。
S310:判断最优序列单元的平均似然值是否小于预设的阈值,若是,执行S311,否则,执行S313。
其中,可以预先设置阈值,通过比对该平均似然值和阈值,可以得到判断结果。
S311:在模型中重新获取备选单元的韵律层级低的模型参数,并判断模型中是否还存在未选择的韵律层级低的模型参数,若是,重新执行S309及其后续步骤,否则,执行S312。
其中,当根据初始模型参数确定的最优单元序列的平均似然值小于预设值时,重新获取韵律层次低的模型参数,韵律层级低的模型参数包括:谱参数、时长参数和基频分量参数或基频分量参数的组合。
另外,还可以将所有的基频分量参数或其组合选择完毕后,计算得到的最优单元序列的平均似然值依然小于预设值,此时,可以执行:
S312:重新进行KLD预选。之后,重新执行S307及其后续步骤。
其中,初始的KLD预选时,采用的模型参数是初始模型参数,而重新进行的KLD预选则采用韵律层级低的模型参数,例如,初始模型参数包括:谱参数、时长参数和基频参数,而重新进行的KLD预选的模型参数包括:谱参数、时长参数和基频分量参数或基频分量参数组合。
S313:将最优单元序列中的语音单元确定为要拼接的语音单元。
当最优单元序列的平均似然值大于或等于阈值时,可以将组成该最优单元序列的语音单元作为选择后的语音单元。
S314:对要拼接的语音单元进行波形拼接,得到合成语音。
本实施例中,通过在初始确定的最优单元序列的平均似然值小于预设值时,重新选择韵律层级低的模型参数,可以重新确定最优单元序列,以得到平均似然值大于预设值的最优单元序列;另外,还可以根据韵律层级低的模型参数重新进行KLD预选,优化备选空间,从而提高选择的语音单元的准确度,提高合成语音的效果。
图4是本发明另一实施例提出的语音合成装置的结构示意图,该装置40包括:第一获取模块401、第二获取模块402和确定模块403。
第一获取模块401,用于在预先建立的模型中,获取备选单元的初始模型参数,并根据所述初始模型参数确定最优单元序列,并计算所述最优单元序列的代价值;
其中,可以在训练过程中根据文本和对应的语音进行训练,得到模型。模型中可以记录上下文特征信息与模型参数之间的映射关系,以根据上下文特征信息找到模型参数。
模型参数是训练时根据获取的声学特征信息进行建模后生成的。
本实施例中的模型参数包括不同韵律层级的模型参数,初始模型参数是指韵律层级最高的模型参数,例如包括:谱参数、基频参数和时长参数。
备选单元是指从语料库中经过预选后得到的语音单元。
备选单元的代价值例如为备选单元的似然值。
在预选得到备选单元后,可以对备选单元进行组合,对应每种组合可以称为一个单元序列。
可以根据预设规则确定出最优单元序列。例如,在确定出每个备选单元的似然值后,对应每个单元序列,可以根据每个备选单元的似然值计算相应单元序列的整体似然值,整体似然值是指该单元序列中所有备选单元的似然值的总和,之后,可以将整体似然值最大的单元序列确定为最优单元序列。
最优单元序列的代价值例如为最优单元序列的平均似然值,平均似然值是整体似然值除以预设个数,预设个数例如为单元序列包括的单元总数,或者,单元序列包括的帧数。
第二获取模块402,用于如果所述最优单元序列的代价值不满足预设条件,则在所述模型中,获取备选单元的更新后的模型参数,所述更新后的模型参数包括:比初始模型参数韵律层级低的一个或多个低级分量的模型参数,并根据所述更新后的模型参数重新确定最优单元序列;
以最优单元序列的代价值是最优单元序列的平均似然值为例,则当最优单元序列的平均似然值小于预设的阈值时,确定最优单元序列的代价值不满足预设条件。
假设初始模型参数是句子级的模型参数,则低级分量的模型参数包括:短语级的模型参数或者词级的模型参数。在选择时可以逐级向下选择,比如,初始时,如果根据句子级的模型参数计算的最优单元序列的代价值不满足预设条件,则选择短语级的模型参数,当根据短语级的模型参数计算的最优单元序列的代价值也不满足预设条件,则选择词级的模型参数。或者,在选择时可以计算每种级别或者不同级别的组合的模型参数对应的最优单元序列的代价值,直接选择代价值满足预设条件的最优单元序列对应的级别的模型参数。
确定模块403,用于将代价值满足预设条件的最优单元序列中的语音单元,确定为要拼接的语音单元,以便对所述要拼接的语音单元进行拼接,得到合成语音。
通过上述重新选择,可以重新确定最优单元序列,当一个最优单元序列的代价值满足预设条件时,假设该序列包括A、B、C,则之后对A、B、C进行拼接以得到合成语音。
本实施例中,通过在根据初始模型参数确定的最优单元序列不满足预设条件时,获取韵律层级低的一个或多个低级分量的模型参数,并根据新的模型参数重新确定最优单元序列直至满足预设条件,可以提高选择的语音单元的准确性,从而使得合成语音更加自然和具有更优良的表现力。
一些实施例中,参见图5,该装置40还包括:
文本分析模块404,用于对要合成的文本进行文本分析,得到上下文特征信息;
文本分析例如包括:预处理、分词、词性标注、注音、韵律层级预测。
第三获取模块405,用于在所述模型中,根据所述上下文特征信息获取目标单元的初始模型参数,以及获取语料库中连接单元的初始模型参数;
其中,目标单元是指要合成的文本中的语音单元,例如,将文本分析得到的上下文特征信息作为目标单元,之后在模型中根据上下文特征信息得到对应的模型参数,从而得到目标单元的模型参数。
连接单元是指语料库中的语音单元,其中,可以根据语料库中的语音单元的上下文特征信息在模型中得到对应的模型参数,从而得到连接单元的模型参数。
其中,初始时获取的模型参数是韵律层级最高模型参数,例如获取:基频参数、谱参数和时长参数。
第一预选模块406,用于根据目标单元的初始模型参数和连接单元的初始模型参数,对连接单元进行预选,以确定出备选单元。
预选可以具体是指KLD预选。其中,KLD预选是指通过(Kullback–Leiblerdivergence,KL散度),根据目标单元的模型参数和连接单元的模型参数,计算目标单元和连接单元的差异程度值,并根据差异长度值进行KL预选,例如,将差异程度值小于预设程度值的连接单元,确定为需要保留的单元。
具体的,本实施例中,在KLD预选时,可以根据初始模型参数进行预选,初始模型参数例如包括:谱参数、时长参数和基频参数。
之后,还可以进行上下文属性预选。其中,可以根据上下文特征信息和语言学特征度量目标单元与连接单元之间的距离,完成上下文属性预选。例如,将距离小于预设值的连接单元确定为需要保留的单元。
其中,备选单元是指根据KLD预选和上下文属性预选后,确定出的语料库中需要保留的连接单元。
在确定出备选单元后,可以从模型中获取备选单元的初始模型参数,其中,初始模型参数包括:谱参数、基频参数和时长参数。
一些实施例中,参见图5,该装置40还包括:
第四获取模块407,用于当重新确定的最优单元序列的代价值都不满足预设条件时,在所述模型中,重新获取目标单元的所述更新后的模型参数和连接单元的所述更新后的模型参数;
第二预选模块408,用于根据目标单元的所述更新后的模型参数和连接单元的所述更新后的模型参数,对连接单元进行预选,以确定出备选单元。
其中,初始的KLD预选时,采用的模型参数是初始模型参数,而重新进行的KLD预选则采用韵律层级低的模型参数,例如,初始模型参数包括:谱参数、时长参数和基频参数,而重新进行的KLD预选的模型参数包括:谱参数、时长参数和基频分量参数或基频分量参数组合。
一些实施例中,参见图5,该装置40还包括:
提取模块409,用于在训练过程中对语音进行声学特征提取,得到声学特征信息;
其中,可以在训练过程中收集作为样本的文本和对应的语音,以进行相应的特征提取。
分解模块410,用于对所述声学特征信息进行韵律层级分解,得到分解后的分量;
可选的,所述分解模块410具体用于:
对所述声学特征信息的基频进行分解。
可选的,所述分解模块410具体用于:
采用小波变换或DCT变换,对所述声学特征信息进行韵律层级分解。
与现有技术不同的是,本实施例不仅可以得到谱和基频,还可以得到基频的分量。
其中,可以对基频进行小波变换,将基频分解为预设个数的分量,例如,将基频分解为高频段、高中频段、中频段、中低频段、低频段的五维分量,不同频段依次与音子级、音节级、词级、短语级和句子级相对应。
建模模块411,用于根据分解后的分量进行建模,得到所述模型。
在模型训练时,例如采用上下文决策树聚类的隐马尔可夫(hidden Markovmodel,HMM)模型训练算法。
本实施例中由于引入了分量,因此在模型训练时,可以在一维基频及其差分的基础上增加了五维分量及其差分。
经过模型训练后,得到的模型中可以记录上下文特征信息与模型参数的映射关系,以在语音合成过程中,根据上下文特征信息获取对应的模型参数。
本实施例中,模型参数包括:谱参数、时长参数,基频参数,以及,基频分量参数。
一些实施例中,参见图5,所述最优单元序列是整体似然值最大的单元序列,所述最优单元序列的代价值是最优单元序列的平均代价值,该装置40还包括:
判断模块412,用于当所述最优单元序列的平均代价值小于预设的阈值时,确定所述最优单元序列的代价值不满足预设条件。
本实施例中,通过在初始确定的最优单元序列的平均似然值小于预设值时,重新选择韵律层级低的模型参数,可以重新确定最优单元序列,以得到平均似然值大于预设值的最优单元序列;另外,还可以根据韵律层级低的模型参数重新进行KLD预选,优化备选空间,从而提高选择的语音单元的准确度,提高合成语音的效果。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (15)
1.一种语音合成方法,其特征在于,包括:
在预先建立的模型中,获取备选单元的初始模型参数,并根据所述初始模型参数确定最优单元序列,并计算所述最优单元序列的代价值,其中,所述初始模型参数是指韵律层级最高的模型参数;
如果所述最优单元序列的代价值不满足预设条件,则在所述模型中,获取备选单元的更新后的模型参数,所述更新后的模型参数包括:比初始模型参数韵律层级低的一个或多个低级分量的模型参数,并根据所述更新后的模型参数重新确定最优单元序列;
将代价值满足预设条件的最优单元序列中的语音单元,确定为要拼接的语音单元,以便对所述要拼接的语音单元进行拼接,得到合成语音。
2.根据权利要求1所述的方法,其特征在于,还包括:
对要合成的文本进行文本分析,得到上下文特征信息;
在所述模型中,根据所述上下文特征信息获取目标单元的初始模型参数,以及获取语料库中连接单元的初始模型参数;
根据目标单元的初始模型参数和连接单元的初始模型参数,对连接单元进行预选,以确定出备选单元。
3.根据权利要求2所述的方法,其特征在于,还包括:
当重新确定的最优单元序列的代价值都不满足预设条件时,在所述模型中,重新获取目标单元的所述更新后的模型参数和连接单元的所述更新后的模型参数;
根据目标单元的所述更新后的模型参数和连接单元的所述更新后的模型参数,对连接单元进行预选,以确定出备选单元。
4.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
在训练过程中对语音进行声学特征提取,得到声学特征信息;
对所述声学特征信息进行韵律层级分解,得到分解后的分量;
根据分解后的分量进行建模,得到所述模型。
5.根据权利要求4所述的方法,其特征在于,所述对所述声学特征信息进行韵律层级分解,包括:
对所述声学特征信息的基频进行分解。
6.根据权利要求4所述的方法,其特征在于,所述对所述声学特征信息进行韵律层级分解,包括:
采用小波变换或DCT变换,对所述声学特征信息进行韵律层级分解。
7.根据权利要求1-3任一项所述的方法,其特征在于,所述最优单元序列是整体似然值最大的单元序列,所述最优单元序列的代价值是最优单元序列的平均代价值。
8.根据权利要求7所述的方法,其特征在于,还包括:
当所述最优单元序列的平均代价值小于预设的阈值时,确定所述最优单元序列的代价值不满足预设条件。
9.一种语音合成装置,其特征在于,包括:
第一获取模块,用于在预先建立的模型中,获取备选单元的初始模型参数,并根据所述初始模型参数确定最优单元序列,并计算所述最优单元序列的代价值,其中,所述初始模型参数是指韵律层级最高的模型参数;
第二获取模块,用于如果所述最优单元序列的代价值不满足预设条件,则在所述模型中,获取备选单元的更新后的模型参数,所述更新后的模型参数包括:比初始模型参数韵律层级低的一个或多个低级分量的模型参数,并根据所述更新后的模型参数重新确定最优单元序列;
确定模块,用于将代价值满足预设条件的最优单元序列中的语音单元,确定为要拼接的语音单元,以便对所述要拼接的语音单元进行拼接,得到合成语音。
10.根据权利要求9所述的装置,其特征在于,还包括:
文本分析模块,用于对要合成的文本进行文本分析,得到上下文特征信息;
第三获取模块,用于在所述模型中,根据所述上下文特征信息获取目标单元的初始模型参数,以及获取语料库中连接单元的初始模型参数;
第一预选模块,用于根据目标单元的初始模型参数和连接单元的初始模型参数,对连接单元进行预选,以确定出备选单元。
11.根据权利要求10所述的装置,其特征在于,还包括:
第四获取模块,用于当重新确定的最优单元序列的代价值都不满足预设条件时,在所述模型中,重新获取目标单元的所述更新后的模型参数和连接单元的所述更新后的模型参数;
第二预选模块,用于根据目标单元的所述更新后的模型参数和连接单元的所述更新后的模型参数,对连接单元进行预选,以确定出备选单元。
12.根据权利要求9-11任一项所述的装置,其特征在于,还包括:
提取模块,用于在训练过程中对语音进行声学特征提取,得到声学特征信息;
分解模块,用于对所述声学特征信息进行韵律层级分解,得到分解后的分量;
建模模块,用于根据分解后的分量进行建模,得到所述模型。
13.根据权利要求12所述的装置,其特征在于,所述分解模块具体用于:
对所述声学特征信息的基频进行分解。
14.根据权利要求12所述的装置,其特征在于,所述分解模块具体用于:
采用小波变换或DCT变换,对所述声学特征信息进行韵律层级分解。
15.根据权利要求9-11任一项所述的装置,其特征在于,所述最优单元序列是整体似然值最大的单元序列,所述最优单元序列的代价值是最优单元序列的平均代价值,还包括:
判断模块,用于当所述最优单元序列的平均代价值小于预设的阈值时,确定所述最优单元序列的代价值不满足预设条件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510609521.1A CN105206264B (zh) | 2015-09-22 | 2015-09-22 | 语音合成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510609521.1A CN105206264B (zh) | 2015-09-22 | 2015-09-22 | 语音合成方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105206264A CN105206264A (zh) | 2015-12-30 |
CN105206264B true CN105206264B (zh) | 2017-06-27 |
Family
ID=54953893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510609521.1A Active CN105206264B (zh) | 2015-09-22 | 2015-09-22 | 语音合成方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105206264B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105719641B (zh) * | 2016-01-19 | 2019-07-30 | 百度在线网络技术(北京)有限公司 | 用于波形拼接语音合成的选音方法和装置 |
CN105529023B (zh) * | 2016-01-25 | 2019-09-03 | 百度在线网络技术(北京)有限公司 | 语音合成方法和装置 |
CN106971709B (zh) | 2017-04-19 | 2021-10-15 | 腾讯科技(上海)有限公司 | 统计参数模型建立方法和装置、语音合成方法和装置 |
CN110334240B (zh) * | 2019-07-08 | 2021-10-22 | 联想(北京)有限公司 | 信息处理方法、系统及第一设备、第二设备 |
CN110473516B (zh) * | 2019-09-19 | 2020-11-27 | 百度在线网络技术(北京)有限公司 | 语音合成方法、装置以及电子设备 |
CN112365876B (zh) * | 2020-11-27 | 2022-04-12 | 北京百度网讯科技有限公司 | 语音合成模型的训练方法、装置、设备以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5913193A (en) * | 1996-04-30 | 1999-06-15 | Microsoft Corporation | Method and system of runtime acoustic unit selection for speech synthesis |
CN101000765A (zh) * | 2007-01-09 | 2007-07-18 | 黑龙江大学 | 基于韵律特征的语音合成方法 |
CN101178896A (zh) * | 2007-12-06 | 2008-05-14 | 安徽科大讯飞信息科技股份有限公司 | 基于声学统计模型的单元挑选语音合成方法 |
CN104112444A (zh) * | 2014-07-28 | 2014-10-22 | 中国科学院自动化研究所 | 一种基于文本信息的波形拼接语音合成方法 |
-
2015
- 2015-09-22 CN CN201510609521.1A patent/CN105206264B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5913193A (en) * | 1996-04-30 | 1999-06-15 | Microsoft Corporation | Method and system of runtime acoustic unit selection for speech synthesis |
CN101000765A (zh) * | 2007-01-09 | 2007-07-18 | 黑龙江大学 | 基于韵律特征的语音合成方法 |
CN101178896A (zh) * | 2007-12-06 | 2008-05-14 | 安徽科大讯飞信息科技股份有限公司 | 基于声学统计模型的单元挑选语音合成方法 |
CN104112444A (zh) * | 2014-07-28 | 2014-10-22 | 中国科学院自动化研究所 | 一种基于文本信息的波形拼接语音合成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105206264A (zh) | 2015-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105206264B (zh) | 语音合成方法和装置 | |
CN105185373B (zh) | 韵律层级预测模型的生成及韵律层级预测方法和装置 | |
CN104538024B (zh) | 语音合成方法、装置及设备 | |
CN105206258A (zh) | 声学模型的生成方法和装置及语音合成方法和装置 | |
JP2007249212A (ja) | テキスト音声合成のための方法、コンピュータプログラム及びプロセッサ | |
CN105654940B (zh) | 一种语音合成方法和装置 | |
JP2017058513A (ja) | 学習装置、音声合成装置、学習方法、音声合成方法、学習プログラム及び音声合成プログラム | |
JP6036682B2 (ja) | 音声合成システム、音声合成方法、および音声合成プログラム | |
CN1835075B (zh) | 一种结合自然样本挑选与声学参数建模的语音合成方法 | |
CN105225658A (zh) | 韵律停顿信息的确定方法和装置 | |
Hirai et al. | Using 5 ms segments in concatenative speech synthesis | |
JP2014038282A (ja) | 韻律編集装置、方法およびプログラム | |
CN107610693A (zh) | 文本语料库的构建方法和装置 | |
JP6669081B2 (ja) | 音声処理装置、音声処理方法、およびプログラム | |
CN106297766B (zh) | 语音合成方法及系统 | |
Ni et al. | Quantitative and structural modeling of voice fundamental frequency contours of speech in Mandarin | |
JP2016157097A (ja) | 音読評価装置、音読評価方法、及びプログラム | |
JP4716125B2 (ja) | 発音評定装置、およびプログラム | |
CN105719641B (zh) | 用于波形拼接语音合成的选音方法和装置 | |
KR102051235B1 (ko) | 스피치 합성에서 푸어 얼라인먼트를 제거하기 위한 아웃라이어 식별 시스템 및 방법 | |
JP2017198790A (ja) | 音声評定装置、音声評定方法、教師変化情報の生産方法、およびプログラム | |
JP4379050B2 (ja) | 音声認識装置、音声認識高速化方法、および、プログラム | |
Mertens | Transcription of tonal aspects in speech and a system for automatic tonal annotation | |
Low et al. | Synthesis of unseen context and spectral and pitch contour smoothing in concatenated text to speech synthesis | |
Sreelekshmi et al. | Clustering of duration patterns in speech for text-to-speech synthesis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |