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

语音合成方法、可读存储介质及计算机程序产品与流程

2021-10-20 00:35:00 来源:中国专利 TAG:可读 实施 计算机 程序 方法


1.本发明实施例涉及语音合成方法、可读存储介质及计算机程序产品。


背景技术:

2.随着深度学习技术近几年的快速发展,语音相关技术也取得了长足进步。语音合成领域也涌现出很多新的算法,使得高音质语音合成落地应用成为可能。智能音箱、导航播报、智能客服等均在使用语音合成技术。
3.完整的语音合成系统核心包括声学模型和声码器,合成过程为:将文本序列经过声学模型生成声学特征,然后将声学特征输入声码器得到最终的语音。
4.现有的声学模型和声码器都为并行进行语音合成,因此,语音合成的延迟严重依赖于文本长度,当文本较长时,语音延迟较大,且并行处理期间占用的cpu和内存资源较高。


技术实现要素:

5.本发明实施例提出语音合成方法、可读存储介质及计算机程序产品,以减少语音合成的延迟。
6.本发明实施例的技术方案是这样实现的:
7.一种语音合成方法,该方法包括:
8.将文本转换为音素向量序列;
9.从所述音素向量序列中提取上下文特征向量序列;
10.将所述上下文特征向量序列中的每个向量依次输入到长短期记忆模型,依次得到为每个向量预测的频谱;
11.在所述长短期记忆模型输出的频谱上依次设置预设第一帧长的采样窗,每次向声码器输入一个采样窗内的帧,依次得到每个采样窗对应的音频。
12.所述在所述长短期记忆模型输出的频谱上依次设置预设第一帧长的采样窗,包括:
13.在所述lstm模型输出的频谱上依次设置预设第一帧长的采样窗,且相邻两个采样窗重叠预设第二帧长,第二帧长<第一帧长。
14.所述依次得到每个采样窗对应的音频之后,进一步包括:
15.在声码器输出的音频中,查找到当前采样窗与后一采样窗重叠的帧对应的音频,将查找到的音频移除。
16.所述将文本转换为音素向量序列,包括:
17.根据音素字典,将文本转换为音素序列;
18.将所述音素序列输入到音素嵌入模型,得到音素向量序列。
19.所述从所述音素向量序列中提取上下文特征向量序列,包括:
20.将所述音素向量序列输入到前馈转换器模型,得到从所述音素向量序列中提取的上下文特征向量序列;
21.将所述上下文特征向量序列输入到时长预测模型,得到每个音素的预测时长,根据每个音素的预测时长分别对对应音素进行长度扩充,得到经过时长调节后的上下文特征向量序列。
22.所述声码器为:多波段梅尔生成式对抗网络声码器。
23.所述频谱为梅尔频谱。
24.一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如上任一项所述的语音合成方法的步骤。
25.一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现如上任一项所述的语音合成方法的步骤。
26.本发明实施例中,在预测频谱时,是将上下文特征向量序列中的每个向量依次输入到长短期记忆模型中,依次得到为每个向量预测的频谱,在进行声码器处理时,是在长短期记忆模型输出的频谱上依次设置预设第一帧长的采样窗,每次向声码器输入一个采样窗内的帧,依次得到每个采样窗对应的音频,从而通过采用流式的预测频谱和声码器处理,减少了语音合成的延迟。
附图说明
27.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
28.图1为本发明一实施例提供的语音合成方法流程图;
29.图2为本发明另一实施例提供的语音合成方法流程图;
30.图3为本发明一实施例提供的语音合成装置的结构示意图;
31.图4为本发明实施例提供的一种电子设备的示例性结构示意图。
具体实施方式
32.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
33.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
34.下面以具体实施例对本发明的技术方案进行详细说明。下面几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
35.本发明实施例提出一种语音合成方法,该方法中,将文本转换为音素向量序列;从所述音素向量序列中提取上下文特征向量序列;将所述上下文特征向量序列中的每个向量依次输入到lstm(long short

term memory,长短期记忆)模型,依次得到为每个向量预测的频谱;在lstm模型输出的频谱上依次设置预设第一帧长的采样窗,每次向声码器输入一个采样窗内的帧,依次得到每个采样窗对应的音频。本发明实施例中,在预测频谱时,是将上下文特征向量序列中的每个向量依次输入到lstm模型中,依次得到为每个向量预测的频谱,在进行声码器处理时,是在lstm模型输出的频谱上依次设置预设第一帧长的采样窗,每次向声码器输入一个采样窗内的帧,依次得到每个采样窗对应的音频,从而通过采用流式的预测频谱和声码器处理,减少了语音合成的延迟。
36.图1为本发明一实施例提供的语音合成方法流程图,其具体步骤如下:
37.步骤101:将文本转换为音素向量序列。
38.本步骤具体包括:根据音素字典,将文本转换为音素序列;将音素序列输入到音素嵌入模型,得到音素向量序列。
39.其中,音素嵌入模型用于将音素序列转换为音素向量序列。在实际应用中,音素嵌入模型可以采用神经网络实现,该神经网络的层数等可根据经验等确定。
40.步骤102:从音素向量序列中提取上下文特征向量序列。
41.本步骤具体包括:将音素向量序列输入到fft(feed

forward transformer,前馈转换器)模型,得到从音素向量序列中提取的上下文特征向量序列;将上下文特征向量序列输入到时长预测模型,得到每个音素的预测时长,根据每个音素的预测时长分别对对应音素进行长度扩充,得到经过时长调节后的上下文特征向量序列。
42.其中,fft模型用于从音素向量序列中提取上下文特征向量序列。在实际应用中,fft模型可以采用神经网络实现,该神经网络的层数等可根据经验等确定。
43.时长预测模型用于从上下文特征向量序列中分析出每个音素的预测时长。在实际应用中,时长预测模型可以采用神经网络实现,该神经网络的层数等可根据经验等确定。
44.步骤103:将上下文特征向量序列中的每个向量依次输入到lstm模型,依次得到为每个向量预测的频谱。
45.具体地,是将经过时长调节后的上下文特征向量序列中的每个向量依次输入到lstm模型。
46.一可选实施例中,频谱可以是mel(梅尔)频谱。
47.其中,lstm模型用于从上下文特征向量序列中的每个向量中分析出为每个向量预测的频谱。在实际应用中,lstm模型的层数等可根据经验等确定。
48.步骤104:在lstm模型输出的频谱上依次设置预设第一帧长的采样窗,每次向声码器输入一个采样窗内的帧,依次得到每个采样窗对应的音频。
49.lstm模型输出的频谱实质上可以一个二维向量:[帧编号,频率]来表示,即频谱代表的是各帧的频率,这里,每个采样窗内包含第一帧长的帧,例如:第一帧长为m帧,则一个采样窗内共包含频率的m帧。第一帧长的取值可根据经验等确定。一可选实施例中,声码器为:multi

