HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

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

2021-01-28 14:01:08|210|起点商标网
语音合成方法、装置、存储介质及电子设备与流程

本申请涉及计算机技术领域,尤其涉及一种语音合成方法、装置、存储介质及电子设备。



背景技术:

随着互联网的发展,智能语音技术也随之得到了发展,并逐渐应用于导航、语音播报、语音交互等场景中,给用户的生活带来了极大的方便,语音合成是智能语音技术中较重要的处理过程,但在相关技术中,语音合成的效果较差,不能实现对声音的精准合成,进而导致所合成的语音不够真实。



技术实现要素:

本申请实施例提供了一种语音合成方法、装置、存储介质及电子设备,可以解决相关技术中不能精准合成较为真实的语音的问题。所述技术方案如下:

第一方面,本申请实施例提供了一种语音合成方法,所述方法包括:

获取文本数据,并将所述文本数据转换成至少一个音素序列;

基于预训练的语音合成模型对所述至少一个音素序列进行语音合成处理得到所述文本数据对应的梅尔频谱;

基于所述文本数据对应的梅尔频谱得到所述文本数据对应的合成语音。

第二方面,本申请实施例提供了一种语音合成装置,所述语音合成装置包括:

获取模块,用于获取文本数据,并将所述文本数据转换成至少一个音素序列;

第一处理模块,用于基于预训练的语音合成模型对所述至少一个音素序列进行语音合成处理得到所述文本数据对应的梅尔频谱;

第二处理模块,用于基于所述文本数据对应的梅尔频谱得到所述文本数据对应的合成语音。

第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。

第四方面,本申请实施例提供一种电子设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。

本申请一些实施例提供的技术方案带来的有益效果至少包括:

本申请实施例的方案在执行时,服务器获取文本数据,并将文本数据转换成至少一个音素序列,基于预训练的语音合成模型对至少一个音素序列进行语音合成处理得到文本数据对应的梅尔频谱,基于文本数据对应的梅尔频谱得到文本数据对应的合成语音,使服务器能精准地合成较为真实的语音。

附图说明

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

图1是本申请实施例提供的一种系统架构图;

图2是本申请实施例提供的语音合成方法的流程示意图;

图3是本申请实施例提供的语音合成方法的另一流程示意图;

图4是本申请实施例提供的一种语音合成模型结构示意图;

图5是本申请实施例提供的一种装置的结构示意图;

图6是本申请实施例提供的一种装置的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。

图1示出了可以应用本申请实施例的语音合成方法或语音合成装置的示例性系统架构100的示意图。

如图1所示,系统架构100可以包括终端设备101、102、103中的一种或多种,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质,终端设备101、102、103上可以安装有各种通信客户端应用,例如:视频录制应用、视频播放应用、语音交互应用、搜索类应用、及时通信工具、邮箱客户端、社交平台软件等。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、便携式计算机和台式计算机等等。网络104可以包括各种类型的有线通信链路或无线通信链路,例如:有线通信链路包括光纤、双绞线或同轴电缆的,无线通信链路包括蓝牙通信链路、无线保真(wireless-fidelity,wi-fi)通信链路或微波通信链路等。终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为软件时,可以是安装于上述所列举的电子设备中。其可以实现呈多个软件或软件模块(例如:用来提供分布式服务),也可以实现成单个软件或软件模块,在此不作具体限定。当终端设备101、102、103为硬件时,其上还可以安装有显示设备和摄像头,显示设备显示可以是各种能实现显示功能的设备,摄像头用于采集视频流;例如:显示设备可以是阴极射线管显示器(cathoderaytubedisplay,简称cr)、发光二极管显示器(light-emittingdiodedisplay,简称led)、电子墨水屏、液晶显示屏(liquidcrystaldisplay,简称lcd)、等离子显示面板(plasmadisplaypanel,简称pdp)等。用户可以利用终端设备101、102、103上的显示设备,来查看显示的文字、图片、视频等信息。

