一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

语音合成方法、装置、设备及存储介质与流程

2021-08-31 17:44:00 来源:中国专利 TAG:语音合成 装置 方法 设备 存储介质
语音合成方法、装置、设备及存储介质与流程

本发明涉及语音合成技术领域,尤其涉及一种语音合成方法、装置、设备及存储介质。



背景技术:

语音合成,又称文语转换(texttospeech)技术,通过将任意文字信息实时转化为语音,其在语音交互、实时新闻语音播报、语音翻译等语音合成应用场景具有很好的应用前景。目前,常规的语音合成方法是:先储存每个音素的波形,然后先把文字转成音素,再查找音素对应的波形,通过预设的规则拼接波形,输出语音。但是通过波形拼接方法合成语音效果不够自然,与真人语音有较大的差距。



技术实现要素:

针对上述问题,本发明的目的在于提供一种语音合成方法、装置、设备及存储介质,其能有效提高语音合成的效果,使得合成的音频更加自然、真实。

第一方面,本发明实施例提供了一种语音合成方法,包括:

将待处理的文本数据的每个字转成相应的音素;

根据预先构建的音素与数值映射字典,将所述文本数据的每个音素转成相应的音素数值;

根据所述音素数值,通过预先训练的声学模型,获得所述文本数据对应的梅尔频谱;其中,所述声学模型根据音素向量与音素数值映射基于神经网络模型训练得到;

将所述梅尔频谱输入到声码器中以将所述梅尔频谱转换成音频。

作为上述方案的改进,所述方法还包括以下所述声学模型训练步骤:

将预先采集的文本样本的每个字转成相应的音素;

根据所述音素与数值映射字典,将所述文本样本的每个音素转换成音素数值;

获取所述文本样本的每个音素的音频特征;

根据所述文本样本的每个音素的音频特征,得到所述文本样本的音素向量;

以所述文本样本的音素向量和音素数值为训练集,对神经网络模型进行训练,得到所述声学模型。

作为上述方案的改进,所述将待处理的文本数据的每个字转成相应的音素,包括:

将所述文本数据的每个字转成拼音;

根据预先构建的拼音与音素字典文件,将每个拼音映射成音素。

作为上述方案的改进,所述获取所述文本样本的每个音素的音频特征,包括:

对预存的音频数据进行归一化处理;

获取所述音频数据对应的文本样本中每个字对应的拼音;

根据归一化后的音频数据、所述文本样本对应的拼音及预先构建的拼音与音素字典文件,通过预先预先训练好的对齐模型,获得音频与音素的对齐结果;

根据所述对齐结果,读取所述文本样本中每个音素的音频范围;

根据每个音素的音频范围切分出每个音素在所述文本样本中音频特征。

作为上述方案的改进,所述根据所述对齐结果,读取所述文本样本中每个音素的音频范围,包括:

读取所述对齐结果对应的textgrid文件,并根据所述textgrid文件,获取所述文本样本中每个音素的起始时间和终止时间;

将任一音素的起始时间至终止时间对应范围,作为任一音素对应的音频范围。

作为上述方案的改进,所述根据所述文本样本的每个音素的音频特征,得到所述文本样本的音素向量,包括:

获取属于第i种音素的所有音频特征,并计算第i种音素的所有音频特征中的最大音频长度;

根据所述最大音频长度,对第i种音素的所有音频特征进行插值处理;其中,插值后的音频特征的长度等于所述最大音频长度;

根据每个音素插值后的音频特征,得到音素向量。

作为上述方案的改进,所述根据每个音素插值后的音频特征,得到音素向量,包括:

将每个音素插值后的音频特征转换为梅尔频谱;

计算每个音素对应的梅尔频谱的帧数量,作为对应音素的时长值;

根据属于第i种音素的所有时长值,计算第i种音素的时长平均值;

根据各种音素的时长平均值构建一维矩阵,作为音素向量。

第二方面,本发明实施例提供了一种语音合成装置,包括:

音素转换模块,用于将待处理的文本数据的每个字转成相应的音素;

数值转换模块,用于根据预先构建的音素与数值映射字典,将所述文本数据的每个音素转成相应的音素数值;

频谱获取模块,用于根据所述音素数值,通过预先训练的声学模型,获得所述文本数据对应的梅尔频谱;其中,所述声学模型根据音素向量与音素数值映射基于神经网络模型训练得到;

音频转换模块,用于将所述梅尔频谱输入到声码器中以将所述梅尔频谱转换成音频。