band

melgan(multi

band

mel generative adversarial network,多波段梅尔生成式对抗网络)声码器。
[0050]
需要说明的是,上述实施例中的音素嵌入模型、fft模型、时长预测模型和lstm模
型,这些模型在训练时是一起训练的,训练样本为文本样本,将文本样本转换为音素序列后输入到音素嵌入模型,再经由fft模型、时长预测模型和lstm模型得到与文本样本对应的预测频谱,将该预测频谱与文本样本的真实语音的频谱进行比对,根据比对结果调整音素嵌入模型、fft模型、时长预测模型和lstm模型,直至各模型收敛。
[0051]
本发明实施例中,在预测频谱时,是将上下文特征向量序列中的每个向量依次输入到lstm模型中,依次得到为每个向量预测的频谱,在进行声码器处理时,是在lstm模型输出的频谱上依次设置预设第一帧长的采样窗,每次向声码器输入一个采样窗内的帧,依次得到每个采样窗对应的音频,从而通过采用流式的预测频谱和声码器处理,减少了语音合成的延迟;且,语音合成延迟不依赖文本长度,近乎为常数;且,每次输入lstm模型的向量长度和每次输入声码器的帧长度大大减少,降低了对cpu和内存的占用,进一步提高了语音合成的实时性,且在设备端和服务端都可应用。
[0052]
一可选实施例中,步骤104中,在lstm模型输出的频谱上依次设置预设第一帧长的采样窗,包括:
[0053]
在lstm模型输出的频谱上依次设置预设第一帧长的采样窗,且相邻两个采样窗重叠预设第二帧长,第二帧长<第一帧长。
[0054]
且,步骤104中,依次得到每个采样窗对应的音频之后,进一步包括:在声码器输出的音频中,查找到当前采样窗与后一采样窗重叠的帧对应的音频,将查找到的音频删除。其中,由于最后一个采样窗不存在与后一采样窗重叠的帧,因此无需对最后一个采样窗对应的音频进行移除操作。
[0055]
图2为本发明另一实施例提供的语音合成方法流程图,其具体步骤如下:
[0056]
步骤201:根据音素字典,将输入文本转换为音素序列。
[0057]
设得到的音素序列为w1,w2,