需要说明的是,本申请实施例提供的语音合成方法通常由服务器105执行,相应的,语音合成装置通常设置于服务器105中。服务器105可以是提供各种服务的服务器,服务器105可以是硬件,也可以是软件。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器105为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块,在此不做具体限定。

本申请中的服务器105可以为提供各种服务的终端设备,如:服务器获取文本数据,并将文本数据转换成至少一个音素序列,基于预训练的语音合成模型对至少一个音素序列进行语音合成处理得到文本数据对应的梅尔频谱,基于文本数据对应的梅尔频谱得到文本数据对应的合成语音。

在此需要说明的是,本申请实施例所提供的语音合成方法可以由终端设备101、102、103中的一个或多个,和/或,服务器105执行,相应地,本申请实施例所提供的语音合成装置一般设置于对应终端设备中,和/或,服务器105中,但本申请不限于此。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

下面将结合附图2至附图3,对本申请实施例提供的语音合成方法进行详细介绍。请参见图2,为本申请实施例提供了一种语音合成方法的流程示意图。如图2所示,本申请实施例的所述方法可以包括以下步骤:

s201,获取文本数据,并将文本数据转换成至少一个音素序列。

其中,文本数据是指以文本形式呈现且包含内容信息的数据,音素序列是指排列成一列的音素元素,文本数据可以是英文单词的文本数据,该文本数据中每一个英文单词都对应有一个音素序列;文本数据也可以是中文词语,该文本数据中的每个词语都对应有一个音素序列。

一般的,用户可向服务器发送包含内容信息的文本数据,服务器在获取文本数据后,会通过查询音素表的方式将该文本数据中的每个单词转换成各自对应的音素序列,便于后续对文本数据对应的至少一个音素序列进行处理。

举例说明:文本数据由中文词语组成,文本数据内容为“今天你吃饭了吗?”,服务器经过查询音素表后,可将该文本数据转换成7个音素序列:{j,i,n}、{t,i,a,n}、{n,i}、{c,h,i}、{f,a,n}、{l,e}、{m,a},文本数据中的每个词语对应一个音素序列。

s202,基于预训练的语音合成模型对至少一个音素序列进行语音合成处理得到文本数据对应的梅尔频谱。

其中,梅尔频谱是指通过梅尔标度来表示的频谱,梅尔频谱包含有声音的特征。

一般的,在服务器得到文本数据对应的至少一个音素序列后,可通过预先训练好的语音合成模型对至少一个音素序列进行语音合成处理,得到与该文本数据对应的梅尔频谱,该梅尔频谱中包含有文本数据对应的声音特征,基于该梅尔频谱可确定与该文本数据对应的语音。

预训练的语音合成模型的训练过程可以包括:

服务器获取样本文本数据和样本语音数据,通过查询音素表将样本文本数据转换成至少一个音素序列,并将至少一个音素序列转换成至少一个音素特征向量,对至少一个音素特征向量进行降维处理得到第一特征向量,基于样本文本数据的文本序列信息对第一特征向量进行位置编码处理得到第二特征向量,文本序列信息用于表示样本文本数据中词的顺序和特征中的至少一种,对第二特征向量进行fft快速傅里叶变换处理得到音素序列向量;对样本文本数据中至少一个音素序列的时长进行概率评估得到至少一个音素序列的发音时长,基于至少一个音素序列的发音时长对音素序列向量进行时长提取处理得到音素对齐向量;基于样本文本数据的文本序列信息对音素对齐向量进行位置编码处理得到第三特征向量,文本序列信息用于表示样本文本数据中词的顺序和特征中的至少一种,对第三特征向量进行fft快速傅里叶变换处理得到第四特征向量,基于线性层对第四特征向量进行处理得到样本文本数据对应的梅尔频谱;计算样本文本数据对应的梅尔频谱与样本语音数据对应的梅尔频谱的损失值,在损失值小于或等于预设阈值时生成预训练的语音合成模型。

s203,基于文本数据对应的梅尔频谱得到文本数据对应的合成语音。