第三方面,本发明实施例提供了一种语音合成设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面中任意一项所述的语音合成方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如第一方面任一项所述的语音合成方法。

相对于现有技术,本发明实施例的有有益效果在于:通过将待处理的文本数据的每个字转成相应的音素;根据预先构建的音素与数值映射字典,将所述文本数据的每个音素转成相应的音素数值;根据所述音素数值,通过预先训练的声学模型,获得所述文本数据对应的梅尔频谱;其中,所述声学模型根据音素向量与音素数值映射基于神经网络模型训练得到;将所述梅尔频谱输入到声码器中以将所述梅尔频谱转换成音频。本发明通过先将文字转成音频特征,然后将音频特征转成音素向量,并基于嵌入了音素向量与音素数值映射的声学模型,推理梅尔频谱,最终通过声码器将所述梅尔频谱转换成音频,能有效提高语音合成的效果,使得合成的音频更加自然、真实,同时能提高语音合成的推理速度。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明第一实施例提供的一种语音合成方法的流程图;

图2是本发明第二实施例提供的一种语音合成装置的示意图;

图3是本发明第三实施例提供的一种语音合成设备的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,本发明实施例提供的一种语音合成方法,包括:

s1:将待处理的文本数据的每个字转成相应的音素;

s2:根据预先构建的音素与数值映射字典,将所述文本数据的每个音素转成相应的音素数值;

s3:根据所述音素数值,通过预先训练的声学模型,获得所述文本数据对应的梅尔频谱;其中,所述声学模型根据音素向量与音素数值映射基于神经网络模型训练得到;

s4:将所述梅尔频谱输入到声码器中以将所述梅尔频谱转换成音频。

本发明通过先将文字转成音频特征,然后将音频特征转成音素向量,并基于嵌入了音素向量与音素数值映射的声学模型,推理梅尔频谱,最终通过声码器将所述梅尔频谱转换成音频,可以保证合成语音的准确度,能有效提高语音合成的效果,使得合成的音频更加自然、真实,同时能提高语音合成的推理速度。

在一种可选的实施例中,所述将待处理的文本数据的每个字转成相应的音素,包括:

将所述文本数据的每个字转成拼音;

根据预先构建的拼音与音素字典文件,将每个拼音映射成音素。

示例性的,可通过pypinyin工具或是预训练好的拼音预测模型输出所述文本数据中每个字对应的拼音。

在一种可选的实施例中,所述方法还包括以下所述声学模型训练步骤:

s11:将预先采集的文本样本的每个字转成相应的音素;

s12:根据所述音素与数值映射字典,将所述文本样本的每个音素转换成音素数值;

进一步的,所述根据所述音素与数值映射字典,将所述文本样本的每个音素转换成音素数值,包括:

将所述文本样本的每个字转成拼音;

根据预先构建的拼音与音素字典文件,将每个拼音映射成音素;

根据所述音素与数值映射,将每个拼音对应的音素转成音素数值。

s13:获取所述文本样本的每个音素的音频特征;

s14:根据所述文本样本的每个音素的音频特征,得到所述文本样本的音素向量;

s15:以所述文本样本的音素向量和音素数值为训练集,对神经网络模型进行训练,得到所述声学模型。

示例性的,对初始化后的神经网络模型,将所述文本样本的音素向量及其音素数值以映射的方式复制到神经网络模型的的嵌入层的向量映射中,其中,所述神经网络模型可以是tacotron,deepvoice等模型,也可以非自回归模型。然后通过将所述文本样本的音素数值输入到所述神经网络模型中进行训练,得到所述文本样本的梅尔频谱;所述神经网络模型的工作原理如下:

所述神经网络模型的嵌入层将输入的音素数值转换成音素向量;

将音素向量输入到所述神经网络模型的一个子网络(如一层全连接神经网络),得到一个整数值d(可以理解为时长值),把音素向量根据对应的时长值d复制和扩展成d份,然后把扩展后的音素向量进行拼接。

把拼接后的音素向量输入到所述神经网络模型的一个子网络,输出变换后的梅尔频谱。

基于大量的文本样本重复上述模型训练过程,直到根据神经网络模型的输出和损失函数,使得神经网络模型的精度达到需求。