,w
u
。其中,u为文本的长度(即文本中包含的单词总数),w
i
表示文本中的第i个单词对应的音素信息。
[0058]
步骤202:将音素序列输入到已训练好的音素嵌入(embedding)模型,以便将音素序列转换为音素向量序列。
[0059]
设得到的音素向量序列为:x1,x2,

,x
u
。其中,x
i
表示文本中的第i个单词对应的音素向量。
[0060]
本步骤中,是将音素序列w1,w2,

,w
u
并行输入到已训练好的音素嵌入模型中。
[0061]
步骤203:将音素向量序列输入到已训练好的fft模型,以提取上下文特征,fft模型的输出为上下文特征向量序列。
[0062]
设得到的上下文特征向量序列为:y1,y2,

,y
u
。其中,y
i
表示文本中的第i个音素对应的上下文特征向量。
[0063]
本步骤中,是将音素向量序列x1,x2,

,x
u
并行输入到已训练好的fft模型中。
[0064]
步骤204:将上下文特征向量序列输入到已训练好的时长预测模型,以得到每个音素的预测时长,根据每个音素的预测时长分别对对应音素进行长度扩充,扩充后得到经过时长调节后的上下文特征向量序列。
[0065]
设经过时长调节后的上下文特征向量序列为:t1,t2,

,t
t
。其中,t为输入文本的真实语音对应的真实频谱的帧数。
[0066]
对于输入文本,会预先获取该文本的真实语音,并将该真实语音转化为真实频谱,
该真实频谱的总帧数为t。
[0067]
本步骤中,是将上下文特征向量序列为:y1,y2,

,y
u
并行输入到已训练好的时长预测模型中。
[0068]
步骤205:将经过时长调节后的上下文特征向量序列中的每个向量依次输入到已训练好的lstm模型,得到为每个向量预测的频谱。
[0069]
例如:经过时长调节后的上下文特征向量序列为:t1,t2,

,t
t
,则依次将t1、t2、

、t
t
输入到已训练好的lstm模型,即每次只输入一个经过时长调节后的上下文特征向量。
[0070]
需要说明的是,步骤202中的音素嵌入模型、步骤203中的fft模型、步骤204中的时长预测模型和步骤205中的lstm模型,这些模型在训练时是一起训练的,训练样本为文本样本,将文本样本转换为音素序列后输入到音素嵌入模型,再经由fft模型、时长预测模型和lstm模型得到与文本样本对应的预测频谱,将该预测频谱与文本样本的真实语音的频谱进行比对,根据比对结果调整音素嵌入模型、fft模型、时长预测模型和lstm模型,直至各模型收敛。
[0071]
步骤206:按照频谱在lstm模型上的输出时间的从先到后,在频谱上依次设置预设第一帧长的当前采样窗,且当前采样窗的窗头与前一采样窗的窗尾重叠预设第二帧长,将当前采样窗内的帧输入到声码器中。
[0072]
例如:设第一帧长为60帧,第二帧长为10帧,则:
[0073]
按照输出时间的从先到后,在lstm模型输出的频谱上依次设置长度为60帧的采样窗,且当前采样窗的窗头与前一采样窗的窗尾重叠10帧,即:
[0074]
先在频谱上设置第一个采样窗,共60帧,则第一个采样窗内为频谱的1~60帧,则将1~60帧输入声码器,声码器输出1~60帧对应的音频;
[0075]
再在频谱上设置第二个采样窗,共60帧,且窗头的前10帧即第一个采样窗的窗尾的后10帧,则第二个采样窗内为频谱的51~110帧,则将51~110帧输入声码器,声码器输出51~110帧对应的音频;
[0076]
再在频谱上设置第三个采样窗,共60帧,且窗头的前10帧即第二个采样窗的窗尾的后10帧),则第三个采样窗内为频谱的101~160帧,则将101~160帧输入声码器,声码器输出101~160帧对应的音频;
[0077]
依此类推,直至lstm模型输出的所有频谱都已被输入到声码器。
[0078]
由于相邻两次输入声码器的帧有重叠,则需要对声码器输出的音频进行去重处理,即,在声码器输出的音频中,查找到当前采样窗与后一采样窗重叠的帧对应的音频,将查找到的音频移除。例如:声码器输出1~60帧对应的音频时,将51~60帧对应的音频移除;声码器输出51~110帧对应的音频时,将101~110帧对应的音频移除;依此类推。其中,每一帧固定对应预设第三长度的音频,因此可根据重叠帧的位置(即当前采样窗与后一采样窗重叠的帧的位置)计算出其在输出音频中的位置,从而将对应位置的音频移除即可。
[0079]
本发明实施例中,声码器可采用multi