其中,合成语音是指经过精准合成处理得到的语音,合成语音能真实地体现用户的声音特征。

一般的,由于文本数据对应的梅尔频谱中包含有文本数据对应的声音特征,故可基于梅尔频谱中的特征信息,对梅尔频谱进行傅里叶变换处理得到文本数据对应的合成语音,为使最后得到的声音数据能更加真实,可基于预设信噪比计算得到背景噪声数据,并将背景噪声数据添加到合成语音中得到文本数据的语音,使该语音能更真实呈现用户需要的声音特征。

本申请实施例的方案在执行时,服务器获取文本数据,并将文本数据转换成至少一个音素序列,基于预训练的语音合成模型对至少一个音素序列进行语音合成处理得到文本数据对应的梅尔频谱,基于文本数据对应的梅尔频谱得到文本数据对应的合成语音,使服务器能精准地合成较为真实的语音。

请参见图3,为本申请实施例提供了一种语音合成方法的流程示意图,该语音合成方法可以包括以下步骤:

s301,获取文本数据,并将文本数据转换成至少一个音素序列。

其中,文本数据是指以文本形式呈现且包含内容信息的数据,音素序列是指排列成一列的音素元素,文本数据可以是英文单词的文本数据,该文本数据中每一个英文单词都对应有一个音素序列;文本数据也可以是中文词语,该文本数据中的每个词语都对应有一个音素序列。

一般的,用户可向服务器发送包含内容信息的文本数据,服务器在获取文本数据后,会通过查询音素表的方式将该文本数据中的每个单词转换成各自对应的音素序列,便于后续对文本数据对应的至少一个音素序列进行处理。

举例说明:文本数据由中文词语组成,文本数据内容为“今天你吃饭了吗?”,服务器经过查询音素表后,可将该文本数据转换成7个音素序列:{j,i,n}、{t,i,a,n}、{n,i}、{c,h,i}、{f,a,n}、{l,e}、{m,a},文本数据中的每个词语对应一个音素序列。

s302,基于预训练的语音合成模型,将至少一个音素序列转换成至少一个音素特征向量。

其中,音素序列是指排列成一列的音素元素,音素特征向量是指音素序列经过初步转换得到的包含音素序列对应的特征的向量。

一般的,可通过查询音素表的方式获得文本数据对应的音素序列,文本数据中的每个单词/词语均对应有一个音素序列,为后续能对得到的多个音素序列进行处理,需要将得到的多个音素序列转换成音素特征向量的形式,音素特征向量的数量与音素序列的数量相同,每个音素序列均对应有一个音素特征向量。

s303,对至少一个音素特征向量进行降维处理得到第一特征向量。

其中,第一特征向量是音素特征向量在降维后得到的向量,与原始维度的音素特征向量存在维度区别。

s304,基于文本数据的文本序列信息对第一特征向量进行位置编码处理得到第二特征向量。

其中,文本序列信息是文本数据中单词/词语的相关信息,文本序列信息可用于表示文本数据中词的顺序和特征中的至少一种;第二特征向量是第一特征向量经过位置编码处理后得到向量,与第一特征向量区别。

一般的,通过对第一特征向量进行位置编码处理,可将文本数据中的文本序列信息添加到第一特征向量中,并得到能体现时间序列的第二特征向量。

s305,对第二特征向量进行fft快速傅里叶变换处理得到音素序列向量。

其中,音素序列向量是指音素序列经过多次转换后得到的以向量形式表示的向量。

一般的,可基于由fft模块组成的,并包含有attention注意力机制、卷积层的transformer前馈网络对第二特征向量进行fft处理,对第二特征向量中包含的参数进行训练,并提取需要关注的信息后,可得到音素序列向量。

s306,对至少一个音素序列的时长进行概率评估得到至少一个音素序列的发音时长。

其中,发音时长是指音素序列中各个音素发音时长的总和,每个音素序列均对应有一个发音时长,发音时长也即音素序列的时长信息。

s307,基于至少一个音素序列的发音时长对音素序列向量进行时长提取处理得到音素对齐向量。

