语音合成方法及系统
技术领域
本发明属于语音合成技术领域,特别涉及一种语音合成方法及系统。
背景技术
传统TTS(Text to Speech语音合成)系统由前端和后端两部分组成。前端主要负责文本预处理和语音单元生成,后端主要负责语音合成。如图1所示,传统TTS系统的前端和后端都设置于客户端,传统TTS系统处理环节众多,计算复杂度高,对计算机的运算能力和存储容量提出了更高要求,特别是对逐渐兴起的移动终端设备如个人数字助理,电子书,手机提出了巨大挑战。
因此,分布式TTS系统应运而生,如图2所示,分布式TTS系统的前端和后端相分离,前端环节在服务器完成,后端设置于客户端上,客户端获取前端产生的脚本并完成语音合成,通过服务器和客户端的协同工作,以缓解了客户端的运算压力。此外,如果想要获得较好的前端文本分析结果,所需要的预先标注好的数据也是海量的,在此基础上得出的知识(可以是规则,也可以是模型)也会非常大,分布式语音合成系统也可以有效的缓解移动终端在存储上的不足。然而,无论是传统TTS系统,还是分布式TTS系统,始终面临着一个问题:以目前的人工智能技术,无法生成绝对正确的前端结果,分词、韵律预测、语音单元选取都有可能出现偏差,而前端结果对于最终的合成结果有着决定性的作用,好的前端结果使可懂度、自然度和用户可接受程度大大提高,而坏的前端结果可能会使得合成结果与文本相差万里。虽然现在常见的语音合成算法可以合成出高质量高自然度的合成语音,但这都是建立在高质量的前端分析结果之上的,如果没有高质量的前端文本分析结果作为基础,任何语音合成算法都无法合成出让人可以接受的合成语音。前端文本分析和后端语音合成是两个相辅相成的模块,前端文本分析是基础,只有好的前端文本分析结果,好的合成结果才会有可能出现,相信在不久的将来,更加自然、更具有情感的合成方法肯定会出现,到时候,小说朗读、剧本朗读将成为可能,那时前端文本分析的结果将决定最终的合成结果。
发明内容
本发明的目的在于提供一种语音合成方法及系统,能够纠正前端脚本的错误如分词错误和多音字注音错误,从而提高合成语音的易理解性和用户的可接受程度,弥补传统TTS对韵律的预测准确度不足的缺点,提高了合成语音的自然度和表现力。
为解决上述问题,本发明提供一种语音合成方法,包括:
对输入文本进行文本分析和语言分析,生成包含相应语音单元的前端脚本;
获取和校验所述前端脚本,修正所述前端脚本;以及
获取所述修正后的前端脚本并合成修正语音。
进一步的,在上述方法中,,修正所述前端脚本的步骤包括:语调调整、语速调整、用变声的方法作音色调整、用回声的方法添加混响效果或用均衡器的方法提高声音效果。
进一步的,在上述方法中,所述文本分析包括将所述输入文本转化为标准格式。
进一步的,在上述方法中,所述语言分析包括韵律短语分析、语调分析或音长分析中的一种或任意组合。
进一步的,在上述方法中,所述校验包括分词校验、读音校验或韵律校验中的一种或任意组合。
进一步的,在上述方法中,所述合成修正语音的方法包括基于HMM的可训练语音合成方法、基于大语料库的波形拼接语音合成方法或基于HMM的大语料库语音合成方法。
进一步的,在上述方法中,获取和校验所述前端脚本,修正所述前端脚本的步骤中,将所述前端脚本合成原始语音,通过校验所述原始语音修正所述前端脚本。
进一步的,在上述方法中,获取和校验所述前端脚本,修正所述前端脚本的步骤中,将所述前端脚本转化为纯文本,通过校验所述纯文本修正所述前端脚本。
进一步的,在上述方法中,获取和校验所述前端脚本,修正所述前端脚本的步骤中,通过校验所述前端脚本修正所述前端脚本。
进一步的,在上述方法中,所述前端脚本用XML语言描述。
根据本发明的另一面,提供一种语音合成系统,包括:
前端,用于对输入文本进行文本分析和语言分析,生成包含相应语音单元的前端脚本,及从交互校验端获取修正后的前端脚本;
交互校验端,用于获取和校验所述前端脚本,修正所述前端脚本并将所述修正后的前端脚本发送到所述前端保存;以及
后端,用于从所述前端获取所述修正后的前端脚本并合成修正语音。
进一步的,在上述系统中,所述前端设置于服务器上。
进一步的,在上述系统中,所述交互校验端和后端设置于客户端上。
进一步的,在上述系统中,所述交互校验端设置于服务器上,所述后端设置于客户端上。
进一步的,在上述系统中,所述后端,还用于将所述前端脚本合成原始语音;
所述交互校验端,用于通过获取和校验所述原始语音修正所述前端脚本。
进一步的,在上述系统中,所述交互校验端,用于将所述前端脚本转化为纯文本,通过校验所述纯文本修正所述前端脚本。
进一步的,在上述系统中,所述交互校验端,用于通过校验所述前端脚本修正所述前端脚本。
与现有技术相比,本发明通过对输入文本进行文本分析和语言分析,生成包含相应语音单元的前端脚本,获取和校验所述前端脚本,修正所述前端脚本;以及获取所述修正后的前端脚本并合成修正语音,可以纠正前端脚本的错误如分词错误和多音字注音错误,从而提高合成语音的易理解性和用户的可接受程度,弥补传统TTS对韵律的预测准确度不足的缺点,提高了合成语音的自然度和表现力
另外,通过将所述前端设于服务器上,将所述交互校验端和后端设于客户端,或者将所述交互校验端设置于服务器上和将所述后端设置于客户端上,实现前端和后端分离,缓解了客户端的运算和存储压力,使得在手机、电子书等低配置的移动终端设备上合成高质量的语音成为可能,市场现有合成系统分析表明,这种分离方法可以使得语音合成系统规模减少一半以上。
附图说明
图1是传统TTS系统框架图;
图2是分页式TTS系统框架图;
图3是本发明实施例的语音合成方法的流程图;
图4是本发明实施例的交互式TTS系统框架图;
图5是本发明实施例的语音合成系统的功能模块示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图3~4所示,本发明提供一种语音合成方法,包括:
步骤S1,前端对输入文本进行文本分析和语言分析,生成包含相应语音单元的前端脚本,具体的,如图4所示,所述前端设置于服务器上,前端能够获取输入文本,经过文本分析和语言分析等一系列处理过程,将输入文本转换成前端脚本(中间数据),所输出的前端脚本会被后端用来合成语音,或者供交互校验端进行校验和修改,由于前端处理在服务器运行,无须为了削减庞大的模型或者降低预测运算复杂度而大伤脑筋,另外,所述文本分析包括将所述输入文本转化为标准格式,所述语言分析包括韵律短语分析、语调分析或音长分析中的一种或任意组合,所述前端脚本用XML语言(可扩展标记语言extensiblemarkup language)描述,前端脚本是联结前端、后端以及交互校验端的纽带,用XML语言生成的前端脚本既有Schema来保证格式性,又具有相当强的表现力,出于数据安全考虑,出现在用XML语言生成的前端脚本中的字符串相关信息会被替换为一个整数,在用户编辑和语音合成时会通过一定映射机制替换回来,以下为中间脚本的简要实例,其中,sentType为句型,可以是陈述句、疑问句、感叹句等;emotion是句子情感类型,分为高兴、悲伤、生气、中立等等;tone表示调型;break表示停顿等级;emphasis表示是否重音,具体表现形式如下:
步骤S2,交互校验端获取和校验所述前端脚本,修正所述前端脚本并将修正后的前端脚本发送到所述前端保存,具体的,如图4所示,所述交互校验端设置于客户端,所述校验包括分词校验、读音校验或韵律校验中的一种或任意组合;可选的,交互校验端可以提供一用户接口,使用户可以方便的更改中间数据,用户通过对比输入文本和合成语音,检查前端分词、注音、韵律预测的错误,不断更正前端脚本,用户甚至可以根据文本的语境,更改语调、重音、感情色彩等内容,例如,对所述前端脚本进行语调调整、语速调整、用变声的方法对所述前端脚本作音色调整、用回声的方法对所述前端脚本添加混响效果或用均衡器的方法提高对所述前端脚本的声音效果;另外,也可根据实际情况将所述交互校验端设置于服务器上;
其中,对所述前端脚本进行校验和修正可有三种方式:
第一种方式,所述后端可先将所述前端脚本合成原始语音,然后所述交互校验端获取并校验所述原始语音修正所述前端脚本,这种情况下校验人员一边看输入文本,一边听合成语音,如果发现合成的原始语音和输入文本有不匹配的地方,则可以对这个不匹配的地方进行修正,比如声调预测错误、读音预测错误、分句分词预测错误等进行校验,然后保存该校验后的文本,重新听校验之后的合成结果,如果还有不合适的地方则可以继续进行校验和修正,直到合成结果满意为止,根据XML语言生成的前端脚本,校验人员可以校验其中的声调、读音、重音、停顿等预测结果,在不久的将来,具有表现力的语音合成系统进入实用阶段时候,校对人员还可以修正文本中句型和情感预测错误的句子,这无疑可以大大的提高语音合成的结果的表现力;
第二种方式,所述交互校验端将所述前端脚本转化为纯文本,通过校验所述纯文本修正所述前端脚本,这种方式适用于前端脚本分析结果中只有韵律分析的结果不好的情况,此时人工校对的前端脚本就可以简化为纯文本的形式,例如当只需要对“我们的部队在攻克了敌人的一号据点之后继续向二号据点进军”这段纯文本进行校验时,其他的信息则没有必要显示给校对人员;
第三种方式,所述交互校验端通过直接校验所述前端脚本修正所述前端脚本,这种方式下则不需要听最终的合成语音,而只需要对前端脚本进行校验,只要校对结果正确,也可以获得很好的最终的合成效果;
人工交互校验可以纠正前端分词错误和多音字注音错误,从而提高合成语音的易理解性和用户的可接受程度,而且,人工校验弥补了传统TTS对韵律的预测准确度不足的缺点,提高了合成语音的自然度和表现力,除上述三种方式外,也可以在语音合成方法和呈现给校对人员的数据格式上进行多样化选择,现代汉语博大精深;
步骤S3,后端从所述前端获取所述修正后的前端脚本并合成修正语音,具体的,后端从所述前端获取修正后的所述前端脚本,并读取修正后的所述前端脚本中提供的各项参数来合成语音,该语音会被提供给用户用于对比输入文本和输出语音做人工校验的工作,如图4所示,所述后端设置于客户端,本方法中将前端后端分离,可以缓解客户端的运算和存储压力,使得在手机、电子书等低配置的移动终端设备上合成高质量的语音成为可能,市场现有合成系统分析表明,这种分离方法可以使得合成系统规模减少一半以上,可选的,合成所述修正语音或原始语音的方法可包括基于HMM(隐马尔可夫模型)的可训练语音合成方法、基于大语料库的波形拼接语音合成方法或基于HMM的大语料库语音合成方法中和任意一种获取。
本发明将整个TTS系统分成前端、后端、交互校验端三个部分,其中,TTS前端在服务器运行,对输入文本进行文本分析和语言分析,生成包含相应语音单元的前端脚本,后端获取前端脚本并进行语音合成,校对人员比对输入文本和合成语音,迭代地更正前端脚本中的分词、拼音、停顿等韵律错误,最终得到准确无误的前端脚本,这里在前端文本分析和后端语音合成中间插入一个校对(如人工校对)输入文本分析结果的过程,这个过程可以修正前端文本分析的结果,本方法尤其适合于输入文本比较确定的场合,比如小说、剧本等文学作品,具体如构建一个听书网站,可以由前端处理所有作品生成前端脚本,所述前端脚本在通过人工检验和修正后上传到网上,用户在下载听书内容如小说的同时中间数据也会同步下载到终端,如果用户想要听哪段,那么后端就可以读取这段人工校验和修改后的前端脚本进行语音合成。
如图5所示,本发明还提供另一种语音合成系统,包括前端51、交互校验端61和后端62。
前端51用于对输入文本进行文本分析和语言分析,生成包含相应语音单元的前端脚本,及从交互校验端获取修正后的前端脚本。具体的,所述前端51设置于服务器5上,由于前端处理在服务器运行,无须为了削减庞大的模型或者降低预测运算复杂度而大伤脑筋,所述文本分析包括将所述输入文本转化为标准格式,所述语言分析包括韵律短语分析、语调分析或音长分析中的一种或任意组合,所述前端脚本用XML语言描述,前端脚本是联结前端、后端以及交互校验端的纽带,用XML语言生成的前端脚本既有Schema来保证格式性,又具有相当强的表现力。
交互校验端61用于获取和校验所述前端脚本,修正所述前端脚本并将所述修正后的前端脚本发送到所述前端保存。具体的,所述交互校验端61设置于客户端6,所述校验包括分词校验、读音校验或韵律校验中的一种或任意组合。另外,所述交互校验端61可以三种方式对所述前端脚本进行校验和修正:第一种方式中,所述后端可先将所述前端脚本合成原始语音,然后所述交互校验端61用于通过获取和校验所述原始语音修正所述前端脚本;第二种方式中,所述交互校验端61用于将所述前端脚本转化为纯文本,通过校验所述纯文本修正所述前端脚本;第三种方式中,所述交互校验端61用于通过直接校验所述前端脚本修正所述前端脚本,现代汉语博大精深,人工交互校验可以纠正前端分词错误和多音字注音错误,从而提高合成语音的易理解性和用户的可接受程度,而且,人工校验弥补了传统TTS对韵律的预测准确度不足的缺点,提高了合成语音的自然度和表现力。除上述三种方式外,也可以在语音合成方法和呈现给校对人员的数据格式上进行多样化选择。另外,可根据实际应用需要,将所述交互校验端设置于服务器上。交互校验端61还可用于对所述前端脚本进行语调调整、语速调整、用变声的方法对所述前端脚本作音色调整、用回声的方法对所述前端脚本添加混响效果或用均衡器的方法提高所述前端脚本的声音效果
后端62用于从所述前端获取所述修正后的前端脚本并合成修正语音。具体的,所述后端62设置于客户端6,本实施例中将前端后端分离,可以缓解客户端的运算和存储压力,使得在手机、电子书等低配置的移动终端设备上合成高质量的语音成为可能,市场现有合成系统分析表明,这种分离方法可以使得合成系统规模减少一半以上。另外,所述后端62还用于将所述前端脚本合成原始语音以供交互校验端61进行校验和修正所述前端脚本。可选的,合成所述修正语音或原始语音的方法包括基于HMM的可训练语音合成方法、基于大语料库的波形拼接语音合成方法或基于HMM的大语料库语音合成方法。
本发明通过对输入文本进行文本分析和语言分析,生成包含相应语音单元的前端脚本,获取和校验所述前端脚本,修正所述前端脚本;以及获取所述修正后的前端脚本并合成修正语音,可以纠正前端脚本的错误如分词错误和多音字注音错误,从而提高合成语音的易理解性和用户的可接受程度,弥补了传统TTS对韵律的预测准确度不足的缺点,提高了合成语音的自然度和表现力
另外,通过将所述前端设于服务器上,将所述交互校验端和后端设于客户端,或者将所述交互校验端设置于服务器上和将所述后端设置于客户端上,实现前端和后端分离,缓解了客户端的运算和存储压力,使得在手机、电子书等低配置的移动终端设备上合成高质量的语音成为可能,市场现有合成系统分析表明,这种分离方法可以使得语音合成系统规模减少一半以上。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。