歌声合成方法、装置、计算机设备及存储介质与流程

阅读: 评论:0



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


背景技术:



2.歌声合成是类似语音合成的生成任务,语音合成是将文字合成出对应的音频,而歌声合成是将乐谱合成对应的音频。具体地,歌声合成是针对歌声的多维度信息,包括但不限于歌词、音调、时长以及歌手的音和歌唱技巧等信息进行建模和音频合成的过程。语音合成只是将文字合成对应的音频,而歌声合成中的乐谱包含比文字更多的信息,例如歌词、音调和时长等,会导致歌声合成更加复杂,同一个歌词可以对应更多的音频表示,而同一个文字对应的语音表示是变化不大的。现有歌声合成过程采用类似语音合成方式,其歌声合成过程采集的参数较少,导致歌声合成结果过于粗糙,合成效果较差。


技术实现要素:



3.本发明实施例提供一种歌声合成方法、装置、计算机设备及存储介质,以解决现有歌声合成效果较差的问题。
4.一种歌声合成方法,包括:
5.获取待处理乐谱;
6.对待处理乐谱进行乐谱向量编码,获取乐谱隐向量;
7.采用基于条纹池化层构建的su-net网络,对乐谱隐向量进行递归解码,获取目标频谱
8.对目标频谱进行转换合成,获取目标合成歌声。
9.一种歌声合成装置,包括:
10.待处理乐谱获取模块,用于获取待处理乐谱;
11.乐谱隐向量获取模块,用于对待处理乐谱进行乐谱向量编码,获取乐谱隐向量;
12.目标频谱获取模块,采用基于条纹池化层构建的su-net网络,用于对乐谱隐向量进行递归解码,获取目标频谱;
13.目标合成歌声获取模块,用于对目标频谱进行转换合成,获取目标合成歌声。
14.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述歌声合成方法。
15.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述歌声合成方法。
16.上述歌声合成方法、装置、计算机备及存储介质,对待处理乐谱进行乐谱向量编码,获取乐谱隐向量,以将乐谱转换成su-net网络可识别输出的向量形式,有助于保障歌声合成的可行性;采用su-net网络架构可简化歌声合成的建模方法,将歌声合成转化为乐谱编码向量到频谱之间的翻译任务,使输出的目标频谱更加精确,使目标频谱通过声码器转
换合成对应的目标合成歌声更加符合实际,提升歌声合成效果;而且,采用基于条纹池化层构建的su-net网络,利用条纹池化层,可以增强频谱中条纹结构信息的抽取,对频谱信息进行扩展,增强歌声中音调信息,保障歌声合成效果。
附图说明
17.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
18.图1是本发明一实施例中歌声合成方法的一应用环境示意图;
19.图2是本发明一实施例中歌声合成方法的一流程图;
20.图3是本发明一实施例中歌声合成方法的另一流程图;
21.图4是本发明一实施例中歌声合成方法的另一流程图;
22.图5是本发明一实施例中歌声合成方法的另一流程图;
23.图6是本发明一实施例中歌声合成方法的另一流程图;
24.图7是本发明一实施例中歌声合成方法的另一流程图;
25.图8是本发明一实施例中歌声合成方法的另一流程图;
26.图9是本发明一实施例中歌声合成装置的一示意图;
27.图10是本发明一实施例中计算机设备的一示意图。
具体实施方式
28.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
29.本发明实施例提供的歌声合成方法,该歌声合成方法可应用如图1所示的应用环境中。具体地,该歌声合成方法应用在歌声合成系统中,该歌声合成系统包括如图1所示的客户端和服务器,客户端与服务器通过网络进行通信,用于实现歌声合成。其中,客户端又称为用户端,是指与服务器相对应,为客户提供本地服务的程序。客户端可安装在但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备上。服务器可以用独立的服务器或者是多个服务器组成的服务器集来实现。
30.在一实施例中,如图2所示,提供一种歌声合成方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
31.s201:获取待处理乐谱;
32.s202:对待处理乐谱进行乐谱向量编码,获取乐谱隐向量;
33.s203:采用基于条纹池化层构建的su-net网络,对乐谱隐向量进行递归解码,获取目标频谱;
34.s204:对目标频谱进行转换合成,获取目标合成歌声。
35.其中,待处理乐谱是指需要进行处理的乐谱,一般来说,每一待处理乐谱均包括歌
词、时长和音符等信息。具体地,待处理乐谱可以是多种乐谱格式,其乐谱格式可以采用但不局限于midi格式,只需保障其可以机器解析识别即可。待处理乐谱可以是中文乐谱也可以是外文乐谱,其表现形式不受限制。
36.作为一示例,步骤s201中,服务器可获取待处理乐谱,该待处理乐谱为机器可解析识别的乐谱,以保障后续歌声合成过程的可行性。
37.本示例中,服务器要接收用户输入的原始乐谱,确定该原始乐谱对应的乐谱格式,判断所述乐谱格式是否为系统预设的标准格式,此处的标准格式可理解为系统能够解析识别的格式;若所述乐谱格式为标准格式,则将所述原始乐谱确定为待处理乐谱;若所述乐谱格式不为标准格式,则输出格式不匹配的提示信息,或者,根据所述乐谱格式和所述标准格式,确定对应的格式转换逻辑,采用所述格式转换逻辑对所述原始乐谱进行格式转换,获取与标准格式相对应的待处理乐谱,以保障待处理乐谱进行后续歌声合成的可行性。
38.其中,乐谱隐向量是指待处理乐谱进行乐谱向量编码所形成的与乐谱信息相关的隐向量。
39.作为一示例,步骤s202中,服务器在获取待处理乐谱之后,对待处理乐谱进行乐谱向量编码,获取乐谱隐向量。本示例中,服务器先对待处理乐谱进行内容解析,该内容解析包括读取待处理乐谱中的歌词、时长和音符等乐谱信息,具体解析出对应的歌词、每一歌词对应的音符以及每一音符的开始信息和结束信息即时长信息等乐谱信息;然后,对内容解析获取的乐谱信息进行特征提取和向量编码,获取乐谱隐向量。可理解地,将待处理乐谱进行乐谱向量编码,以将乐谱信息转换成向量形式表征的乐谱隐向量,使其可输入到su-net网络进行处理,保障处理的可行性。
40.其中,su-net网络是基于条纹池化层构建的u型语义分割网络。条纹池化层是位于su-net网络中,对条纹信息具有增强作用的结构,该结构采用条纹池化的方法来增强su-net网络对条纹信息的学习。
41.作为一示例,su-net网络是由三个卷积层、条纹池化层以及三个转置卷积层构成;其中,卷积层由convdown层(压缩层)构成、skip connection(连接层)、转置卷积层由convup层(放大层)构成,在每一convdown层之后增加一个条纹池化层,用于对数据进行行或列的扩展,提高数据反馈的信息,保障输出结果的准确性。
42.其中,递归解码是指对当前帧的输入信息和上一帧的输出信息进行处理,获取当前帧的输出结果的解码过程。
43.作为一示例,步骤s203中,服务器可采用基于条纹池化层构建的su-net网络,对乐谱隐向量进行递归解码,获取目标频谱,具体可将当前帧的乐谱隐向量和基于条纹池化层构建的su-net网络输出的上一帧的输出信息进行融合,确定为当前帧的输入信息输入到基于条纹池化层构建的su-net网络进行处理,以获取当前帧的输出信息,以达到递归解码效果。
44.在一示例中,基于条纹池化层构建的su-net网络的输出信息为目标频谱,则服务器对乐谱隐向量进行递归解码的过程具体包括:首先,获取当前帧的乐谱隐向量;其次,获取上一帧的目标频谱并进行处理,得到上一帧的目标频谱对应的隐向量;再次,对当前帧的乐谱隐向量和上一帧的目标频谱对应的隐向量进行处理,获取当前帧的输入信息;最后,将获取当前帧的输入信息输入到基于条纹池化层构建的su-net网络中,完成对乐谱隐向量的
递归解码,输出当前帧对应的目标频谱。
45.例如,su-net网络包括三个convdown层(压缩层)、skip connection(连接层)、三个convup层(放大层),在每个convdown层(压缩层)之后采用一个条纹池化层,对条纹池化层输入的频谱信息进行条纹结构信息扩展,增强其输出结果所表征的信息量,有助于保障后续目标合成歌声的合成效果。
46.本示例中,采用su-net网络架构可简化歌声合成的建模方法,将歌声合成转化为乐谱编码向量到频谱之间的翻译任务,使输出的目标频谱更加精确;而且,采用基于条纹池化层构建的su-net网络,利用条纹池化层,可以增强频谱中条纹结构信息的抽取,对频谱信息进行扩展,增强歌声中的音调信息,保障歌声合成效果。
47.作为一示例,步骤s204中,服务器对目标频谱进行转换合成,获取目标合成歌声。本示例中,服务器采用声码器将当前帧的目标频谱转换合成对应的音频,对整个乐谱的目标频谱完成转换合成后,形成对应的音频文件,即为目标合成歌声。可理解地,服务器可采用但不限于griffin-lim声码器、hifi-gan声码器和pwg声码器等声码器,对目标频谱进行转换合成,获取目标合成歌声。
48.本实施例所提供的歌声合成方法中,先对待处理乐谱进行乐谱向量编码,获取乐谱隐向量,以将乐谱转换成su-net网络可识别输出的向量形式,有助于保障歌声合成的可行性;采用su-net网络架构可简化歌声合成的建模方法,将歌声合成转化为乐谱编码向量到频谱之间的翻译任务,使输出的目标频谱更加精确,使目标频谱通过声码器转换合成对应的目标合成歌声更加符合实际,提升歌声合成效果;而且,采用基于条纹池化层构建的su-net网络,利用条纹池化层,可以增强频谱中条纹结构信息的抽取,对频谱信息进行扩展,增强歌声中音调信息,保障歌声合成效果。
49.在一实施例中,如图3所示,步骤s202,即对待处理乐谱进行乐谱向量编码,获取乐谱隐向量,具体包括如下步骤:
50.s301:对待处理乐谱进行特征提取,获取歌词特征、音符特征和时长特征;
51.s302:对歌词特征、音符特征和时长特征进行特征编码,获取乐谱隐向量。
52.作为一示例,步骤s301中,服务器先对待处理乐谱进行内容解析获得歌词信息、时长信息和音符信息;其次,分别对歌词信息、音符信息和时长信息进行特征提取,分别获取歌词特征、音符特征和时长特征。
53.作为一示例,步骤s302中,服务器对歌词特征、音符特征和时长特征进行特征编码,获取乐谱隐向量,其特征编码过程如下:首先,对歌词特征和音符特征分别结合时长特征进行特征编码,分别得到歌词向量和音符向量,也就是说,基于歌声特征和时长特征进行特征编码,获取歌词向量,对音符特征和时长特征进行特征编码,获取音符向量。其次,服务器对歌词向量和音符向量进行拼接处理,获取拼接处理向量。再次,服务器将拼接处理向量输入乐谱编码器,将乐谱编码器的输出结果,确定为乐谱隐向量。
54.本实施例所提供的歌声合成方法中,对待处理乐谱进行乐谱向量编码,将待处理乐谱的乐谱信息转换成向量形式表征的乐谱隐向量,使其可输入到su-net网络进行处理,保障处理方法的可行性。
55.在一实施例中,如图4所示,步骤s302,即对歌词特征、音符特征和时长特征进行特征编码,获取乐谱隐向量,具体包括如下步骤:
56.s401:基于歌词特征和时长特征进行向量编码扩展,获取歌词向量;
57.s402:基于音符特征和时长特征进行向量编码扩展,获取音符向量;
58.s403:根据歌词向量和音符向量,获取乐谱隐向量。
59.作为一示例,步骤s401中,服务器基于歌词特征和时长特征进行向量编码扩展,获取歌词向量,具体对待处理乐谱中的每一歌词特征进行向量编码,得到每一歌词特征对应的向量,同时,在歌词特征进行向量编码过程中,考虑每一歌词特征对应的时长特征,对每一歌词特征对应的向量在时长方面进行扩展,最后得到待处理乐谱的歌词向量。
60.在一实施例中,服务器对待处理乐谱中的每一歌词特征进行编码,得到每一歌词特征对应的向量,例如,某一歌词特征对应的向量为[2.0,3.1,4.2,0.6],是一个多维向量。可理解地,目标合成歌声是一个时序上的音频信号,在计算机存储中,通常采用一维数据来存储音频信号,若音频信号的采样频率为16000hz,则一秒钟的音频信号由16000个数据点构成,当采用频谱作为模型输出时,音频信号将在时间特征上进行分帧,随后计算每帧短时傅里叶变化,得到每帧的频谱表示,这里的帧通常为100ms或者更短,例如50ms;而一个歌词特征通常在演唱时可能长达0.5s或者更长,因此歌词特征需要按照时长特征进行展开,从而完成对待处理乐谱的歌词对应的频谱在时间特征上的扩展,本实施例采用复制的方式,例如,某一歌词特征对应的向量为[2.0,3.1,4.2,0.6],其在时长特征上对应30帧频谱,则将该歌词特征对应的向量[2.0,3.1,4.2,0.6]复制30遍,以完成在时长特征上的扩展,服务器对待处理乐谱中的每一歌词特征对应的向量完成以上时长特征扩展过程,最终得到待处理乐谱的歌词向量。
[0061]
作为一示例,步骤s402中,服务器基于音符特征和时长特征进行向量编码扩展,获取音符向量,具体对待处理乐谱中的每一音符特征进行向量编码,得到每一音符特征对应的向量,同时,在对音符特征进行向量编码过程中,考虑每一音符特征对应的时长特征,对每一音符特征对应的向量在时长方面进行扩展,最后得到待处理乐谱的音符向量。
[0062]
在一实施例中,服务器对待处理乐谱中的每一音符特征进行编码,得到每一音符特征对应的向量,例如,某一音符特征对应的向量为[2.6,3.1,4.2,1.2],是一个多维向量。可理解地,目标合成歌声是一个时序上的音频信号,在计算机存储中,通常采用一维数据来存储音频信号,若音频信号的采样频率为16000hz,则一秒钟的音频信号由16000个数据点构成,当采用频谱作为模型输出时,音频信号将在时间特征上进行分帧,随后计算每帧短时傅里叶变化,得到每帧的频谱表示,这里的帧通常为100ms或者更短,例如50ms;而一个音符特征通常在演唱时可能长达0.5s或者更长,因此音符特征需要按照时长特征进行展开,从而完成对待处理乐谱的音符对应的的频谱在时间特征上的扩展,本实施例采用复制的方式,例如,某一音符特征对应的向量为[2.6,3.1,4.2,1.2],其在时长特征上对应20帧频谱,则将该音符特征对应的向量[2.6,3.1,4.2,1.2]复制20遍,以完成在时长特征上的扩展,服务器对待处理乐谱中的每一音符特征对应的向量完成以上时长特征扩展过程,最终得到待处理乐谱的音符向量。
[0063]
作为一示例,步骤s403中,服务器根据歌词向量和音符向量,获取乐谱隐向量,具体可将歌词向量与音符向量输入编码器,采用编码器对歌词向量和音符向量进行编码处理,获取乐谱隐向量。
[0064]
本实施例所提供的歌声合成方法中,歌词特征在时长特征上进行扩展和编码,得
到歌词向量,音符特征在时长特征上进行扩展和编码,得到音符向量,既保障歌词向量和音符向量的信息量,也可使歌词向量和音符向量实现时间对齐,使编码器对歌词向量和音符向量进行编码具有可行性。
[0065]
在一实施例中,如图5所示,步骤s403,即根据歌词向量和音符向量,获取乐谱隐向量,具体包括如下步骤:
[0066]
s501:对歌词向量和音符向量进行拼接处理,获取第一拼接向量;
[0067]
s502:采用乐谱编码器对第一拼接向量进行编码处理,获取乐谱隐向量。
[0068]
作为一示例,步骤s501中,服务器对歌词向量和音符向量进行拼接处理,获取第一拼接向量,具体包括:根据每一歌词特征对应的歌词向量与每一音符特征对应的音符向量,将同一帧对应的歌词向量与音符向量进行拼接处理,确定同一帧对应的第一拼接向量。可理解地,由于待处理音频所解析出的每一歌词向量和音符向量均与时间相关,即同一帧的歌词向量和音符向量需进行时间对齐,因此,可将同一帧的歌词向量和音符向量进行拼接,以使获取到的第一拼接向量可综合反映同一时刻对应的歌词和音符等信息,有助于保障最终编码所获取的乐谱隐向量的信息量。
[0069]
作为一示例,步骤s502中,服务器采用乐谱编码器对第一拼接向量进行编码处理,获取乐谱隐向量,具体包括:将第一拼接向量按时间顺序输入乐谱编码器进行编码处理,将当前帧的第一拼接向量在乐谱编码器的中间层进行处理,将中间层输出的隐向量,作为当前帧的乐谱隐向量。
[0070]
本示例中,乐谱编码器的网络构成采用了两层一维卷积网络结构,也可以使用更多层的卷积网络,或者改用lstm时序网络层和基于注意力机制的tranformer结构。在本实施例中,两层一维卷积网络结构的实验效果与其他网络结构相比,在降低模型参数的同时达到一个较好的效果。
[0071]
本实施例所提供的歌声合成方法中,服务器对歌词向量和音符向量进行对应拼接,使编码输出的第一拼接向量更精确,更符合待处理乐谱中表达的歌词特征和音符特征,符合实际情况,使编码器输出当前帧的乐谱隐向量更具准确性。
[0072]
在一实施例中,如图6所示,步骤s203,即采用基于条纹池化层构建的su-net网络,对乐谱隐向量进行递归解码,获取目标频谱,具体包括如下步骤:
[0073]
s601:将当前帧对应的乐谱隐向量和上一帧对应的频谱隐向量进行拼接处理,获取当前帧对应的第二拼接向量;
[0074]
s602:采用基于条纹池化层构建的su-net网络对当前帧对应的第二拼接向量进行处理,获取当前帧对应的目标频谱。
[0075]
其中,上一帧对应的频谱隐向量为频谱编码器对上一帧输出的目标频谱进行处理得到的隐向量。
[0076]
作为一示例,步骤s601中,服务器对当前帧对应的乐谱隐向量和上一帧对应的频谱隐向量进行拼接处理,获取当前帧对应的第二拼接向量。具体步骤为:服务器获取su-net网络输出的上一帧目标频谱,并输入至频谱编码器;随后,获取上一帧目标频谱在频谱编码器中间层的隐向量,即为上一帧对应的频谱隐向量;将当前帧对应的乐谱隐向量和上一帧对应的频谱隐向量进行拼接处理,将拼接处理结果作为当前帧对应的第二拼接向量。
[0077]
本示例中,上一帧输出的目标频谱是前一时刻t-1的目标频谱,其通过频谱编码器
得到的隐向量采用音频特征表示,相当于前一时刻t-1的音频特征,而非乐谱特征。频谱编码器可以是采用四层二维卷积网络结构构建的编码器。四层二维卷积的网络结构可以进行调整,可以改变网络层数以及每一层卷积网络的卷积核数量;卷积网络也可以进行更换,例如transformer结构,更改后的具体效果需要进行参数优化以及训练。本实施例采用了四层二维卷积层并进行一定的参数调整和优化,在不增加较大参数的同时,使用四层二维卷积网络结构达到了较优效果。
[0078]
作为一示例,步骤s602中,服务器将当前帧对应的第二拼接向量输入至su-net网络中,输出得到当前帧对应的目标频谱。
[0079]
本示例中,su-net网络是由三个卷积层、条纹池化层以及三个转置卷积层构成;可理解地,su-net网络包括三个convdown层(压缩层)、skip connection(连接层)、三个convup层(放大层);三个卷积层是由三个convdown层(压缩层)构成的,在每一convdown层(压缩层)之后增加条纹池化层,对数据进行行扩展或者列扩展,提高数据反馈的信息,保障输出结果的准确性,在条纹池化层后对应转置卷积层之间建立跳跃链接,将底层高维特征输入到高层中,三层转置卷积是由三个convup层(放大层)构成的。convdown层和convup层的具体工作原理是:在convdown层向下压缩的过程中,每层的中间结果是按照1/2的比例进行不断压缩的,而在convup层向上放大的过程中,每层的中间结果按照乘以2的比例进行变大,底层的中间结果与同尺寸的高层的中间结果之间通过跨层连接的方式进行信息传递,即中间结果不仅输入到邻接的下一层还会传递到相隔的对应层。
[0080]
本实施例所提供的歌声合成方法中,由于音乐在时间上有关联性,上一帧与当前帧存在上下文关系,所以通过拼接处理得到第二拼接向量,并将第二拼接向量作为su-net网络的输入,可以有效地提升对频谱特征的预测,降低从乐谱到频谱的翻译难度。
[0081]
在一实施例中,如图7所示,步骤s602,即采用基于条纹池化层构建的su-net网络对当前帧对应的第二拼接向量进行处理,获取当前帧对应的目标频谱,具体包括如下步骤:
[0082]
s701:采用基于条纹池化层构建的su-net网络,对当前帧的第二拼接向量进行拆分扩展,获取目标行频谱特征和目标列频谱特征;
[0083]
s702:对目标行频谱特征和目标列频谱特征进行卷积和激活处理,获取当前帧的激活参数值;
[0084]
s703:对当前帧的第二拼接向量和激活参数值进行点乘,获取当前帧对应的目标频谱。
[0085]
作为一示例,步骤s701中,条纹池化层对当前帧对应的第二拼接向量分别按行向量和列向量进行拆分;其次,分别对行向量和列向量进行一维卷积,得到行向量卷积结果和列向量卷积结果;最后,对得到的行向量卷积结果按照行数进行扩展得到目标行频谱特征,对得到的列向量卷积结果按照列数进行扩展得到目标列频谱特征。
[0086]
作为一示例,步骤s702中,条纹池化层对目标行频谱特征和目标列频谱特征进行拼接处理,并对拼接处理结果进行一次二维卷积,随后对二维卷积结果进行激活处理,得到激活参数值。
[0087]
作为一示例,步骤s703中,条纹池化层获取激活参数值,将激活参数值与当前帧对应的第二拼接向量进行点乘,获得当前帧对应的目标频谱。
[0088]
本实施例所提供的歌声合成方法中,条纹池化层对当前帧对应的第二拼接向量进
行拆分、扩展和拼接,并对拼接结果进行卷积和激活处理,再将处理结果与当前帧对应的第二拼接向量进行点乘得到当前帧对应的目标频谱,使su-net网络输出的目标频谱更加精确;而且,采用基于条纹池化层构建的su-net网络,利用条纹池化层,增强频谱中条纹结构信息的抽取,保障歌曲合成效果更符合实际。
[0089]
在一实施例中,如图8所示,步骤s701,即对当前帧的第二拼接向量进行拆分扩展,获取目标行频谱特征和目标列频谱特征,具体包括如下步骤:
[0090]
s801:对当前帧的第二拼接向量进行拆分,获取原始行频谱特征和原始列频谱特征;
[0091]
s802:依据第二拼接向量的行数,对原始行频谱特征进行扩展,获取目标行频谱特征;
[0092]
s803:依据第二拼接向量的列数,对所述原始列频谱特征进行扩展,获取目标列频谱特征。
[0093]
其中,原始行频谱特征是条纹池化层对当前帧的第二拼接向量按行进行拆分得到的行向量。原始列频谱特征是条纹池化层对当前帧的第二拼接向量按列进行拆分得到的列向量。
[0094]
作为一示例,步骤s801中,条纹池化层对当前帧对应的第二拼接向量按照行向量进行拆分得到原始行频谱特征,对当前帧对应的第二拼接向量按照列向量进行拆分得到原始列频谱特征。
[0095]
本示例中,在大小为h*w的第二拼接向量区域中,获取第二拼接向量横向的行向量即1*w,即为原始行频谱特征,获取第二拼接向量纵向的列向量即h*1,即为原始列频谱特征。
[0096]
其中,目标行频谱特征是条纹池化层对原始行频谱特征进行处理得到的多维矩阵。
[0097]
作为一示例,步骤s802中,条纹池化层对原始行频谱特征进行一维卷积,随后,将得到的原始行频谱特征的一维卷积结果按照行数进行扩展得到目标行频谱特征。
[0098]
本示例中,原始行频谱特征为1*w,对1*w进行一次一维卷积计算得到卷积后的向量,随后,一维卷积后的向量按照行的大小h进行复制扩展得到对应的结果,为h*w维的矩阵,即为目标行频谱特征。
[0099]
其中,目标列频谱特征是条纹池化层对原始列频谱特征进行处理得到的多维矩阵。
[0100]
作为一示例,步骤s803中,条纹池化层对原始列频谱特征进行一维卷积,随后,将得到的原始列频谱特征的一维卷积结果按照列数进行扩展得到目标列频谱特征。
[0101]
本示例中,原始列频谱特征为h*1,对h*1进行一次一维卷积计算得到卷积后的向量,随后,一维卷积后的向量按照列的大小w进行复制扩展得到对应的结果,为h*w维的矩阵,即为目标列频谱特征。
[0102]
本实施例所提供的歌声合成方法中,条纹池化层对当前帧的第二拼接向量进行拆分扩展,获取目标行频谱特征和目标列频谱特征,使用条纹池化层对频谱信息进行扩展,增强歌声中的音调信息,保障了最终的歌声合成效果。
[0103]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程
的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0104]
在一实施例中,提供一种歌声合成装置,该歌声合成装置与上述实施例中歌声合成方法一一对应。如图9所示,该歌声合成装置包括待处理乐谱获取模块901、乐谱隐向量获取模块902、目标频谱获取模块903和目标合成歌声获取模块904。各功能模块详细说明如下:
[0105]
待处理乐谱获取模块901,用于获取待处理乐谱;
[0106]
乐谱隐向量获取模块902,用于对待处理乐谱进行乐谱向量编码,获取乐谱隐向量;
[0107]
目标频谱获取模块903,采用基于条纹池化层构建的su-net网络,用于对乐谱隐向量进行递归解码,获取目标频谱;
[0108]
目标合成歌声获取模块904,用于对目标频谱进行转换合成,获取目标合成歌声。
[0109]
在一实施例中,乐谱隐向量获取模块902,包括:
[0110]
特征提取子模块,用于对待处理乐谱进行特征提取,获取歌词特征、音符特征和时长特征;
[0111]
乐谱隐向量获取子模块,用于对歌词特征、音符特征和时长特征进行特征编码,获取乐谱隐向量。
[0112]
在一实施例中,乐谱隐向量获取子模块,包括:
[0113]
歌词向量获取单元,用于基于歌词特征和时长特征进行向量编码扩展,获取歌词向量;
[0114]
音符向量获取单元,用于基于音符特征和时长特征进行向量编码扩展,获取音符向量;
[0115]
乐谱隐向量获取单元,用于根据歌词向量和音符向量,获取乐谱隐向量。
[0116]
在一实施例中,乐谱隐向量获取单元,包括:
[0117]
第一拼接向量获取子单元,用于对歌词向量和音符向量进行拼接处理,获取第一拼接向量;
[0118]
乐谱隐向量获取子单元,采用乐谱编码器对第一拼接向量进行编码处理,获取乐谱隐向量。
[0119]
在一实施例中,目标频谱获取模块903,包括:
[0120]
第二拼接向量获取子模块,用于将当前帧对应的乐谱隐向量和上一帧对应的频谱隐向量进行拼接处理,获取当前帧对应的第二拼接向量;
[0121]
目标频谱获取子模块,采用基于条纹池化层构建的su-net网络对当前帧对应的第二拼接向量进行处理,获取当前帧对应的目标频谱。
[0122]
其中,上一帧对应的频谱隐向量为频谱编码器对上一帧输出的目标频谱进行处理得到的隐向量。
[0123]
在一实施例中,目标频谱获取子模块,包括:
[0124]
目标频谱特征获取单元,采用基于条纹池化层构建的su-net网络,对当前帧的第二拼接向量进行拆分扩展,获取目标行频谱特征和目标列频谱特征;
[0125]
激活参数值获取单元,用于对目标行频谱特征和目标列频谱特征进行卷积和激活
处理,获取当前帧的激活参数值;
[0126]
目标频谱获取单元,用于对当前帧的第二拼接向量和激活参数值进行点乘,获取当前帧对应的目标频谱。
[0127]
在一实施例中,目标频谱特征获取单元,包括:
[0128]
原始频谱特征获取子单元,用于对当前帧的第二拼接向量进行拆分,获取原始行频谱特征和原始列频谱特征;
[0129]
目标行频谱特征获取子单元,用于依据第二拼接向量的行数,对原始行频谱特征进行扩展,获取目标行频谱特征;
[0130]
目标列频谱特征获取子单元,依据第二拼接向量的列数,对所述原始列频谱特征进行扩展,获取目标列频谱特征。
[0131]
关于歌声合成装置的具体限定可以参见上文中对于歌声合成方法的限定,在此不再赘述。上述歌声合成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0132]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储执行歌声合成方法过程中采用或生成的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种歌声合成方法。
[0133]
在一实施例中,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中歌声合成方法,例如图2所示s201-s204,或者图3至图8中所示,为避免重复,这里不再赘述。或者,处理器执行计算机程序时实现歌声合成装置这一实施例中的各模块/单元的功能,例如图9所示的待处理乐谱获取模块901、乐谱隐向量获取模块902、目标频谱获取模块903和目标合成歌声获取模块904的功能,为避免重复,这里不再赘述。
[0134]
在一实施例中,提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中歌声合成方法,例如图2所示s201-s204,或者图3至图8中所示,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现上述歌声合成装置这一实施例中的各模块/单元的功能,例如图9所示的待处理乐谱获取模块901、乐谱隐向量获取模块902、目标频谱获取模块903和目标合成歌声获取模块904的功能,为避免重复,这里不再赘述。所述计算机可读存储介质可以是非易失性,也可以是易失性。
[0135]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括
非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0136]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
[0137]
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