其中,音素对齐向量是指基于音素序列的发音时长进行音素对齐后得到向量。

一般的,现有的提取音素序列中每个音素的时长信息是通过预训练好的模型进行提取的,效果较差,只实现了句子的对齐,并未实现音素到音素的对齐;在本方案中采用统计模型(经典解码器),对音素序列进行处理实现了对音素的强制对齐,具体包括:对每个单词/词语对应的音素序列进行发音时长的统计,进而对得到的每个音素序列的发音时长进行概率评估,从概率评估结果中选择概率最大的音素序列作为输出结果,由此实现了音素到音素的对齐,进而得到音素对齐的音素对齐向量。

s308,基于文本数据的文本序列信息对音素对齐向量进行位置编码处理得到第三特征向量。

其中,第三特征向量是音素对齐向量经过位置编码处理后得到向量,与第一特征向量、第二特征向量区别。

一般的,通过对音素对齐向量进行位置编码处理,可将文本数据中的文本序列信息添加到音素对齐特征向量中,并得到能体现时间序列的第三特征向量。

s309,对第三特征向量进行fft快速傅里叶变换处理得到第四特征向量。

其中,第四特征向量是第三特征向量经过fft处理后得到向量,与第一特征向量、第二特征向量、第三特征向量区别。

一般的,可基于由fft模块组成的,并包含有attention注意力机制、卷积层的transformer前馈网络对第三特征向量进行fft处理,对第三特征向量中包含的参数进行训练,并提取需要关注的信息后,可得到第四特征向量。

s310,基于线性层对第四特征向量进行处理得到当前的梅尔频谱。

其中,梅尔频谱是指通过梅尔标度来表示的频谱,梅尔频谱包含有声音的特征。

一般的,可基于线性层对第四特征向量进行处理得到文本数据当前对应的梅尔频谱α,并将文本数据当前对应的梅尔频谱α与比较标签(预设梅尔频谱)进行比较计算两者间的损失值,在该损失值达到预设阈值之前,基于上述步骤进行不断的迭代训练,直到在损失值小于或等于预设阈值时,可得到文本数据对应的梅尔频谱,进一步对该梅尔频谱进行处理则可得到文本数据对应的语音。

s311,计算当前的梅尔频谱与预设梅尔频谱的损失值。

其中,损失值是指文本数据当前的梅尔频谱α与比较标签(预设梅尔频谱)不一致程度,在损失值满足预设条件时,则可得到能合成文本数据对应的语音,的梅尔频谱,损失值越小,所得到的梅尔频谱能更真实地体现文本数据对应的语音特征。

s312,在损失值小于或等于预设阈值时,确定当前的梅尔频谱为文本数据对应的梅尔频谱。

其中,预设阈值是指当前的梅尔频谱与预设梅尔频谱间最大的损失值,在损失值小于或等于预先设定的最大损失值时,表明当前的梅尔频谱能真实体现文本数据对应的语音特征。

一般的,通过多次迭代训练,使文本数据当前的梅尔频谱α与比较标签(预设梅尔频谱)间的损失值降到预设阈值或低于预设阈值时,可得到能真实体现文本数据对应的语音特征的梅尔频谱,服务器可基于该梅尔频谱得到与输入的文本数据对应的语音。

举例说明:请参见图4的语音合成模型,主要包括音素嵌入模块、第一位置编码模块、第一fft模块、长度调节模块、第二fft模块、第二位置编码模块、linearlayer线性层,音素嵌入模块、第一位置编码模块和第一fft模块共同组成编码器,第二fft模块、第二位置编码模块和linearlayer线性层共同组成解码器。

(1)服务器获取文本数据a。

(2)对文本数据a进行编码处理:

音素嵌入(phonemeembedding)处理:基于文本数据a(如:“今天你吃饭了吗?”)提取音素序列,每一个词对应一个音素序列(如:“你”、“吃”等各自对应其音素序列),具体过程是:经过查询音素表,将文本数据a转换成多个音素序列(用特征向量x表示),并对特征向量x进行转化(经过矩阵关系运算降维处理),转换成特征向量y;

