控制语音合成发音的方法及装置与流程
本发明涉及语音处理技术领域,特别是一种控制语音合成发音的方法及装置。
背景技术:
语音合成是一种将文本信息转换为语音信息的技术,即将文字信息转换为任意的可听的语音。涉及到声学、语言学、计算机科学等多门学科,目前主要以tacotron为代表的端到端(end-to-end)的建模方法为主流。
在使用端到端的语音合成技术时,前端处理至关重要,需要充分利用文本中的语言学信息,以获得高质量的语音合成结果。然而,在端到端的语音合成过程中,多音字的发音错误一直是一个问题,此外,如何让用户根据自己的发音习惯来控制语音合成也在语音合成系统的考虑之中。因此,对于中文语音合成系统,通过构建发音字典进行文本替换,让用户通过自己输入拼音来实现了对多音字错误的纠正以及对用户发音习惯的适应。
技术实现要素:
为解决现有技术中存在的问题,本发明的目的是提供一种控制语音合成发音的方法及装置,本发明解决了语音合成系统多音字发音错误以及用户口音自适应的问题。
为实现上述目的,本发明采用的技术方案是:一种控制语音合成发音的方法,包括以下步骤:
s1、创建发音字典;
s2、对待合成文本进行规则化处理、韵律分析并转换为拼音标记;
s3、读取发音字典并对拼音标记进行替换处理,并将拼音标记转换为音素;
s4、使用语音合成模型将音素转换为声学特征;
s5、使用声码器将声学特征转化为音频。
作为一种优选的实施方式,所述步骤s1具体如下:
发音字典的key值为中文词语,value值为拼音,用户输入之前,发音字典初始化为空;用户输入时,对输入的key值、value值进行检查,保证为合法输入;若发音字典中key值不存在,则将用户输入的key值、value值加入到发音字典;若key值存在于发音字典,则对该key值对应的value值进行更新;且发音字典支持用户的查看以及修改删除。
作为另一种优选的实施方式,所述步骤s2具体如下:
对待合成文本进行规则化处理,筛选出非法字符,对合法输入进行分词、词性标注,并将提取的综合语言学特征输入到韵律预测模型,获得停顿级别标注,将中文汉字转换为拼音标记。
作为另一种优选的实施方式,所述步骤s3具体如下:
读取发音字典时,若发音字典为空,则不做处理;若发音字典不为空,则读取发音字典,通过发音字典的key值对待合成文本进行词语检测,若待合成文本中含有该key值,则用该key值对应的value值替换步骤s2中对应待合成文本在该key值上的拼音标记,其余的保持不变。
作为另一种优选的实施方式,所述步骤s4中,所述的语音合成模型为tacotron或tacotron2或transformertts。
作为另一种优选的实施方式,所述步骤s5中,所述声码器的模型采用的网络结构为wavnet或wavrnn或melgan。
作为另一种优选的实施方式,在步骤s4和步骤s5中,所述声学特征为梅尔频谱特征或线性频谱特征或频谱包络相关的其他声学特征。
为了解决语音合成系统中多音字发音错误以及用户口音自适应的问题,本发明还提供一种控制语音合成发音的装置,包括:
发音字典构建模块,用于保存以及读取用户输入的中文词语及其发音;
文本处理模块,用于对待合成文本进行规则化处理、韵律分析,并转换为拼音标记;
替换处理模块,用于读取发音字典并对拼音标记进行替换处理,并将拼音标记转换为音素;
合成模块,用于将输入的经处理的待合成文本转换为声学特征;
声码器模块,用于将输入的声学特征转换为音频。
本发明的有益效果是:
本发明通过用户在使用过程中自定义的发音字典来对语音合成过程中汉语词语的拼音进行替换,使得合成的语音满足用户发音习惯,同时也可以纠正多音字错误的问题。
附图说明
图1为本发明实施例的流程框图;
图2为本发明实施例中发音字典创建方式的示意图;
图3为本发明实施例中发音替换处理方式的示意图。
具体实施方式
下面结合附图对本发明的实施例进行详细说明。
实施例
如图1所示,一种控制语音合成发音的方法,包括以下步骤:
s1、创建发音字典:
发音字典创建方式如图2所示,发音字典的key值为中文词语,value值为拼音,用户输入之前,发音字典初始化为空;用户输入时,对输入的key值、value值进行检查,保证为合法输入;若发音字典中key值不存在,则将用户输入的key值、value值加入到发音字典;若key值存在于发音字典,则对该key值对应的value值进行更新;发音字典支持用户的查看以及修改删除。
举例说明,首先将发音字典初始化为{},用户使用时,由于输入的待合成文本为“九芝堂阿胶补血颗粒”,该语音合成系统对“阿胶”错误发音(拼音表示为a1jiao1,后面的数字为拼音的声调,正确发音应为e1jiao1),于是用户输入:“阿胶|e1jiao1”(本实施例采取“|”符号进行分割)。若发音字典中无“阿胶”这个的key值,则发音字典新增{“阿胶”:“e1jiao1”},若发音字典含有“阿胶”这个key值,则将key值对应的value值替换为“e1jiao1”。
s2、对待合成文本进行规则化处理、韵律分析并转换为拼音标记:
对待合成文本进行规则化处理,筛选出非法字符,对合法输入进行分词、词性标注等,并将提取的综合语言学特征输入到韵律预测模型,获得停顿级别标注;将中文汉字转换为拼音标记。
举例说明,“九芝堂阿胶补血颗粒,售价180元一盒。”,在本例中首先筛选出“,”、“。”等非法字符,其中的阿拉伯数字“180”根据情况转换为对应发音汉字,然后将合法的待合成文本输入韵律预测模型,得到停顿级别标注,再把汉字转换为拼音标记,即['jiu3','zhi1','tang2','#2','e1','jiao1','#1','bu3','xue4','#2','ke1','li4','#1','shou4','jia4','#2','yi1','bai3','ba1','shi2','yuan2','#1','yi1','he2','#4'],其中“#”为停顿标注。
s3、读取发音字典并对拼音标记进行替换处理,并将拼音标记转换为音素:
发音字典的替换处理方式如图3所示,若发音字典为空,则不做处理,直接进入后面处理步骤;若发音字典不为空,则读取发音字典,通过发音字典的key值对待合成文本进行词语检测,若待合成文本中含有该key值,则用该key值对应的value值替换步骤s2中对应待合成文本在该key值上的拼音标记;其余的保持不变。
具体的,假设用户输入待合成文本为“九芝堂阿胶补血颗粒,售价180元一盒。”,若用户从未输入过词语及拼音,则发音字典为空,直接进入后面的处理及合成步骤,得到音频;若用户根据自己的习惯,希望“补血|bu3xue4”的发音为“补血|bu3xie3”,于是用户输入“补血|bu3xie3”,此时发音字典为{“补血”:“bu3xie3”},于是通过发音字典的key值对待合成文本进行检测,发现待合成文本含有该key值“补血”,于是用该key值对应的value值“bu3xie3”替换“bu3xue4”,得到['jiu3','zhi1','tang2','#2','e1','jiao1','#1','bu3','xie3','#2','ke1','li4','#1','shou4','jia4','#2','yi1','bai3','ba1','shi2','yuan2','#1','yi1','he2','#4']。然后再将拼音标注转换为音素标注,即得到“jiou3zhiii1tang2#2e1jiao1#1bu3xie3#2ke1li4#1shou4jia4#2i1bai3ba1shiii2van2#1i1he2#4”,作为语音合成模型的前端输入。
s4、使用语音合成模型将处理结果转换为声学特征:
为了合成声学特征,语音合成模型包括但不限于目前的tacotron或tacotron2或transformertts。可选的,为了提取声学特征,所述声学特征包括但不限于梅尔频谱特征或线性频谱特征或频谱包络相关的其他声学特征。
s5、使用声码器将声学特征转化为音频:
为了将声学特征转换为音频,声码器的模型采用的网络结构包括但不限于wavnet、wavrnn、melgan。可选的,为了提取声学特征,所述声学特征包括但不限于梅尔频谱特征或线性频谱特征或频谱包络相关的其他声学特征。
通过上述的一种控制语音合成发音的方法,使用用户自定义发音字典来对语音合成文本进行替换,使得合成的语音满足用户发音习惯,同时也可以纠正多音字错误的问题。
本实施例还提供一种控制语音合成发音的装置,包括:
发音字典构建模块,用于保存以及读取用户输入的中文词语及其发音;
发音字典的key值为中文词语,value值为拼音;用户输入之前,发音字典初始化为空;用户输入时,对输入的key值、value值进行检查,保证为合法输入;若发音字典中key值不存在,将用户输入的key值、value值加入到发音字典;若key值存在于发音字典,则对该key值对应的value值进行更新;发音字典支持用户的查看以及修改删除。
文本处理模块,用于对待合成文本进行规则化处理、韵律分析,并转换为拼音标记;
对待合成文本进行规则化处理,筛选出非法字符,对合法输入进行分词、词性标注等,并将提取的综合语言学特征输入到韵律预测模型,获得停顿级别标注;将中文汉字转换为拼音标记。
替换处理模块,用于读取发音字典并对拼音标记进行替换处理,并将拼音标记转换为音素;
发音字典的key值为中文词语,value值为其对应的拼音,在没有用户输入时为一个空字典;在用户使用过程中,首先对用户输入的词语及拼音进行检查,保证为合法输入;若key值不存在,则将用户新输入的中文词语作为key值、输入的拼音作为value值保存在字典中,若key值已存在,则对已有的key值用新输入的拼音对其value值进行更新;发音字典支持用户查看已有的key值及value值,并且支持用户对其进行修改和删除。
合成模块,用于将输入的经处理的待合成文本转换为声学特征;
为了合成声学特征,语音合成模型包括但不限于目前的tacotron或tacotron2或transformertts。可选的,为了提取声学特征,所述声学特征包括但不限于梅尔频谱特征或线性频谱特征或频谱包络相关的其他声学特征。
声码器模块,用于将输入的声学特征转换为音频。
为了将声学特征转换为音频,声码器模型采用的网络结构包括但不限于wavnet、wavrnn、melgan。可选的,为了提取声学特征,所述声学特征包括但不限于梅尔频谱特征或线性频谱特征或频谱包络相关的其他声学特征。
通过上述的一种控制语音合成发音的装置,使用用户自定义发音字典来对语音合成文本进行替换,使得合成的语音满足用户发音习惯,同时也可以纠正多音字错误的问题。
以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除