一种修正合成音中错误声调的方法与流程

文档序号:14951839发布日期:2018-07-17 22:43阅读:378来源:国知局

本发明属于一种修正合成音中错误声调的方法。



背景技术:

基于参数统计模型的语音合成技术已成为目前轻量级、快速更新部署的首选技术方案。在采用参数统计模型进行带调语言(比如中文)的语音合成时,如果生成的基频特征不准确,那么合成语音的声调将是不准确的,语音听起来很别扭。这种情况经常发生在待合成文本的上下文和训练数据严重不匹配的情况下。因为参数统计模型主要是针对不同上下文的基本声学单元(比如音素)进行建模,不同上下文的声学单元具有不同的模型参数。由于不同上下文的声学单元太多,而训练数据有限,导致训练出来的某些模型参数不可靠。

尽管为了避免此问题,在建模过程中采用决策数据聚类方法来允许不同上下文声学单元的模型共享数据,但是训练数据仍然不可能覆盖所有的上下文情况。因此,在实际应用中,如果输入的待合成文本的上下文是训练数据完全没有覆盖到的,那么生成的基频参数即有可能出现偏差甚至完全错误,从而导致合成的语音声调有问题,听起来很别扭。在中文合成中,这将会影响到语音的可懂度,甚至产生完全错误的语义理解。



技术实现要素:

本专利针对中文语音合成系统,公开一套自动修正合成音中错误声调的方法。本发明解决上述技术问题所采取的技术方案如下:

一种修正合成音中错误声调的方法,其特征在于,包括:

步骤1)获取待合成文本中的音素及上下文信息;

步骤2)基于参数统计合成模型库,采用基于参数统计模型的参数生成算法,生成包括音素时长和对应声调的基频值序列参数;

步骤3)对所生成的每个音节对应的基频特征值序列,基于错误声调模式库,采用错误声调检测算法来判断该基频特征值序列所表示的声调是否和该音节声调相一致,若不一致则判断为错误声调;;

步骤4)对于错误声调的基频特征值序列,基于正确声调模式库,采用声调修正算法生成对应该音节声调的正确的基频特征值序列;

步骤5)进行语音合成,并输出最终的合成语音。

该方法首先检测合成音中错误声调的位置,然后通过一套线条拟合方法来修正错误声调到正确声调,最后合成正确声调的语音。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

下面结合附图对本发明进行详细的描述,以使得本发明的上述优点更加明确。其中,

图1是本发明修正合成音中错误声调的方法的示意图。

具体实施方式

以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。

另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本专利针对中文语音合成系统,公开一套自动修正合成音中错误声调的方法。该方法首先检测合成音中错误声调的位置,然后通过一套线条拟合方法来修正错误声调到正确声调,最后合成正确声调的语音。主客观评价表明,该方案是有效的。特定地,本专利所公开的技术方案同样适用于其他带调语言的语音合成系统。

本发明公开一种合成声调的自动修正方法。在语音合成中,声调是通过基频特征值序列来表现的。不同的基频特征值序列合成语音之后,在听觉上会感知到其声调的不同。因此,本发明所公开的方法主要是对表现声调的基频特征值序列进行处理。该方法首先利用模型生成的基频值序列,判断会产生错误声调的基频序列片断(通常对应一个音节),然后采用声调调型曲线来拟合生成正确声调的基频值序列,最后采用新生成的基频值序列和频谱特征等语音参数重新合成语音。所公开方法的组成部分如下图1所示:

如图1所示,一种修正合成音中错误声调的方法,包括:

步骤1)获取待合成文本中的音素及上下文信息;

步骤2)基于参数统计合成模型库,采用基于参数统计模型的参数生成算法,生成包括音素时长和对应声调的基频值序列参数;

步骤3)对所生成的每个音节对应的基频特征值序列,基于错误声调模式库,采用错误声调检测算法来判断该基频特征值序列所表示的声调是否和该音节声调相一致,若不一致则判断为错误声调;;

步骤4)对于错误声调的基频特征值序列,基于正确声调模式库,采用声调修正算法生成对应该音节声调的正确的基频特征值序列;

步骤5)进行语音合成,并输出最终的合成语音。

其中,如上图所示,所公开方法核心主要包括两部分:错误声调检测和错误声调修正。错误声调检测模块主要工作是判定给定基频值序列是否可以生成给定声调。其主要工作原理包括:

step1:获取根据参数统计合成模型库生成的基频值序列,再根据时长模型获取每个音节的时长,然后根据音节时长切分基频值序列,得到每个音节的基频值序列;

step2:根据待合成文本中对应音节的声调和生成的该音节基频值序列以及其他参数判断该基频值序列是否正确;如果不正确,则把基频值序列及其他参数送入错误声调修正模块进行处理;否则,直接送去合成语音