位置编码(positionalencoding)处理,基于向量计算,把文本数据a的文本序列信息加入到特征向量y中,以体现时间序列,得到特征向量z;

fft处理:fft模块是一种transformer前馈网络,包括attention注意力机制(包括自注意力机制,可关注重要信息)、卷积层(需要训练参数的网络),经过fft模块的处理计算,由特征向量z得到特征向量u。

(3)时长提取(lengthregular)处理:现有方案是使用预训练好的模型,提取音素序列中每个音素的时长信息,但效果并不好(是句子的对齐,并未实现音素到音素的对齐);本方案通过使用统计模型(经典解码器),实现了音素的强制对齐,具体是:通过对每个单词进行发音时长的统计,对每个音素序列的时长进行概率评估,选择概率最大的序列作为输出结果,由此实现了音素到音素的对齐;进一步,基于得到的时长信息,对特征向量u进行运算,得到特征向量v。

(4)解码处理:

位置编码(positionalencoding)处理:基于向量计算,把文本数据a的文本序列信息加入到特征向量v中,以体现时间序列,得到特征向量s;

fft处理:经过fft模块的处理计算,由特征向量s得到特征向量t;

linearlayer线性层处理:特征向量t经过线性层处理可得到特征向量t对应的梅尔频谱α,与预设梅尔频谱β进行比较,即将预设梅尔频谱β作为比较标签,计算loss损失值,根据损失值并基于编码器和解码器不断进行迭代训练,在损失值小于或等于预设阈值时,表明此时可得到能真实体现文本数据对应的语音特征的梅尔频谱。

语音合成模型处理过程中用到的公式为:

(1)字(词)向量与位置编码:

x=embeddinglookup(x)+positionalenocoding;

x∈rbatchsize*seq.len.*embed.dim.

(2)自注意力机制:

q=linear(x)=xwq;

k=linear(x)=xwk;

v=linear(x)=xwv;

xattention=selfattention(q,k,v);

(3)残差连接与layernormalization:

xattention=x+xattention;

xattention=layernorm(xattention);

(4)feedforward,其实是两层线性映射并用激活函数激活:

xhidden=activate(linear(linear(xattention)));

(5)残差连接与layernormalization:

xhidden=xattention+xhidden;

xhidden=layernorm(xhidden);

x∈rbatchsize*seq.len.*embed.dim.

s313,基于文本数据对应的梅尔频谱得到文本数据对应的合成语音。

其中,合成语音是指经过精准合成处理后的语音,合成语音能较真实地体现用户的声音特征。

一般的,由于文本数据对应的梅尔频谱中包含有文本数据对应的声音特征,故可基于梅尔频谱中的特征信息,对梅尔频谱进行傅里叶变换处理得到文本数据对应的合成语音,该合成语音能真实地体现用户需要的声音特征。

s314,基于预设信噪比计算得到背景噪声数据。

其中,信噪比是指电子设备或者电子系统中信号与噪声的比例,预设信噪比是可预先设定的合成语音信号与背景噪声的比例,通过预设的信噪比可得到背景噪声的相关数据。背景噪声数据可以是需要添加的噪声对应的功率信息。

s315,将背景噪声数据添加到合成语音中得到文本数据的语音。

一般的,基于合成语音的功率信息和背景噪声的功率信息,服务器可对合成语音进行添加噪声处理得到具有背景噪声的语音,也即文本数据对应的较为真实的语音,添加背景噪声后的合成语音更加真实自然。