在本发明实施例中,基于音素向量和音素数值的映射来初始化神经网络参数,相比于现有的随机初始化神经网络参数,训练神经网路时收敛所需的训练步数更少,可有效提升模型训练速度。所述神经网络模型中子网络采用一层卷积神经网络,相比其他主流声学模型参数量大大减少,从而减少了所需计算量,进一步的提高了训练速度和推理速度,减少了语音合成系统的参数量和占用空间。

在一种可选的实施例中,所述获取所述文本样本的每个音素的音频特征,包括:

s21:对预存的音频数据进行归一化处理;

示例性的,可通过对所述音频数据进行线性变换以实现归一化,例如:统计所有音频数据的最大值和最低值;根据最大值和最小值将所有音频数据进行归一化。

s22:获取所述音频数据对应的文本样本中每个字对应的拼音;

示例性的,可通过pypinyin工具或是预训练好的拼音预测模型输出所述文本样本中每个字对应的拼音。

s23:根据归一化后的音频数据、所述文本样本对应的拼音及预先构建的拼音与音素字典文件,通过预先预先训练好的对齐模型,获得音频与音素的对齐结果;

示例性的,所述对齐模型可参见montrealforcedalignment工具。

s24:根据所述对齐结果,读取所述文本样本中每个音素的音频范围;

s25:根据每个音素的音频范围切分出每个音素在所述文本样本中音频特征。

示例性的,读取出所述对齐结果的音频数据,获得数组。根据每个音素的起始时间和终止时间获得对应时间范围的数组数列,储存为对应音素的音频特征。

在本发明实施例中,通过进行音频-音素对齐处理,使得所述文本样本中每一个句子与对应的音频数据对齐,同时标准了每个音素对应的音频的起始时间点,并以textgrid文件的形式记录下来。通过音频-音素对齐能准确定位出文本样本中每个音素的音频范围,提高语音合成的准确性,

在一种可选的实施例中,所述根据所述对齐结果,读取所述文本样本中每个音素的音频范围,包括:

读取所述对齐结果对应的textgrid文件,并根据所述textgrid文件,获取所述文本样本中每个音素的起始时间和终止时间;

将任一音素的起始时间至终止时间对应范围,作为任一音素对应的音频范围。

在一种可选的实施例中,所述根据预先构建的音素与数值映射字典,将所述文本数据的每个音素转成相应的音素数值,包括:

获取属于第i种音素的所有音频特征,并计算第i种音素的所有音频特征中的最大音频长度;

根据所述最大音频长度,对第i种音素的所有音频特征进行插值处理;其中,插值后的音频特征的长度等于所述最大音频长度;

根据每个音素插值后的音频特征,得到音素向量。

在本发明实施例中,对于属于同一种音素的音频特征进行如下处理:

计算属于同一种音素的所述音频特征的最大音频长度;

对每个音频特征进行插值处理,保证属于同一种音素的所有音频特征的长度等于最大音频长度,从而使得每个音素对应一个时长值;

在一种可选的实施例中,所述根据每个音素插值后的音频特征,得到音素向量,包括:

将每个音素插值后的音频特征转换为梅尔频谱;

计算每个音素对应的梅尔频谱的帧数量,作为对应音素的时长值;

根据属于第i种音素的所有时长值,计算第i种音素的时长平均值;

根据各种音素的时长平均值构建一维矩阵,作为音素向量。

在其他实施例中,还可以基于插值后的音频特征对应梅尔频谱、音素的时长值计算最大值、最小值、方差和偏斜度等统计数值,并结合所述时长平均值,生成一维矩阵,作为音素向量。

在本发明实施例中,通过将文本样本预处理成音素向量、音素数值,并基于声学模型进行梅尔频谱的推理,可以有效提升推理速度。

请参阅图2,本发明第二实施例提供了一种语音合成装置,包括:

音素转换模块1,用于将待处理的文本数据的每个字转成相应的音素;

数值转换模块2,用于根据预先构建的音素与数值映射字典,将所述文本数据的每个音素转成相应的音素数值;

频谱获取模块3,用于根据所述音素数值,通过预先训练的声学模型,获得所述文本数据对应的梅尔频谱;其中,所述声学模型根据音素向量与音素数值映射基于神经网络模型训练得到;

音频转换模块4,用于将所述梅尔频谱输入到声码器中以将所述梅尔频谱转换成音频。

在一种可选的实施例中,所述装置还包括模型训练模块,所述模型训练模块包括:

音素获取单元,用于将预先采集的文本样本的每个字转成相应的音素;

数值获取单元,用于根据所述音素与数值映射字典,将所述文本样本的每个音素转换成音素数值;