band

melgan声码器。
[0080]
图3为本发明实施例提供的语音合成装置的结构示意图,该装置主要包括:
[0081]
频谱预测模块31,用于将文本转换为音素向量序列;从音素向量序列中提取上下文特征向量序列;将上下文特征向量序列中的每个向量依次输入到lstm模型,依次得到为每个向量预测的频谱。
[0082]
声码器模块32,用于在lstm模型输出的频谱上依次设置预设第一帧长的采样窗,每次向声码器输入一个采样窗内的帧,依次得到每个采样窗对应的音频。
[0083]
一可选实施例中,声码器模块32在lstm模型输出的频谱上依次设置预设第一帧长的采样窗,包括:
[0084]
在lstm模型输出的频谱上依次设置预设第一帧长的采样窗,且相邻两个采样窗重叠预设第二帧长,第二帧长<第一帧长。
[0085]
一可选实施例中,声码器模块32依次得到每个采样窗对应的音频之后,进一步包括:在声码器输出的音频中,查找到当前采样窗与后一采样窗重叠的帧对应的音频,将查找到的音频删除。
[0086]
一可选实施例中,频谱预测模块31将文本转换为音素向量序列,包括:根据音素字典,将文本转换为音素序列;将音素序列输入到音素嵌入模型,得到音素向量序列。
[0087]
一可选实施例中,频谱预测模块31从音素向量序列中提取上下文特征向量序列,包括:将音素向量序列输入到fft模型,得到从音素向量序列中提取的上下文特征向量序列;将上下文特征向量序列输入到时长预测模型,得到每个音素的预测时长,根据每个音素的预测时长分别对对应音素进行长度扩充,得到经过时长调节后的上下文特征向量序列。
[0088]
一可选实施例中,声码器模块32将延长后的当前采样窗内的帧输入到声码器中为:将延长后的当前采样窗内的帧输入到multi

band

melgan声码器中。
[0089]
本技术实施例还提供一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现如上任一实施例所述的语音合成方法的步骤。
[0090]
本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储指令,所述指令在由处理器执行时可执行如上所述语音合成方法中的步骤。实际应用中,所述的计算机可读介质可以是上述实施例各设备/装置/系统所包含的,也可以是单独存在,而未装配入该设备/装置/系统中。其中,在计算机可读存储介质中存储指令,其存储的指令在由处理器执行时可执行如上语音合成方法中的步骤。
[0091]
根据本技术公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件,或者上述的任意合适的组合,但不用于限制本技术保护的范围。在本技术公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0092]
如图4所示,本发明实施例还提供一种电子设备。如图4所示,其示出了本发明实施例所涉及的电子设备的结构示意图,具体来讲:
[0093]
该电子设备可以包括一个或一个以上处理核心的处理器41、一个或一个以上计算机可读存储介质的存储器42以及存储在存储器上并可在处理器上运行的计算机程序。在执行所述存储器42的程序时,可以实现上述语音合成方法。
[0094]
具体的,实际应用中,该电子设备还可以包括电源43、输入输出单元44等部件。本领域技术人员可以理解,图4中示出的电子设备的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0095]
处理器41是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各
个部分,通过运行或执行存储在存储器42内的软件程序和/或模块,以及调用存储在存储器42内的数据,执行服务器的各种功能和处理数据,从而对该电子设备进行整体监控。
[0096]
存储器42可用于存储软件程序以及模块,即上述计算机可读存储介质。处理器41通过运行存储在存储器42的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器42可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器42可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器42还可以包括存储器控制器,以提供处理器41对存储器42的访问。
[0097]
该电子设备还包括给各个部件供电的电源43,可以通过电源管理系统与处理器41逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源43还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0098]
该电子设备还可包括输入输出单元44,该输入单元输出44可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。该输入单元输出44还可以用于显示由用户输入的信息或提供给用户的信息以及各种图像用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。
[0099]
本技术附图中的流程图和框图,示出了按照本技术公开的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或者代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应该注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同附图中所标准的顺序发生。例如,两个连接地表示的方框实际上可以基本并行地执行,它们有时也可以按照相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或者流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0100]
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本技术中。特别地,在不脱离本技术精神和教导的情况下,本技术的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,所有这些组合和/或结合均落入本技术公开的范围。
[0101]
本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思路,并不用于限制本技术。对于本领域的技术人员来说,可以依据本发明的思路、精神和原则,在具体实施方式及应用范围上进行改变,其所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