本申请实施例的方案在执行时,服务器获取文本数据,并将文本数据转换成至少一个音素序列,基于预训练的语音合成模型,将至少一个音素序列转换成至少一个音素特征向量,对至少一个音素特征向量进行降维处理得到第一特征向量,基于文本数据的文本序列信息对第一特征向量进行位置编码处理得到第二特征向量,对第二特征向量进行fft快速傅里叶变换处理得到音素序列向量,对至少一个音素序列的时长进行概率评估得到至少一个音素序列的发音时长,基于至少一个音素序列的发音时长对音素序列向量进行时长提取处理得到音素对齐向量,基于文本数据的文本序列信息对音素对齐向量进行位置编码处理得到第三特征向量,对第三特征向量进行fft快速傅里叶变换处理得到第四特征向量,基于线性层对第四特征向量进行处理得到当前的梅尔频谱,计算当前的梅尔频谱与预设梅尔频谱的损失值,在损失值小于或等于预设阈值时,确定当前的梅尔频谱为文本数据对应的梅尔频谱,基于文本数据对应的梅尔频谱得到文本数据对应的合成语音,基于预设信噪比计算得到背景噪声数据,将背景噪声数据添加到合成语音中得到文本数据的语音,使服务器能精准地合成较为真实的语音。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

请参见图5,其示出了本申请一个示例性实施例提供的语音合成装置的结构示意图。以下简称装置5,装置5可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。装置5包括获取模块501、第一处理模块502、第二处理模块503。

获取模块501,用于获取文本数据,并将所述文本数据转换成至少一个音素序列;

第一处理模块502,用于基于预训练的语音合成模型对所述至少一个音素序列进行语音合成处理得到所述文本数据对应的梅尔频谱;

第二处理模块503,用于基于所述文本数据对应的梅尔频谱得到所述文本数据对应的合成语音。

可选地,所述第一处理模块502包括:

第一编码单元,用于基于所述预训练的语音合成模型,对所述至少一个音素序列进行编码处理得到音素序列向量;

第一时长提取单元,用于对所述音素序列向量进行时长提取处理得到音素对齐向量;

解码单元,用于对所述音素对齐向量进行解码处理得到当前的梅尔频谱;

第一计算单元,用于计算所述当前的梅尔频谱与预设梅尔频谱的损失值;

确定单元,用于在所述损失值小于或等于预设阈值时,确定所述当前的梅尔频谱为所述文本数据对应的梅尔频谱。

可选地,所述第一处理模块502包括:

第一处理单元,用于对所述至少一个音素序列进行音素嵌入处理得到第一特征向量;

第二编码单元,用于基于所述文本数据的文本序列信息对所述第一特征向量进行位置编码处理得到第二特征向量;其中,所述文本序列信息用于表示所述文本数据中词的顺序和特征中的至少一种;

第二处理单元,用于对所述第二特征向量进行fft快速傅里叶变换处理得到所述音素序列向量。

可选地,所述第一处理模块502包括:

转换单元,用于将所述至少一个音素序列转换成至少一个音素特征向量;

第三处理单元,用于对所述至少一个音素特征向量进行降维处理得到所述第一特征向量。

可选地,所述第一处理模块502包括:

概率评估单元,用于对所述文本数据中至少一个音素序列的时长进行概率评估得到所述至少一个音素序列的发音时长;

第二时长提取单元,用于基于所述至少一个音素序列的所述发音时长对所述音素序列向量进行时长提取处理得到所述音素对齐向量。

可选地,所述第一处理模块502包括:

第三编码单元,用于基于所述文本数据的文本序列信息对所述音素对齐向量进行位置编码处理得到第三特征向量;其中,所述文本序列信息用于表示所述文本数据中词的顺序和特征中的至少一种;

第四处理单元,用于对所述第三特征向量进行fft快速傅里叶变换处理得到第四特征向量;

第五处理单元,用于基于线性层对所述第四特征向量进行处理得到所述当前的梅尔频谱。

可选地,所述第二处理模块503还包括:

第二计算单元,用于基于预设信噪比计算得到背景噪声数据;

添加单元,用于将所述背景噪声数据添加到所述合成语音中得到所述文本数据的语音。

需要说明的是,上述实施例提供的装置5在执行语音合成方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的语音合成方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。

图6为本申请实施例提供的一种语音合成装置结构示意图,以下简称装置6,装置6可以集成于前述服务器或终端设备中,如图6所示,该装置包括:存储器602、处理器601、输入装置603、输出装置604和通信接口。