技术特征:


1.一种歌声合成方法,其特征在于,包括:获取待处理乐谱;对所述待处理乐谱进行乐谱向量编码,获取乐谱隐向量;采用基于条纹池化层构建的su-net网络,对所述乐谱隐向量进行递归解码,获取目标频谱;对所述目标频谱进行转换合成,获取目标合成歌声。2.如权利要求1所述的歌声合成方法,其特征在于,所述对所述待处理乐谱进行乐谱向量编码,获取乐谱隐向量,包括:对所述待处理乐谱进行特征提取,获取歌词特征、音符特征和时长特征;对所述歌词特征、音符特征和时长特征进行特征编码,获取乐谱隐向量。3.如权利要求2所述的歌声合成方法,其特征在于,所述对所述歌词特征、音符特征和时长特征进行特征编码,获取乐谱隐向量,包括:基于所述歌词特征和所述时长特征进行向量编码扩展,获取歌词向量;基于所述音符特征和所述时长特征进行向量编码扩展,获取音符向量;根据所述歌词向量和所述音符向量,获取乐谱隐向量。4.如权利要求3所述的歌声合成方法,其特征在于,所述根据所述歌词向量和所述音符向量,获取乐谱隐向量,包括:对所述歌词向量和所述音符向量进行拼接处理,获取第一拼接向量;采用乐谱编码器对所述第一拼接向量进行编码处理,获取乐谱隐向量。5.如权利要求1所述的歌声合成方法,其特征在于,所述采用基于条纹池化层构建的su-net网络,对所述乐谱隐向量进行递归解码,获取目标频谱,包括:将当前帧对应的乐谱隐向量和上一帧对应的频谱隐向量进行拼接处理,获取当前帧对应的第二拼接向量;采用基于条纹池化层构建的su-net网络对所述当前帧对应的第二拼接向量进行处理,获取当前帧对应的目标频谱;其中,所述上一帧对应的频谱隐向量为频谱编码器对上一帧输出的目标频谱进行处理的隐向量。6.如权利要求5所述的歌声合成方法,其特征在于,所述采用基于条纹池化层构建的su-net网络对所述当前帧对应的第二拼接向量进行处理,获取当前帧对应的目标频谱,包括:采用基于条纹池化层构建的su-net网络,对当前帧的第二拼接向量进行拆分扩展,获取目标行频谱特征和目标列频谱特征;对所述目标行频谱特征和所述目标列频谱特征进行卷积和激活处理,获取所述当前帧的激活参数值;对所述当前帧的第二拼接向量和激活参数值进行点乘,获取当前帧对应的目标频谱。7.如权利要求6所述的歌声合成方法,其特征在于,所述对当前帧的第二拼接向量进行拆分扩展,获取目标行频谱特征和目标列频谱特征,包括:对当前帧的第二拼接向量进行拆分,获取原始行频谱特征和原始列频谱特征;依据第二拼接向量的行数,对所述原始行频谱特征进行扩展,获取目标行频谱特征;
依据第二拼接向量的列数,对所述原始列频谱特征进行扩展,获取目标列频谱特征。8.一种歌声合成装置,其特征在于,包括:待处理乐谱获取模块,用于获取待处理乐谱;乐谱隐向量获取模块,用于对所述待处理乐谱进行乐谱向量编码,获取乐谱隐向量;目标频谱获取模块,采用基于条纹池化层构建的su-net网络,用于对所述乐谱隐向量进行递归解码,获取目标频谱;目标合成歌声获取模块,用于对所述目标频谱进行转换合成,获取目标合成歌声。9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述歌声合成方法。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述歌声合成方法。

技术总结


本发明公开了一种歌声合成方法、装置、计算机设备及存储介质,该方法包括:获取待处理乐谱;对所述待处理乐谱进行乐谱向量编码,获取乐谱隐向量;采用基于条纹池化层构建的SU-net网络,对所述乐谱隐向量进行递归解码,获取目标频谱;对所述目标频谱进行转换合成,获取目标合成歌声。该方法采用基于条纹池化层构建的SU-net网络简化了歌声合成的建模方法,将歌声合成转化为乐谱编码向量到频谱之间的翻译任务,使目标频谱通过声码器转换合成对应的目标合成歌声更加符合实际,提升歌声合成效果;利用条纹池化层,可以增强对频谱中条纹结构信息的抽取,对频谱信息进行扩展,增强歌声中音调信息,保障歌声合成效果。保障歌声合成效果。保障歌声合成效果。


技术研发人员:

张旭龙 王健宗

受保护的技术使用者:

平安科技(深圳)有限公司

技术研发日:

2022.07.28

技术公布日:

2022/11/1

本文发布于:2022-12-01 05:45:15,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/17547.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:向量   乐谱   频谱   特征
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图