音频特征获取单元,用于获取所述文本样本的每个音素的音频特征;

音素向量获取单元,用于根据所述文本样本的每个音素的音频特征,得到所述文本样本的音素向量;

神经网络训练单元,用于以所述文本样本的音素向量和音素数值为训练集,对神经网络模型进行训练,得到所述声学模型。

在一种可选的实施例中,所述音素转换模块1包括:

拼音转换单元,用于将所述文本数据的每个字转成拼音;

音素映射单元,用于根据预先构建的拼音与音素字典文件,将每个拼音映射成音素。

在一种可选的实施例中,所述音频特征获取单元,包括:

归一化子单元,用于对预存的音频数据进行归一化处理;

拼音获取子单元,用于获取所述音频数据对应的文本样本中每个字对应的拼音;

对齐子单元,用于根据归一化后的音频数据、所述文本样本对应的拼音及预先构建的拼音与音素字典文件,通过预先预先训练好的对齐模型,获得音频与音素的对齐结果;

音频范围读取子单元,用于根据所述对齐结果,读取所述文本样本中每个音素的音频范围;

音频特征切分子单元,用于根据每个音素的音频范围切分出每个音素在所述文本样本中音频特征。

在一种可选的实施例中,所述音频范围读取子单元,用于

读取所述对齐结果对应的textgrid文件,并根据所述textgrid文件,获取所述文本样本中每个音素的起始时间和终止时间;

将任一音素的起始时间至终止时间对应范围,作为任一音素对应的音频范围。

在一种可选的实施例中,所述音素向量获取单元包括:

最大音频长度计算子单元,用于获取属于第i种音素的所有音频特征,并计算第i种音素的所有音频特征中的最大音频长度;

插值子单元,用于根据所述最大音频长度,对第i种音素的所有音频特征进行插值处理;其中,插值后的音频特征的长度等于所述最大音频长度;

音素向量生成子单元,用于根据每个音素插值后的音频特征,得到音素向量。

在一种可选的实施例中,所述音素向量生成子单元,用于

将每个音素插值后的音频特征转换为梅尔频谱;

计算每个音素对应的梅尔频谱的帧数量,作为对应音素的时长值;

根据属于第i种音素的所有时长值,计算第i种音素的时长平均值;

根据各种音素的时长平均值构建一维矩阵,作为音素向量。

本发明实施例所提供的一种语音合成装置能够实现上述语音合成方法的所有流程,装置中的各个模块、单元的作用以及实现的技术效果分别与上述实施例所述的语音合成方法的作用以及实现的技术效果对应相同,这里不再赘述。

参见图3,是本发明第三实施例提供的一种语音合成设备的示意图。如图3所示,该语音合成设备包括:至少一个处理器11,例如cpu,至少一个网络接口14或者其他用户接口13,存储器15,至少一个通信总线12,通信总线12用于实现这些组件之间的连接通信。其中,用户接口13可选的可以包括usb接口以及其他标准接口、有线接口。网络接口14可选的可以包括wi-fi接口以及其他无线接口。存储器15可能包含高速ram存储器,也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器15可选的可以包含至少一个位于远离前述处理器11的存储装置。

在一些实施方式中,存储器15存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:

操作系统151,包含各种系统程序,用于实现各种基础业务以及处理基于硬件的任务;

程序152。

具体地,处理器11用于调用存储器15中存储的程序152,执行上述实施例所述的语音合成方法,例如图1所示的步骤s1。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如音素转换模块。

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述语音合成设备中的执行过程。

所述语音合成设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述语音合成设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述示意图仅仅是语音合成设备的示例,并不构成对语音合成设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。

所称处理器11可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器11是所述语音合成设备的控制中心,利用各种接口和线路连接整个语音合成设备的各个部分。

所述存储器15可用于存储所述计算机程序和/或模块,所述处理器11通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述语音合成设备的各种功能。所述存储器15可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器15可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

其中,所述语音合成设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

本发明第四实施例还提供了一种计算机可读存储介质。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。如果在软件中实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或者在计算机可读介质上传输。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。

作为一种可选的实施例,计算机可读介质可以包括ram,rom,eeprom,cd-rom或其它光盘存储器,磁盘存储器或其它磁存储设备,或目标于承载的任何其它介质或以指令或数据结构的形式存储所需的程序代码,并且可由计算机访问。而且,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,数字用户线(dsl)或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,dsl或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘(cd),激光盘,光盘,数字通用光盘(dvd),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。

需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