特定地,所述的判断基频值序列是否正确,采用如下两类方案:

方案1:置信度计算方案

方案2:分类方案

特定地,所述置信度计算方案可采用发音评测技术中的声调评测方案。实质是计算给定基频值序列情况下对应音节所标称声调的后验概率。如果后验概率大于给定阈值t1,则判定该基频值序列正确;否则判定该基频值序列错误。特定地,所述的声调评测方案采用的声调声学模型参数最好采用该方案所应用于的合成音的声学训练数据进行训练。

特定地,所述的分类方案采用支持向量机(svm)模型来进行分类。

具体地,所述的采用支持向量机(svm)模型进行基频值序列是否是给定声调产生的判断过程如下:

step2.1:对基频值序列进行平滑处理,使得每个音节只对应一个连续的非零基频值序列,并且做均值方差归一化;具体平滑处理可组合采用半频/倍频消除算法、中值滤波算法和均值滤波算法以及线性插值算法等;

step2.2:对平滑且归一化后的基频值序列进行分段,具体段数根据实际情况确定,特定地,可平均分为7段,计算中间5段每段的基频平均值;

step2.3:组成特征向量,特定地,一个26维向量,具体包括:每个音节的分段平均基频特征值及一阶和二阶差分(特定地,5×3维),当前音节和前后音节的声调(3维),当前音节和前后音节的编号(3维),当前音节有声(voiced)音素的时长(1维),原始非零基频长度(1维),原始最长基频值序列长度(1维),平滑后基频值序列的最大值和最小值的差值(1维),平滑后基频值序列的方差(1维)

step2.4:把上述26维特征送入预先训练好的svm分类器,得到分类结果;特定地,如果概率大于0.5,则判定该基频值序列正确;否则判定该基频值序列错误

特定地,优选方案是所述的分类方案可采用深度神经网络(dnn)模型来进行分类。dnn模型相比svm有更强的建模能力,但也要求更多更充分的训练数据。

特定地,所述分类特征向量可以根据实际情况进一步扩展,不局限于所述的26维特征。

特定地,所述的分类器模型的训练最好采用该合成系统的合成音数据来训练。错误声调数据可采用人为篡改方式生成。

特定地,上述判断基频值序列是否正确声调的方案所采用的声调声学模型或者svm模型或者dnn模型,均需预先训练好,存储于错误声调模式库中。

错误声调修正模块的主要工作是根据待合成文本所标示的音节声调来修正其对应的自动生成的错误的基频特征值序列。通过对错误的基频特征值序列的修正,使得最终合成的语音声调听起来正确,从而使整个合成语音更自然,可懂度更高。

所述的错误声调修正方法,其步骤如下:

step1:获得当前音节声调对应的基频特征值序列,计算其均值f1、最大值fmax和最小值fmin以及长度t(帧数)等先验参数

step2:从正确声调模式库中选择目标声调的归一化调型参数,根据当前音节对应基频特征值序列长度,对归一化调型参数进行长度缩放,然后再根据当前音节对应基频特征值序列的调域范围对归一化调型参数值进行缩放,最后根据当前音节对应基频值序列均值对归一化调型参数值进行平移,具体计算公式如下:

fi(t)=f1+f2*gi(s(t));且:f2=fmax-fmin;t=1...t

其中:gi(.)是声调i的归一化调型参数序列;s(t)是时长缩放函数

step3:根据当前音节前后音节的基频特征值序列对生成的目标声调的基频特征值序列进行平滑处理,平滑方法可采用中值滤波算法和均值滤波算法以及线性插值算法等。

特定地,所述的归一化调型参数是指合成系统训练数据中每个音节对应的基频特征值序列。

特定地,所述的归一化调型参数存储在正确声调模式库中。

特定地,所述的存储在正确声调模式库中的每个音节对应的基频特征值序列是经过时长、均值和取值范围归一化的。

特定地,所述的存储在正确声调模式库中的归一化调型参数是音节声调及其上下文依赖的,也就是说相同的音节声调,其上下文不同,所存储的对应归一化调型参数也不同。

特定地,所述的音节声调及其上下文可以包括声调所在的音节,前后的音节以及其声调,当前声调音节的元音类型,当前声调所在音节所在的词的长度和词性,当前音节在所在词中的位置等。具体实现中,可使用的上下文信息不限于上述所列条目。特定地,所述的从正确声调模式库中选择目标声调的归一化调型参数是指根据当前音节声调及其上下文从正确声调模式库中寻找与其最相似的音节声调对应的基频特征值序列。通常采用决策树方法来挑选。

特定地,所述的归一化调型参数是也可以是标准声调调型函数生成的标准基频值序列。

需要说明的是,对于上述方法实施例而言,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。

而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1