存储器602可以是独立的物理单元,与处理器601、输入装置603和输出装置604可以通过总线连接。存储器602、处理器601、输入装置603和输出装置604也可以集成在一起,通过硬件实现等。

存储器602用于存储实现以上方法实施例,或者装置实施例各个模块的程序,处理器601调用该程序,执行以上方法实施例的操作。

输入装置602包括但不限于键盘、鼠标、触摸面板、摄像头和麦克风;输出装置包括但限于显示屏。

通信接口用于收发各种类型的消息,通信接口包括但不限于无线接口或有线接口。

可选地,当上述实施例的分布式任务调度方法中的部分或全部通过软件实现时,装置也可以只包括处理器。用于存储程序的存储器位于装置之外,处理器通过电路/电线与存储器连接,用于读取并执行存储器中存储的程序。

处理器可以是中央处理器(centralprocessingunit,cpu),网络处理器(networkprocessor,np)或者cpu和np的组合。

处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specificintegratedcircuit,asic),可编程逻辑器件(programmablelogicdevice,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(field-programmablegatearray,fpga),通用阵列逻辑(genericarraylogic,gal)或其任意组合。

存储器可以包括易失性存储器(volatilememory),例如存取存储器(random-accessmemory,ram);存储器也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd);存储器还可以包括上述种类的存储器的组合。

其中,处理器601调用存储器602中的程序代码用于执行以下步骤:

获取文本数据,并将所述文本数据转换成至少一个音素序列;

基于预训练的语音合成模型对所述至少一个音素序列进行语音合成处理得到所述文本数据对应的梅尔频谱;

基于所述文本数据对应的梅尔频谱得到所述文本数据对应的合成语音。

在一个或多个实施例中,处理器601还用于:

基于所述预训练的语音合成模型,对所述至少一个音素序列进行编码处理得到音素序列向量;

对所述音素序列向量进行时长提取处理得到音素对齐向量;

对所述音素对齐向量进行解码处理得到当前的梅尔频谱;

计算所述当前的梅尔频谱与预设梅尔频谱的损失值;

在所述损失值小于或等于预设阈值时,确定所述当前的梅尔频谱为所述文本数据对应的梅尔频谱。

在一个或多个实施例中,处理器601还用于:

对所述至少一个音素序列进行音素嵌入处理得到第一特征向量;

基于所述文本数据的文本序列信息对所述第一特征向量进行位置编码处理得到第二特征向量;其中,所述文本序列信息用于表示所述文本数据中词的顺序和特征中的至少一种;

对所述第二特征向量进行fft快速傅里叶变换处理得到所述音素序列向量。

在一个或多个实施例中,处理器601还用于:

将所述至少一个音素序列转换成至少一个音素特征向量;

对所述至少一个音素特征向量进行降维处理得到所述第一特征向量。

在一个或多个实施例中,处理器601还用于:

对所述至少一个音素序列的时长进行概率评估得到所述至少一个音素序列的发音时长;

基于所述至少一个音素序列的所述发音时长对所述音素序列向量进行时长提取处理得到所述音素对齐向量。

在一个或多个实施例中,处理器601还用于:

基于所述文本数据的文本序列信息对所述音素对齐向量进行位置编码处理得到第三特征向量;其中,所述文本序列信息用于表示所述文本数据中词的顺序和特征中的至少一种;

对所述第三特征向量进行fft快速傅里叶变换处理得到第四特征向量;

基于线性层对所述第四特征向量进行处理得到所述当前的梅尔频谱。

在一个或多个实施例中,处理器601还用于:

基于预设信噪比计算得到背景噪声数据;

将所述背景噪声数据添加到所述合成语音中得到所述文本数据的语音。

需要说明的是,上述实施例提供的装置6在执行语音合成方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的语音合成方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图2~图3所示实施例的方法步骤,具体执行过程可以参见图2~图3所示实施例的具体说明,在此不进行赘述。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips