发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种语音合成的方法、装置、计算设备及计算机存储介质。
为解决上述技术问题,本发明实施例采用的一个技术方案是:提供一种语音合成的方法,包括:接收用户输入的文本信息;将所述文本信息拆分为分句;生成所述分句对应的拼音码;将所述拼音码输入预设深度学习模型中,得到相应的梅尔频谱;将所述梅尔频谱转换为对应的语音,以得到合成语音。
其中,所述将所述文本信息拆分为分句包括:识别所述文本信息中的标点符号;根据所述标点符号位置将所述文本信息拆分为分句。
其中,所述生成所述分句对应的拼音码,包括:使用预设分词算法将所述分句拆分为分词;识别所述分词中的多音字、数字及特殊字符;将所述数字及特殊字符按照读音转换为相应的汉字;使用预设语义理解算法确定所述多音字的读音,并按照读音将所述多音字转换为相应发音的其他汉字;将转换之后的分词合成为新的分句;使用预设生成算法将所述新的分句生成对应的拼音码。
其中,所述预设深度学习模型是通过输入文本信息对应的拼音码及所述文本信息对应的语音训练出来的模型。
本发明实施例采用的另一个技术方案是:提供一种语音合成装置,包括:接收模块:用于接收用户输入的文本信息;拆分模块:用于将所述文本信息拆分成分句;生成模块:用于生成所述分句对应的拼音码;合成模块:用于将所述拼音码输入预设深度学习模型中,得到相应的梅尔频谱;将所述梅尔频谱转换为对应的语音,以得到合成语音。
其中,所述拆分模块包括:第一识别单元:用于识别所述文本信息中的标点符号;第一拆分单元:用于根据所述标点符号位置将所述文本信息拆分为分句。
其中,所述生成模块包括:第二拆分单元:用于使用预设分词算法将所述分句拆分为分词;第二识别单元:用于识别所述分词中的多音字、数字及特殊字符;第一转换单元:用于将所述数字及特殊字符按照读音转换为相应的汉字;第二转换单元:用于使用预设语义理解算法确定所述多音字的读音,并按照读音将所述多音字转换为相应发音的其他汉字;合成单元:用于将转换之后的分词合成为新的分句;生成单元:用于使用预设生成算法将所述新的分句生成对应的拼音码。
其中,所述合成模块中所述预设深度学习模型是通过输入文本信息对应的拼音码及所述文本信息对应的语音训练出来的模型。
本发明实施例采用的再一个技术方案是:提供一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行所述的一种语音合成的方法对应的操作。
本发明实施例采用的有一个技术方案是:提供一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行所述的一种语音合成的方法对应的操作。
本发明实施例的有益效果是:区别于现有技术的情况,本发明实施例将文本信息转换为对应的拼音码,并使用深度学习模型得到相应的合成语音,从而精简了所需语料库以及语音录制工作;此外,将多音词使用语义理解算法确定发音,使语音合成更加准确。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施例。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1为本发明一种语音合成的方法实施例的流程图。如图1所示,该方法包括以下步骤:
步骤S101:接收用户输入的文本信息。
在本步骤中,机器人接收用户输入的文本信息,所述文本信息是一段文字。
步骤S102:将所述文本信息拆分为分句。
在本步骤中,通过预设识别算法识别所述文本信息中的标点符号,如逗号、句号,根据所述标点符号所在的位置,将两个标点符号之间的语句定义为一个分句,所述文本信息拆分成若干个分句。
步骤S103:生成所述分句对应的拼音码。
在本步骤中,将所述分句生成对应的拼音,如:“将所述分句生成对应的拼音”,转化成对应的拼音码为“jiang suo shu fen ju sheng cheng dui ying de pin yin”。
步骤S104:将所述拼音码输入预设深度学习模型中,得到相应的梅尔频谱。
在本步骤中,所述预设深度学习模型是通过输入文本信息对应的拼音码及所述文本信息对应的语音训练出来的模型,在进行训练时,获取大量大文本信息及其对应的拼音码,并人为录制所属文本信息对应的语音,将所述文本信息对应的拼音码作为所述深度学习模型的输入,将其对应的梅尔频谱作为输出,设置网络相关参数进行网络训练,得到一个训练好的模型。
步骤S105:将所述梅尔频谱转换为对应的语音,以得到合成语音。
其中,所述梅尔频谱经过声码器转换为对应的语音文件。在进行语音合成时,将拼音码作为训练好的深度学习模型的输入,并将输出的梅尔频谱转换为语音,即可得到对应的合成语音。
本发明实施例通过将文本信息转换为对应的拼音码,并使用深度学习模型得到相应的合成语音,从而精简了所需语料库以及语音录制工作,提高了语音合成的效率。
在一些实施例中,在生成分句对应的拼音码时,可以逐字生成,具体的,如图2所示,包括:
步骤S201:使用预设分词算法将所述分句拆分为分词。
在本步骤中,所述预设分词算法是现有技术中任意一种分词算法,使用所述算法,将所述分句拆分为若干个分词组合。
步骤S202:识别所述分词中的多音字、数字及特殊字符。
在本步骤中,所述特殊字符是指分词中区别于汉字和数字的其他特殊字符,如:ɑ、β。在本发明实施例中,在进行多音字、数字及特殊字符识别时,使用正则表达式区分,识别方法在本发明中不做限定。
步骤S203:将所述数字及特殊字符按照读音转换为相应的汉字。
在本步骤中,将所述数字及特殊字符按照通用读法转换为相应的汉字,如数字“1”,按照其通用读法转化为其对应的汉字“一”;特殊字符“ɑ”,按照其通用读法转化为其对应的汉字“阿尔法”。
步骤S204:使用预设语义理解算法确定所述多音字的读音,并按照读音将所述多音字转换为相应发音的其他汉字。
在本步骤中,所述预设语义理解算法为现有技术中任意一种语义理解算法,在本发明实施例中,将包含多音字的分词应用预设语义理解算法,在多音词库中确定与其对应的多音汉字的读音,如,“睡觉”通过语义理解算法,在多音词库中确定其读音为“jiao”,为了正确得到改词的读音,将“睡觉”一词中的“觉”转变为其他相同读音的汉字,如“叫”。
步骤S205:将转换之后的分词合成为新的分句。
在本步骤中,所述转换之后的分词是将数字、多音字及特殊字符转换为通用汉字之后的词语,将所述转换之后的词语按照原句子中的分词组合顺序合称为新的分句。如,原句为“ɑ粒子是由2个质子和2个中子组成”,将其中的特殊字符“ɑ”按照通用读法转换为汉字“阿尔法”,数字“2”汉字转化为“两”,多音字“和”转化为汉字“禾”,按照原句中分词的组合顺序,组成新的分句为“阿尔法粒子由两个质子禾两个中子组成”。
步骤S206:使用预设生成算法将所述新的分句生成对应的拼音码。
本发明实施例将文本信息中的数字及特殊字符按照通用读音转化为相应的汉字,将文本信息中涉及到的多音词使用语义理解算法确定发音,从而使语音合成更加准确。
图3为本发明一种语音合成装置的功能框图,如图3所示,所述装置包括:接收模块301、拆分模块302、生成模块303及合成模块304。其中,接收模块301,用于接收用户输入的文本信息;拆分模块302,用于将所述文本信息拆分成分句;生成模块303,用于生成所述分句对应的拼音码;合成模块304,用于将所述拼音码输入预设深度学习模型中,得到相应的梅尔频谱;将所述梅尔频谱转换为对应的语音,以得到合成语音。
其中,拆分模块302包括:第一识别单元3021及第一拆分单元3022,其中,第一识别单元3021,用于识别所述文本信息中的标点符号;第一拆分单元3022,用于根据所述标点符号位置将所述文本信息拆分为分句。
其中,所述生成模块303包括:第二拆分单元3031、第二识别单元3032、第一转换单元3033、第二转换单元3034、合成单元3035及生成单元3036。其中,第二拆分单元3031,用于使用预设分词算法将所述分句拆分为分词;第二识别单元3032,用于识别所述分词中的多音字、数字及特殊字符;第一转换单元3033,用于将所述数字及特殊字符按照读音转换为相应的汉字;第二转换单元3034,用于使用预设语义理解算法确定所述多音字的读音,并按照读音将所述多音字转换为相应发音的其他汉字;合成单元3035,用于将转换之后的分词合成为新的分句;生成单元3036,用于使用预设生成算法将所述新的分句生成对应的拼音码。
其中,合成模块304中所述预设深度学习模型是通过输入文本信息对应的拼音码及所述文本信息对应的语音训练出来的模型。
本发明实施例通过生成模块将文本信息生成为对应的拼音码,并使用合成模块得到相应的合成语音,从而精简了所需语料库以及语音录制工作;此外,将多音字、数字及特殊字符使用语义理解算法确定发音,使语音合成更加准确。
本申请实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的一种语音合成的方法。
图4为本发明计算设备实施例的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图4所示,该计算设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:
处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器402,用于执行程序410,具体可以执行上述一种语音合成的方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以用于使得处理器402执行以下操作:
接收用户输入的文本信息;
将所述文本信息拆分为分句;
生成所述分句对应的拼音码;
将所述拼音码输入预设深度学习模型中,得到相应的梅尔频谱;将所述梅尔频谱转换为对应的语音,以得到合成语音。
在一种可选的方式中,程序410具体可以进一步用于使得处理器402执行以下操作:
识别所述文本信息中的标点符号;
根据所述标点符号位置将所述文本信息拆分为分句。
在一种可选的方式中,程序410具体可以进一步用于使得处理器402执行以下操作:
使用预设分词算法将所述分句拆分为分词;
识别所述分词中的多音字、数字及特殊字符;
将所述数字及特殊字符按照读音转换为相应的汉字;
使用预设语义理解算法确定所述多音字的读音,并按照读音将所述多音字转换为相应发音的其他汉字;
将转换之后的分词合成为新的分句;
使用预设生成算法将所述新的分句生成对应的拼音码。
在一种可选的方式中,所述预设深度学习模型是通过输入文本信息对应的拼音码及所述文本信息对应的语音训练出来的模型。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施例。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施例的权利要求书由此明确地并入该具体实施例,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种语音合成装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。