发明内容
本发明实施方式提出一种清浊音判定方法,以提高清浊音判定成功率。
本发明实施方式还提出了一种清浊音判定装置,以提高清浊音判定成功率。
本发明实施方式还提出了一种语音合成系统,以提高合成质量。
本发明实施方式的具体方案如下:
一种清浊音判定方法,该方法包括:
设置清浊音判定问题集;
利用语音训练数据和所述清浊音判定问题集,对二叉判定树结构的清浊音判定模型进行训练,其中该二叉判定树结构中的非叶子节点为所述清浊音判定问题集中的问题,叶子节点为清浊音判定结果;
接收语音测试数据,并利用训练后的所述清浊音判定模型判定语音测试数据为清音或浊音。
一种清浊音判定装置,该装置包括:清浊音判定问题集设置单元、模型训练单元和清浊音判定单元,其中:
清浊音判定问题集设置单元,用于设置清浊音判定问题集;
模型训练单元,用于利用语音训练数据和所述清浊音判定问题集,对二叉判定树结构的清浊音判定模型进行训练,其中该二叉判定树结构中的非叶子节点为清浊音判定问题集中的问题,叶子节点为清浊音判定结果;
清浊音判定单元,用于接收语音测试数据,并利用训练后的所述清浊音判定模型判定语音测试数据为清音或浊音。
一种语音合成系统,包括清浊音判定装置和语音合成器,其中:
清浊音判定装置,用于设置清浊音判定问题集,利用语音训练数据和所述清浊音判定问题集,对二叉判定树结构的清浊音判定模型进行训练,其中该二叉判定树结构中的非叶子节点为清浊音判定问题集中的问题,叶子节点为清浊音判定结果;接收语音测试数据,并利用训练后的所述清浊音判定模型判定语音测试数据为清音或浊音;并当利用训练后的所述清浊音判定模型判定语音测试数据为浊音之后,利用隐马尔科夫模型预测该语音测试数据的基频值;
语音合成器,用于基于该语音测试数据的基频值和谱参数合成语音,其中当语音测试数据被判定为浊音之后,在语音合成过程中该语音测试数据的激励信号被假设为冲击响应序列,当语音测试数据被判定为清音之后,在语音合成过程中该语音测试数据的激励信号被假设为白噪声。
从上述技术方案可以看出,在本发明实施方式中,设置清浊音判定问题集;利用语音训练数据和所述清浊音判定问题集,对二叉判定树结构的清浊音判定模型进行训练,其中该二叉判定树结构中的非叶子节点为所述清浊音判定问题集中的问题,叶子节点为清浊音判定结果;接收语音测试数据,并利用训练后的所述清浊音判定模型判定语音测试数据为清音或浊音。由此可见,本发明实施方式采用独立的清浊音判定模型对合成语音中音素状态的清浊进行判定,从而提高了清浊音判定成功率。
另外,本发明实施方式还解决了合成语音的浊音清化以及清音浊化所导致的合成效果低下的缺陷,提高了语音合成的质量。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
在基于隐马尔科夫模型的可训练语音合成系统(Trainable TTS)里,语音信号被按帧(frame)转换为激励参数(Excitation parameter)和谱参数(Spectral parameter)。激励参数和谱参数分别训练为HMM模型(trainingpart)。然后,在语音合成端(synthesis part),基于HMM模型预测出的清浊判定、浊音基频和谱参数,通过合成器(vocoder)合成为语音。
在合成阶段,如果某帧被判定为浊音,则激励信号被假设为冲击响应序列;若被判定为清音,则激励信号被假设为白噪声。若清浊判定错误,则会发生浊音清化、清音浊化,严重影响到最终的合成效果。
然而,为了训练隐马尔科夫(HMM)模型而设计的问题集合并不是专门针对清浊判定的,在预测过程中,决策树中的问题可能根本与清浊音无关,却被用于判定语音的清浊,这自然会导致清浊音判定的不准确。当清浊音判定准确度不够高发生错误后,合成语音的浊音清化以及清音浊化会严重影响合成效果。
本发明实施方式提出了一种清浊音判定方法。
图1为根据本发明实施方式清浊音判定方法流程图。
如图1所示,该方法包括:
步骤101:设置清浊音判定问题集。
在这里,首先设计一个专门针对清浊判定问题的问题集合,称为清浊音判定问题集。在清浊音判定问题集中包含有大量的是否类型问题,这些问题包括并不限于询问如下信息:
(1)、语音帧所属的音素的相关语音信息:比如语音帧所属的音素是否是元音、是否是爆破音、是否是摩擦音、是否是鼻音、是否重读、是否是某个具体音素,是否是阴平、是否是阳平、是否是上声、是否是去声,等等。
(2)、语音帧所属音素在句子中的前一个音素的相关语音信息:比如语音帧所属的音素在句子中的前一个音素是否是元音、是否是爆破音、是否是摩擦音、是否是鼻音、是否重读、是否是某个具体音素,是否是阴平、是否是阳平、是否是上声、是否是去声,等等。
(3)、语音帧所属音素在句子中的后一个音素的相关语音信息:比如语音帧所属的音素在句子中的后一个音素是否是元音、是否是爆破音、是否是摩擦音、是否是鼻音、是否重读、是否是某个具体音素,是否是阴平、是否是阳平、是否是上声、是否是去声,等等。
(4)、语音帧在所属音素中位于第几个状态(通常把一个音素分为5个状态),该帧所属音素的声调和该帧所属音素是否重读等等。
在一个实施方式中:
清浊音判定问题集包含有是否判定类型的问题,而且在清浊音判定问题集中设置下列问题中的至少一个:
语音帧所属的音素是否是元音;语音帧所属的音素是否是爆破音;语音帧所属的音素是否是摩擦音;语音帧所属的音素是否重读;语音帧所属的音素是否是鼻音;语音帧所属的音素是否是阴平;语音帧所属的音素是否是阳平;语音帧所属的音素是否是上声;语音帧所属的音素是否是去声;语音帧所属的音素在语音句子中的前一个音素是否是元音;语音帧所属的音素在语音句子中的前一个音素是否是爆破音;语音帧所属的音素在语音句子中的前一个音素是否是摩擦音;语音帧所属的音素在语音句子中的前一个音素是否重读;语音帧所属的音素在语音句子中的前一个音素是否是鼻音;语音帧所属的音素在语音句子中的前一个音素是否是鼻音;语音帧所属的音素在语音句子中的前一个音素是否是阴平;语音帧所属的音素在语音句子中的前一个音素是否是阳平;语音帧所属的音素在语音句子中的前一个音素是否是上声;语音帧所属的音素在语音句子中的前一个音素是否是去声;语音帧所属的音素在语音句子中的后一个音素是否是元音;语音帧所属的音素在语音句子中的后一个音素是否是爆破音;语音帧所属的音素在语音句子中的后一个音素是否是摩擦音;语音帧所属的音素在语音句子中的后一个音素是否重读;语音帧所属的音素在语音句子中的后一个音素是否是鼻音;语音帧所属的音素在语音句子中的后一个音素是否是阴平;语音帧所属的音素在语音句子中的后一个音素是否是阳平;语音帧所属的音素在语音句子中的后一个音素是否是上声;语音帧所属的音素在语音句子中的后一个音素是否是去声。
其中,音素类似汉语的拼音或者英文的国际音标,是语音的一个片段。
步骤102:利用语音训练数据和所述清浊音判定问题集,对二叉判定树结构的清浊音判定模型进行训练,其中该二叉判定树结构中的非叶子节点为清浊音判定问题集中的问题,叶子节点为清浊音判定结果。
在这里,可以针对清浊音判定问题集中的每一个问题,对于回答是和否的语音训练数据分别计算浊音比例值,并且选择浊音比例差值最大的问题作为根节点;而且在根节点下针对基于类似原则对语音训练数据进行分裂,以形成非叶子节点和叶子节点。
其中,当预先设定的分裂停止条件得到满足之后,停止分裂,其中所述分裂停止条件可以为:非叶子节点或叶子节点的语音训练数据少于预先设定的第一门限值或非叶子节点或叶子节点的浊音比例差值小于预先设定的第二门限值。
在计算机科学中,二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆或是二叉排序树。二叉树的每个结点至多只有二棵子树(不存在出度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2的i-1次方个结点;深度为k的二叉树至多有2^(k)-1个结点;对任何一棵二叉树T,如果其终端结点数(即叶子结点数)为n0,出度为2的结点数为n2,则n0=n2+1。在本发明实施方式中,该二叉判定树结构中的非叶子节点为清浊音判定问题集中的问题,叶子节点为清浊音判定结果。
图2为根据本发明实施方式二叉判定树模型示意图。
本发明实施方式采用二叉判定树模型,使用的训练数据为语音帧,附带信息包括:基频信息(其中清音基频信息用0表示,而浊音基频信息用对数域的基频表示)、该帧的音素以及该帧前后的音素(triphone)、帧在音素内的状态序数(即在音素内的第几个状态)等。
训练过程中,针对设计的问题集合每一个问题,针对属于是(yes)和否(no)的训练数据,分别计算浊音帧比例值,选择使得yes和no的浊音比例值相差最大的问题为该节点的问题,然后将训练数据进行分裂。
可以预先设定停止分裂的条件(比如:节点的训练数据少于多少帧或者继续分裂的浊音比例差值少于某一个阈值),然后根据叶子节点的训练数据中浊音帧的比例确定该节点的清浊音判定(比如:大于50%判定为浊音,否则判定为清音)。
若判定为浊音,则再通过训练好的HMM模型去预测该帧的基频值。在本发明实施方式中,不需要用到多空间概率分布的方法对基频建模。
步骤103:接收语音测试数据,并利用训练后的所述清浊音判定模型判定语音测试数据为清音或浊音。
在这里,可以接收语音测试数据,并利用训练后的清浊音判定模型判定语音测试数据为清音或浊音。
其中,当语音测试数据被判定为浊音之后,在语音合成过程中该语音测试数据的激励信号被假设为冲击响应序列;当语音测试数据被判定为清音之后,在语音合成过程中该语音测试数据的激励信号被假设为白噪声。
图3为根据本发明实施方式二叉判定树模型使用示意图。
如图3所示,清浊音判定模型为一个二叉判定树,每个非叶子节点代表一个问题,yes走左子树,no走右子树,叶子节点代表判定结果(清音或浊音),若为浊音,取此节点的基频均值作为基频的预测值。
如图3所示,如果一帧数据进来,首先从根节点开始,询问该帧所属音素的后一个音素是否是浊音音素,如果是,则进入左子树;并再询问该帧所属音素的后一个音素是否是元音,如果否,则进入右子树,问该帧所属音素的前一个音素是否是鼻音;如果是,则进入2号叶子节点,如果2号叶子节点判定为浊音,则该帧被判定为浊音。
清浊判定完成后,可以再进行基频的预测,基频的预测值和谱参数的预测值一起计入合成器合成为语音。在语音合成阶段,如果某帧被判定为浊音,则激励信号被假设为冲击响应序列;若被判定为清音,则激励信号被假设为白噪声。
基于上述详细分析,本发明实施方式还提出了一种清浊音判定装置。
图4为根据本发明清浊音判定装置结构图。
如图4所示,该装置包括:清浊音判定问题集设置单元401、模型训练单元402和清浊音判定单元403,其中:
清浊音判定问题集设置单元401,用于设置清浊音判定问题集;
模型训练单元402,用于利用语音训练数据和所述清浊音判定问题集,对二叉判定树结构的清浊音判定模型进行训练,其中该二叉判定树结构中的非叶子节点为清浊音判定问题集中的问题,叶子节点为清浊音判定结果;
清浊音判定单元403,用于接收语音测试数据,并利用训练后的所述清浊音判定模型判定语音测试数据为清音或浊音。
在一个实施方式中:
模型训练单元402,用于针对清浊音判定问题集中的每一个问题,对于回答是和否的语音训练数据分别计算浊音比例值,并且选择浊音比例差值最大的问题作为根节点;并在根节点下针对语音训练数据进行分裂,以形成非叶子节点和叶子节点。
在一个实施方式中:
模型训练单元402,用于当预先设定的分裂停止条件得到满足之后,停止所述分裂,其中所述分裂停止条件至少包括:非叶子节点或叶子节点的语音训练数据少于预先设定的第一门限值;或非叶子节点或叶子节点的浊音比例差值小于预先设定的第二门限值。
在一个实施方式中:
模型训练单元402,进一步用于获取语音训练数据的基频信息、语音训练数据的音素以及前后音素、语音训练数据在音素内的状态序数,并将语音训练数据的基频信息、语音训练数据的音素以及前后音素、语音训练数据在音素内的状态序数作为训练过程中的附带信息。
基于上述详细分析,本发明实施方式还提出了一种语音合成系统。
图5是根据本发明实施方式语音合成系统结构图。
如图5所示,该系统包括清浊音判定装置501和语音合成器502,其中:
清浊音判定装置501,用于设置清浊音判定问题集,利用语音训练数据和所述清浊音判定问题集,对二叉判定树结构的清浊音判定模型进行训练,其中该二叉判定树结构中的非叶子节点为清浊音判定问题集中的问题,叶子节点为清浊音判定结果;接收语音测试数据,并利用训练后的所述清浊音判定模型判定语音测试数据为清音或浊音;并当利用训练后的所述清浊音判定模型判定语音测试数据为浊音之后,利用隐马尔科夫模型预测该语音测试数据的基频值;
语音合成器502,用于基于该语音测试数据的基频值和谱参数合成语音,其中当语音测试数据被判定为浊音之后,在语音合成过程中该语音测试数据的激励信号被假设为冲击响应序列,当语音测试数据被判定为清音之后,在语音合成过程中该语音测试数据的激励信号被假设为白噪声。
在一个实施方式中:
清浊音判定装置501,用于针对清浊音判定问题集中的每一个问题,对于回答是和否的语音训练数据分别计算浊音比例值,并且选择浊音比例差值最大的问题作为根节点;并在根节点下针对语音训练数据进行分裂,以形成非叶子节点和叶子节点。
在一个实施方式中:
清浊音判定装置501,用于当预先设定的分裂停止条件得到满足之后,停止所述分裂,其中所述分裂停止条件至少包括:非叶子节点或叶子节点的语音训练数据少于预先设定的第一门限值;或非叶子节点或叶子节点的浊音比例差值小于预先设定的第二门限值。
用户可以在各种终端上执行清浊音判定处理,这些终端可以包括但是不局限于:功能手机、智能手机、掌上电脑、个人电脑(PC)、平板电脑或个人数字助理(PDA),等等。
以上虽然详细罗列了终端的具体实例,本领域人员可以意识到,这些罗列仅是阐述目的,并不用于限定本发明实施方式的保护范围。浏览器具体可以包括微软的Internet Explorer、Mozilla的Firefox、Apple的Safari,Opera、GoogleChrome、GreenBrowser等浏览器。
以上虽然详细列出了一些常用浏览器,本领域技术人员可以意识到,本发明实施方式并不局限于这些浏览器,而是可以适用于任意可用于显示网页服务器或档案系统内的文件、并让用户与文件互动的应用(App),这些应用可以是目前常见的各种浏览器,也可以是其他的任意具有网页浏览功能的应用程序。
实际上,可以通过多种形式来具体实施本发明实施方式所提出的清浊音判定方法、装置和语音合成系统。
比如,可以遵循一定规范的应用程序接口,将清浊音判定方法编写为安装到个人电脑、移动终端等中的插件程序,也可以将其封装为应用程序以供用户自行下载使用。当编写为插件程序时,可以将其实施为ocx、dll、cab等多种插件形式。也可以通过Flash插件、RealPlayer插件、MMS插件、MIDI五线谱插件、ActiveX插件等具体技术来实施本发明实施方式所提出的清浊音判定方法方法。
可以通过指令或指令集存储的储存方式将本发明实施方式所提出的清浊音判定方法方法存储在各种存储介质上。这些存储介质包括但是不局限于:软盘、光盘、DVD、硬盘、闪存、U盘、CF卡、SD卡、MMC卡、SM卡、记忆棒(Memory Stick)、xD卡等。
另外,还可以将本发明实施方式所提出的清浊音判定方法方法应用到基于闪存(Nand flash)的存储介质中,比如U盘、CF卡、SD卡、SDHC卡、MMC卡、SM卡、记忆棒、xD卡等。
综上所述,在本发明实施方式中,设置清浊音判定问题集;利用语音训练数据和所述清浊音判定问题集,对二叉判定树结构的清浊音判定模型进行训练,其中该二叉判定树结构中的非叶子节点为所述清浊音判定问题集中的问题,叶子节点为清浊音判定结果;接收语音测试数据,并利用训练后的所述清浊音判定模型判定语音测试数据为清音或浊音。由此可见,本发明实施方式采用独立的清浊音判定模型对合成语音中音素状态的清浊进行判定,从而提高了清浊音判定成功率。
另外,本发明实施方式还解决了合成语音的浊音清化以及清音浊化所导致的合成效果低下的缺陷,提高了语音合成的质量。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。