CN117672258A - 基频生成方法、计算机设备和计算机可读存储介质 - Google Patents
基频生成方法、计算机设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN117672258A CN117672258A CN202311615637.7A CN202311615637A CN117672258A CN 117672258 A CN117672258 A CN 117672258A CN 202311615637 A CN202311615637 A CN 202311615637A CN 117672258 A CN117672258 A CN 117672258A
- Authority
- CN
- China
- Prior art keywords
- fundamental frequency
- phoneme
- frame
- predicted
- song
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000000605 extraction Methods 0.000 claims abstract description 30
- 239000011295 pitch Substances 0.000 claims description 162
- 238000012549 training Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 22
- 238000013507 mapping Methods 0.000 claims description 15
- 239000011159 matrix material Substances 0.000 claims description 15
- 238000001228 spectrum Methods 0.000 claims description 15
- 238000012546 transfer Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 5
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 16
- 239000013598 vector Substances 0.000 description 14
- 238000012545 processing Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 230000004913 activation Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 229910000278 bentonite Inorganic materials 0.000 description 2
- 239000000440 bentonite Substances 0.000 description 2
- SVPXDRXYRYOSEX-UHFFFAOYSA-N bentoquatam Chemical compound O.O=[Si]=O.O=[Al]O[Al]=O SVPXDRXYRYOSEX-UHFFFAOYSA-N 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 210000001260 vocal cord Anatomy 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
- G10L25/30—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/90—Pitch determination of speech signals
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
本申请涉及一种基频生成方法、计算机设备和存储介质,能够提升了基频提取结果的准确性。所述方法包括:获取歌曲的各歌词对应的音素,以及多个音素之间的顺序信息;根据每个音素在歌曲的曲谱中的音高、音高时长和连音方式信息,生成每个音素的编码信息;按照顺序信息将多个音素的编码信息输入到训练好的生成模型,由生成模型基于每个音素的编码信息以及每个音素的上下文音素的编码信息,确定多个帧的预测基频特征;每个音素的上下文音素基于多个音素之间的顺序信息确定;获取多个帧中每个帧的音高,根据每个帧的音高和预测基频特征,确定每个帧的基频,并根据多个帧的基频,得到歌曲的基频。
Description
技术领域
本申请涉及音频技术领域,特别是涉及一种基频生成方法、计算机设备和计算机可读存储介质。
背景技术
随着计算机技术的发展,歌声合成技术逐渐得到广泛应用,为生成逼真的歌曲音频,可以将基频作为歌声合成过程中输入的一个声学特征。
在相关技术中,在合成目标歌曲的歌曲音频时,可以获取由其他用户演唱的音频作为参考音频,并通过基频提取工具从参考音频中提取出基频;或者,也可以获取目标歌曲的曲谱,通过曲谱中每个字对应的音高,进行基频预测。
然而,上述方式提取得到的基频普遍存在缺少细节信息的情况,例如缺少真实基频所特有的抖动或抑扬顿挫等细节信息,获取的基频准确性较差。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提升基频提取准确性的基频生成方法、计算机设备和计算机可读存储介质。
第一方面,本申请提供了一种基频生成方法。所述方法包括:
获取歌曲的各歌词对应的音素,以及多个音素之间的顺序信息;
根据每个音素在所述歌曲的曲谱中的音高、音高时长和连音方式信息,生成所述每个音素的编码信息;
按照所述顺序信息将所述多个音素的编码信息输入到训练好的生成模型,由所述生成模型基于每个音素的编码信息以及所述每个音素的上下文音素的编码信息,确定多个帧的预测基频特征;所述每个音素的上下文音素基于所述多个音素之间的顺序信息确定,所述多个帧的总时长与所述歌曲的时长对应;
获取所述多个帧中每个帧的音高,根据所述每个帧的所述音高和所述预测基频特征,确定所述每个帧的基频,并根据所述多个帧的基频,得到所述歌曲的基频。
在其中一个实施例中,所述由所述生成模型基于每个音素的编码信息以及所述每个音素的上下文音素的编码信息,确定多个帧的预测基频特征,包括:
由所述生成模型基于每个音素的编码信息以及所述每个音素的上下文音素的编码信息,确定所述每个音素的音素级别基频特征;
获取目标用户的音色特征,并将每个音素的音素级别基频特征与所述目标用户的音色特征进行融合,得到所述每个音素的融合后的音素级别基频特征;
基于所述每个音素的音素时长,将所述每个音素的融合后的音素级别基频特征映射为多个帧级别的基频特征;
基于多个音素对应的帧级别的基频特征,获取多个帧的预测基频特征。
在其中一个实施例中,所述生成模型包括多个自注意力模块,所述多个自注意力模块用于对所述多个音素的编码信息进行不同维度的特征提取;
所述由所述生成模型基于每个音素的编码信息以及所述每个音素的上下文音素的编码信息,确定所述每个音素的音素级别基频特征,包括:
由所述生成模型对输入到每个自注意力模块的每个音素的编码信息,以及所述每个音素的上下文音素的编码信息,进行自注意力计算,得到每个自注意力模块在对应维度下的特征提取结果;
根据各个自注意力模块的特征提取结果,确定所述每个音素对应的音素级别基频特征。
在其中一个实施例中,所述基于所述每个音素的音素时长,将所述每个音素的融合后的音素级别基频特征映射为多个帧级别的基频特征,包括:
基于预设帧时长和所述每个音素的音素时长,确定所述每个音素的帧数量;
根据所述每个音素的帧数量,对所述每个音素的融合后的音素级别基频特征进行复制,得到所述每个音素对应的多个帧级别的基频特征。
在其中一个实施例中,所述生成模型还包括时长规整网络以及连接在所述时长规整网络之后的残差网络,所述每个音素的融合后的音素级别基频特征通过所述时长规整网络映射为多个帧级别的基频特征;
所述基于多个音素对应的帧级别的基频特征,获取多个帧的预测基频特征,包括:
将所述时长规整网络输出的所述多个音素对应的帧级别的基频特征输入到所述残差网络,依次由所述残差网络对每个音素对应的帧级别的基频特征进行从首个残差块到最后一个残差块的特征传递,得到多个帧的预测基频特征。
在其中一个实施例中,所述获取所述多个帧中每个帧的音高,包括:
根据所述歌曲的曲谱获取所述歌曲的每个音符的音高,以及每个音符的音高时长;
基于所述每个音符的音高时长,将所述每个音符的音高映射为多个帧的音高。
在其中一个实施例中,所述根据所述每个帧的所述音高和所述预测基频特征,确定所述每个帧的基频,包括:
根据所述每个帧的音高确定所述每个帧的初始基频;
根据所述每个帧的预测基频特征对所述每个帧的初始基频进行调整,得到所述每个帧的基频。
在其中一个实施例中,所述生成模型通过如下步骤训练得到:
获取样本歌曲的各歌词对应的样本音素;
根据每个样本音素在所述样本歌曲的曲谱中的音高、音高时长和连音方式信息,生成所述每个样本音素的编码信息;
获取待训练的生成器和判别器,并按照多个样本音素之间的顺序信息将所述多个样本音素的编码信息输入到所述生成器,由所述生成器基于每个样本音素的编码信息以及所述每个样本音素的上下文样本音素的编码信息,确定多个帧的样本预测基频特征;所述每个样本音素的上下文样本音素基于所述多个样本音素之间的顺序信息确定,所述多个帧的总时长与所述歌曲样本的时长对应;
获取所述多个帧中每个帧对应于所述样本歌曲的音高,根据所述每个帧对应于所述样本歌曲的音高和所述样本预测基频特征,确定所述每个帧的基频,并根据所述多个帧的基频,得到所述样本歌曲的预测基频;
根据所述预测基频和所述样本歌曲的基频标签,对所述生成器和判别器进行对抗训练,并在满足训练结束条件时,将所述生成器确定为所述生成模型。
在其中一个实施例中,所述根据所述预测基频和所述样本歌曲的基频标签,对所述生成器和判别器进行对抗训练,包括:
将所述样本歌曲的预测基频输入到当前判别器,由所述当前判别器获取所述预测基频为真实基频的预测概率;
基于所述预测概率对所述当前判别器进行调整;以及,
基于所述预测概率、所述预测基频和所述基频标签,确定当前生成器的损失值,并根据所述损失值对所述当前生成器的模型参数进行调整。
在其中一个实施例中,所述将所述样本歌曲的预测基频输入到当前判别器,由所述当前判别器获取所述预测基频为真实基频的预测概率,包括:
将所述样本歌曲的预测基频输入到当前判别器,由所述当前判别器从所述预测基频中随机截取预设长度的目标基频,并将所述目标基频变换为多种不同结构的二维矩阵;
将每种二维矩阵分别输入到对应的子判别器,由所述子判别器获取所述预测基频为真实基频的子概率;
根据各个子判别器输出的子概率,获取所述样本歌曲的预测基频为真实基频的预测概率。
第二方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取歌曲的各歌词对应的音素,以及多个音素之间的顺序信息;
根据每个音素在所述歌曲的曲谱中的音高、音高时长和连音方式信息,生成所述每个音素的编码信息;
按照所述顺序信息将所述多个音素的编码信息输入到训练好的生成模型,由所述生成模型基于每个音素的编码信息以及所述每个音素的上下文音素的编码信息,确定多个帧的预测基频特征;所述每个音素的上下文音素基于所述多个音素之间的顺序信息确定,所述多个帧的总时长与所述歌曲的时长对应;
获取所述多个帧中每个帧的音高,根据所述每个帧的所述音高和所述预测基频特征,确定所述每个帧的基频,并根据所述多个帧的基频,得到所述歌曲的基频。
第三方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取歌曲的各歌词对应的音素,以及多个音素之间的顺序信息;
根据每个音素在所述歌曲的曲谱中的音高、音高时长和连音方式信息,生成所述每个音素的编码信息;
按照所述顺序信息将所述多个音素的编码信息输入到训练好的生成模型,由所述生成模型基于每个音素的编码信息以及所述每个音素的上下文音素的编码信息,确定多个帧的预测基频特征;所述每个音素的上下文音素基于所述多个音素之间的顺序信息确定,所述多个帧的总时长与所述歌曲的时长对应;
获取所述多个帧中每个帧的音高,根据所述每个帧的所述音高和所述预测基频特征,确定所述每个帧的基频,并根据所述多个帧的基频,得到所述歌曲的基频。
第四方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取歌曲的各歌词对应的音素,以及多个音素之间的顺序信息;
根据每个音素在所述歌曲的曲谱中的音高、音高时长和连音方式信息,生成所述每个音素的编码信息;
按照所述顺序信息将所述多个音素的编码信息输入到训练好的生成模型,由所述生成模型基于每个音素的编码信息以及所述每个音素的上下文音素的编码信息,确定多个帧的预测基频特征;所述每个音素的上下文音素基于所述多个音素之间的顺序信息确定,所述多个帧的总时长与所述歌曲的时长对应;
获取所述多个帧中每个帧的音高,根据所述每个帧的所述音高和所述预测基频特征,确定所述每个帧的基频,并根据所述多个帧的基频,得到所述歌曲的基频。
上述基频生成方法、计算机设备和计算机可读存储介质,可以获取歌曲的各歌词对应的音素,以及多个音素之间的顺序信息,并根据每个音素在歌曲的曲谱中的音高、音高时长和连音方式信息,生成每个音素的编码信息;进而,可以按照顺序信息将多个音素的编码信息输入到训练好的生成模型,由生成模型基于每个音素的编码信息以及每个音素的上下文音素的编码信息,确定多个帧的预测基频特征,其中,每个音素的上下文音素基于多个音素之间的顺序信息确定,多个帧的总时长与歌曲的时长对应;且可以获取多个帧中每个帧的音高,然后根据每个帧的音高和预测基频特征,确定每个帧的基频,并根据多个帧的基频,得到歌曲的基频。在本申请中,一方面,基于音素以及音素上下文的编码信息生成预测基频特征,使得预测基频特征可以受到上下文音素的影响,增加了预测基频特征与上下文音素之间的关联性,避免孤立地分析每个音素的基频,有效获取到基频准确的细节信息,另一方面,通过获取多个帧的预测基频特征并结合多个帧中每个帧的音高确定每帧的基频,细化了基频的分析粒度,能够为歌曲整体的基频补充更多细节信息,从而提升了基频提取结果的准确性,使最终预测得到的基频更加贴近歌曲被演唱时真实的基频曲线。
附图说明
图1为一个实施例中一种基频生成方法的流程示意图;
图2a为一个实施例中一种预测基频的示意图;
图2b为一个实施例中另一种预测基频的示意图;
图3为一个实施例中一种获取预测基频特征的步骤的流程示意图;
图4为一个实施例中一种残差网络的结构示意图;
图5为一个实施例中一种训练生成模型的流程示意图;
图6为一个实施例中一种生成器的结构示意图;
图7为一个实施例中一种判别器的结构示意图;
图8为一个实施例中一种计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为了使本领域技术人员更好地理解本申请,以下对相关技术中获取基频的方式进行说明。在相关技术中,在合成目标歌曲的歌曲音频时,可以获取由其他用户演唱目标歌曲的音频作为参考音频,并通过基频提取工具从参考音频中提取出基频;或者,也可以获取目标歌曲的曲谱,通过曲谱中每个字对应的音高,进行基频预测。
然而,第一种方式中,若参考音频中混有伴奏,基频将难以准确提取,即使参考音频没有混入伴奏,提取出的基频严重依赖于演唱参考音频的用户的演唱水平,最终提取得到的基频往往过于平直。第二种方式得到的基频普遍缺乏真实基频所特有的抖动及抑扬顿挫等细节,特别是在长音(如单个音素持续时间大于2秒)的情况下,预测的基频会存在过于平直的缺点。基于此,本申请提供了一种基频生成方法,能够获取到具有丰富细节信息的基频,有效提高基频提取的准确性。
在一个实施例中,如图1所示,提供了一种基频生成方法,本实施例以该方法应用于服务器进行举例说明,可以理解的是,该方法也可以应用于终端,还可以应用于包括终端和服务器的***,并通过终端和服务器的交互实现。
其中,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现;服务器可以具有数据存储***,该数据存储***可用于存储服务器需要处理的数据,例如待生成基频的歌曲,数据存储***可以集成在服务器上,也可以放在云上或其他网络服务器上。
其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等;便携式可穿戴设备可为智能手表、智能手环、头戴设备等。
在本实施例中,该方法包括以下步骤:
S101,获取歌曲的各歌词对应的音素,以及多个音素之间的顺序信息。
其中,音素是根据语音的自然属性划分出来的最小语音单位,基于音节里的发音动作进行分析,一个发音动作可以对应一个音素。
歌曲可以是一首完整歌曲,也可以是完整歌曲中的一个片段,例如一句或多句唱词。
歌词可以包括通过具体文字记载的字符,也可以包括通过预设符号标示的字符,例如通过省略号或表示“重复”意思的符号所表达的字符。
多个音素之间的顺序信息可以基于多个音素的演唱顺序确定。
在实际应用中,响应于基频提取请求,可以确定基频提取请求针对的歌曲。具体例如,终端或其他服务器可以请求获取针对指定歌曲的基频,并向服务器发送针对该歌曲的基频提取请求,进而终端或其他服务器可以基于服务器返回的该歌曲的基频进行后续处理,如基于服务器返回的基频进行歌曲合成、频谱预测或模型训练等。又如,终端或其他服务器可以向服务器发送针对指定歌曲的歌曲合成请求,在接收到歌曲合成请求后,服务器可以视为接收到针对指定歌曲的基频提取请求。
在确定基频提取请求针对的歌曲后,可以获取歌曲的歌词,该歌词可以包括中文歌词,也可以包括外文歌词,如英语、日语、法语等;然后,对于获取到的歌曲的歌词,可以确定歌词中各个字符的音素以及多个音素之间的顺序信息。
S102,根据每个音素在歌曲的曲谱中的音高、音高时长和连音方式信息,生成每个音素的编码信息。
连音方式信息可以表示在演唱对应歌词时连音技巧的应用情况,示例性地,可以包括以下至少一种信息:是否连音、连音的开始位置、连音的结束位置、连音的持续时间。
编码信息可以是进行编码处理后得到的编码结果,在一示例中,编码信息可以是通过embedding(嵌入)层生成的一个多维向量。
具体实现中,可以获取歌曲的曲谱。歌曲的曲谱中可以记录有多种信息,例如音符、连音符、临时变音记号、延长记号、段落反复记号等,根据歌曲的曲谱可以确定每个音素在曲谱中的音高、音高时长和连音方式信息。
具体例如,可以根据曲谱中的音符获取字符级别的音高,针对每个字符,可以将该字符的音高作为组成该字符的音素的音高;又如,在确定音素的音高后,可以根据曲谱中音符的节拍数确定音高时长;针对连音方式信息,可以根据曲谱中的连音符确定出歌唱时的连音方式,示例性地,连音方式信息可以表征对应音素是否通过连音演唱的方式演绎,此外,还可以根据歌曲的曲谱得到转音方式信息,其可以表征对应音素是否通过转音演唱的方式演绎。
然后,可以对每个音素以及每个音素的音高、音高时长和连音方式信息进行编码,得到每个音素的音高编码信息、音高时长编码信息以及连音方式编码信息,并且可以根据每个音素的音高编码信息、音高时长编码信息以及连音方式编码信息,生成每个音素的编码信息。
S103,按照顺序信息将多个音素的编码信息输入到训练好的生成模型,由生成模型基于每个音素的编码信息以及每个音素的上下文音素的编码信息,确定多个帧的预测基频特征。
其中,每个音素的上下文音素基于多个音素之间的顺序信息确定,多个帧的总时长与歌曲的时长对应。
在一示例中,预测基频特征可以表征被预测基频具有的变化特征或抖动特征,例如可以表征基频抖动或抑扬顿挫等细节信息的特征。
具体实现中,在演唱不同内容的歌曲时,用户声音变化的方式存在差异,例如音高变化较平缓的歌词(如《澎湖湾》的“晚风轻拂澎湖湾”)与音高变化明显(如《我的祖国》“一条大河波浪宽”)的歌词,或者在演唱相同歌词时是否使用连音、转音或假音方式演唱,最终得到的演唱效果以及被演唱歌曲对应的基频变化都会存在差异。可以理解,实际中用户演唱歌曲时,对应的基频并非是平直的,而是可以根据前后演唱内容的变化而相应发生变化。
在本实施例中,在得到可以表征音素的音高、音高时长和连音方式信息的编码信息后,可以按照多个音素之间的顺序信息,将多个音素的编码信息依次输入到训练好的生成模型。
在一可选的实施例中,可以通过embedding层将音素、音素的音高、音高时长和连音方式信息转化为一个多维向量,该多维向量的长度为M,则T个音素的编码信息可以依次组成一个序列长度为T的向量序列,在向生成模型输入编码信息时,可以将该向量序列作为输入内容输入到生成模型中。
在获取到按照顺序信息输入的多个音素的编码信息后,对于输入的每个音素的编码信息,生成模型可以基于多个编码信息的输入顺序确定每个音素的上下文音素,并获取每个上下文音素的编码信息,然后可以结合各个音素的编码信息以及上下文音素的编码信息,确定多个帧的预测基频特征。可以理解,在本步骤中,通过基于音素以及音素上下文的编码信息,生成预测基频特征,使得每一帧的预测基频特征,除了可以基于相应音素(即每一帧归属的音素)的编码信息确定以外,还可以受到该音素前后的上下文音素影响,令到预测基频特征更加贴近真实基频(真实人声演唱歌曲时的基频)所具有的基频特征。
S104,获取多个帧中每个帧的音高,根据每个帧的所述音高和预测基频特征,确定每个帧的基频,并根据多个帧的基频,得到歌曲的基频。
实际应用中,语音中的元音与浊辅音会有相应的基频,反应了声带震动的频率,其范围一般在100hz到400hz之间;每首歌曲的曲谱反映了每个字被演唱时应处的音高,音高的单位也是赫兹(hz),音高与基频之间存在对应关系,音高可以由声音的基频决定。然而,基于音高直接计算得到的基频缺少变化,与用户演唱时所产生的存在抖动或抑扬顿挫的基频不同,存在过于生硬平直的缺点,缺少真实基频所具备的细节信息。
在本步骤中,除了可以获取多个帧的预测基频特征,还可以获取多个帧的音高,在一实施例中,可以通过歌曲的曲谱获取帧级别的音高,从而得到多个帧中每个帧的音高。由于预测基频特征可以表征相应帧的基频所具有的变化特征,相应帧的音高可以确定出与该音高对应的基频,因此可以在每个帧的音高的基础上,结合每个帧的预测基频特征,进行基频预测,确定出每个帧的基频,并根据多个帧的基频,得到歌曲的基频,例如可以将得到的多个帧的基频进行拼接,得到歌曲的基频。图2a和图2b分别示出了一种预测的基频的部分,从图2a和图2b可以看出预测得到的基频包含较多的抖动,更加贴近真实基频曲线。
上述基频生成方法中,可以获取歌曲的各歌词对应的音素,以及多个音素之间的顺序信息,并根据每个音素在歌曲的曲谱中的音高、音高时长和连音方式信息,生成每个音素的编码信息;进而,可以按照顺序信息将多个音素的编码信息输入到训练好的生成模型,由生成模型基于每个音素的编码信息以及每个音素的上下文音素的编码信息,确定多个帧的预测基频特征,其中,每个音素的上下文音素基于多个音素之间的顺序信息确定,多个帧的总时长与歌曲的时长对应;且可以获取多个帧中每个帧的音高,然后根据每个帧的音高和预测基频特征,确定每个帧的基频,并根据多个帧的基频,得到歌曲的基频。在本申请中,一方面,基于音素以及音素上下文的编码信息生成预测基频特征,使得预测基频特征可以受到上下文音素的影响,增加了预测基频特征与上下文音素之间的关联性,避免孤立地分析每个音素的基频,有效获取到基频准确的细节信息,另一方面,通过获取多个帧的预测基频特征并结合多个帧中每个帧的音高确定每帧的基频,细化了基频的分析粒度,能够为歌曲整体的基频补充更多细节信息,从而提升了基频提取结果的准确性,使最终预测得到的基频更加贴近歌曲被演唱时真实的基频曲线。
在一个实施例中,如图3所示,S103中由生成模型基于每个音素的编码信息以及每个音素的上下文音素的编码信息,确定多个帧的预测基频特征,可以包括如下步骤:
S301,由生成模型基于每个音素的编码信息以及每个音素的上下文音素的编码信息,确定每个音素的音素级别基频特征。
在将多个音素的编码信息输入到生成模型后,生成模型可以结合每个音素的编码信息以及每个音素的上下文音素的编码信息进行特征提取,基于特征提取结果得到每个音素的音素界级别基频特征。其中,音素级别基频特征可以是表征音素对应的基频所具有的变化特征,一个音素级别基频特征可以与一个音素对应。
S302,获取目标用户的音色特征,并将每个音素的音素级别基频特征与目标用户的音色特征进行融合,得到每个音素的融合后的音素级别基频特征。
作为一示例,目标用户可以是待进行歌声合成的用户,目标用户可以请求合成具有目标用户声音特点的歌曲,从而可以在目标用户不演唱的情况下模拟出由目标用户演唱的歌声。
实际应用中,可以获取目标用户的音色特征,然后可以将每个音素的音素级别基频特征与目标用户的音色特征进行融合,得到每个音素的融合后的音素级别基频特征,例如,可以将每个音素的音素级别基频特征与目标用户的音色特征进行拼接,基于拼接得到的特征作为融合后的音素级别基频特征。
S303,基于每个音素的音素时长,将每个音素的融合后的音素级别基频特征映射为多个帧级别的基频特征。
实际应用中,音素的时长往往远大于一个帧的时长,若直接基于音素级别基频特征进行基频预测,则时间粒度大,最终预测得到的基频将较为粗糙。在本步骤中,在得到融合后的音素级别基频特征后,可以对基频特征关联的时间粒度大小进行调整,基于每个音素的音素时长,将音素级别基频特征映射为多个帧级别的基频特征。
S304,基于多个音素对应的帧级别的基频特征,获取多个帧的预测基频特征。
在得到每个音素对应的多个帧级别的基频特征后,可以基于各个音素对应的多个帧级别的基频特征,得到多个帧的预测基频特征。
在本实施例中,一方面,可以将目标用户的音色特征与音素级别基频特征进行融合,提升最终预测得到的基频与目标用户声音的匹配性,另一方面,通过将音素级别基频特征映射为多个帧级别的基频特征,能够细化基频特征的粒度,为后续确定每个帧的基频提供基础。
在一个实施例中,生成模型包括多个自注意力模块,多个自注意力模块用于对多个音素的编码信息进行不同维度的特征提取;在一示例中,自注意力模块可以是Feed-Forward Transformer block(FFT模块),该模块为一种基于自注意力机制的前馈网络,可以理解的是,也可以结合实际情况使用基于自注意力机制进行特征提取的网络。步骤S301中由生成模型基于每个音素的编码信息以及每个音素的上下文音素的编码信息,确定每个音素的音素级别基频特征,可以包括如下步骤:
由生成模型对输入到每个自注意力模块的每个音素的编码信息,以及每个音素的上下文音素的编码信息,进行自注意力计算,得到每个自注意力模块在对应维度下的特征提取结果;根据各个自注意力模块的特征提取结果,确定每个音素对应的音素级别基频特征。
具体实现中,在将多个音素的编码信息按照顺序信息输入到生成模型后,可以将音素的编码信息输入到自注意力模块。针对多个自注意力模块中每个自注意力模块,该自注意力模块可以对输入到模块内的每个音素的编码信息以及每个音素的上下文音素的编码信息进行自注意力计算,得到该自注意力模块的特征提取结果。
在一个可选的实施例中,多个自注意力模块可以为级联的多个自注意力模块,即多个自注意力模块可以串联,首个自注意力模块输入的多个音素的编码信息可以为根据音高、音高时长和连音方式信息生成的编码信息,其他自注意力模块输入的多个音素的编码信息可以是经过上一自注意力模块进行特征提取后得到的特征提取结果,各个自注意力模块的特征提取结果可以依次进行从首个自注意力模块到最后一个自注意力模块的特征传递,并基于最后一个自注意力模块输出的特征提取结果,得到每个音素对应的音素级别基频特征。
在另一个可选的实施例中,多个自注意力模块也可以是并联的多个自注意力模块,例如可以基于多头自注意力机制将多个自注意力模块并联,进而可以获取每个自注意力模块分别输出的特征提取结果。
在本实施例中,通过多个自注意力模块对每个音素的编码信息以及每个音素的上下文音素的编码信息进行自注意力计算,能够对音素的编码信息以及上下文音素的编码信息进行不同维度的特征提取,增强生成模型和最终提取到的音素级别基频特征的表达能力。
在一个实施例中,S303基于每个音素的音素时长,将每个音素的融合后的音素级别基频特征映射为多个帧级别的基频特征,可以包括如下步骤:
基于预设帧时长和每个音素的音素时长,确定每个音素的帧数量;根据每个音素的帧数量,对每个音素的融合后的音素级别基频特征进行复制,得到每个音素对应的多个帧级别的基频特征。
具体实现中,可以基于单个帧的时间长度确定预设帧时长,由于一个音素的音素时长往往大于一帧的时长,在确定预设帧时长后,可以确定每个音素时长涵盖的预设帧时长,例如可以确定音素时长与预设帧时长的比值,得到每个音素的帧数量。然后,可以根据每个音素的帧数量,对每个音素的融合后的音素级别基频特征进行复制,例如某音素的音素时长为5帧,该音素对应的音素级别基频特征为向量F,则可以将该向量复制5遍,由此得到每个音素对应的多个帧级别的基频特征。相应地,生成模型最终输出的向量序列长度,会从原来音素数量T转变为歌曲对应的帧数量P,帧数量P涵盖的总时长与歌曲的时长对应。
在本实施例中,通过对每个音素的融合后的音素级别基频特征进行复制,能够快速得到每个音素对应的多个帧级别的基频特征。
在一个实施例中,生成模型还包括时长规整网络以及连接在时长规整网络之后的残差网络,其中,时长规整网络可用于建立不同时间粒度的特征之间的映射关系,为便于与其他时长规整网络区分,本实施例中的时长规整网络也可以称为第一时长规整网络。实际应用中,在得到音素级别基频特征后,可以将每个音素融合后的音素级别基频特输入到第一时长规整网络,由第一时长规整网络基于每个音素的音素时长,将每个音素的融合后的音素级别基频特征映射为多个帧级别的基频特征。
残差网络也可以称为残差神经网络(Resnet),残差网络可以理解为是在卷积神经网络的基础上增加了残差块,其中,生成模型中的残差网络可以包括多个残差块。具体而言,每一个残差块可以由直接映射部分和残差部分组成,残差部分可以包含至少一个卷积层,对于残差块输入xl,可以将该输入xl分别输入到直接映射部分和残差部分进行处理,残差部分可以对输入xl进行卷积操作得到F(x),直接映射部分则可以将xl直接输出,进而可以基于残差部分的卷积操作结果F(x)与直接映射部分的输出xl,得到F(x)+xl。残差块的结构可以将前面层的输入引入当前层,生成模型中通过将多个残差块级联,既可以增加网络深度,提升生成网络学习基频抖动特征并输出准确结果的性能,又可以避免网络在加深的过程中出现梯度消失或梯度***问题。
所述基于多个音素对应的帧级别的基频特征,获取多个帧的预测基频特征,可以包括如下步骤:
将时长规整网络输出的多个音素对应的帧级别的基频特征输入到残差网络,依次由所述残差网络对每个音素对应的帧级别的基频特征进行从首个残差块到最后一个残差块的特征传递,得到多个帧的预测基频特征。
在得到各个音素对应的帧级别的基频特征后,可以将各个音素对应的多帧级别的基频特征输入到残差网络,使每个音素对应的帧级别的基频特征在残差网络级联的多个残差块中,进行从首个残差块到最后一个残差块的特征传递,并基于残差网络的输出结果得到多个帧的基频抖动特征。
相较于传统方式中将说话人的音色特征输出到模型最开始的位置,例如在开始时将音色特征输入到模型中并立即对输入的音色特征进行处理,本实施例是在融合音色特征与音素级别基频特征、并映射为帧级别的基频特征之后,再将帧级别的基频特征输入到残差网络,也即在得到音素级别基频特征之后、输出最终的预测基频特征之前,将音色特征添加到生成模型中。该处理阶段与生成模型输出结果的阶段更加接近,换句话说,更加贴近生成模型的最终输出(即预测基频特征),通过在该位置引入音色特征后再输入到残差网络进行处理,能够使说话人的音色特征更有效地影响最终输出的预测基频特征,使预测得到的基频更加符合说话人的声音特点。
在一个实施例中,残差网络中的残差块在对输入进行卷积操作时,可以通过空洞卷积实现,空洞卷积也可以称为扩张卷积或者膨胀卷积,可以理解为是在卷积核元素之间加入一些空格(零)来扩大原有的卷积核的过程。
在一些可选的实施例中,残差网络的结构可以如图4所示,该残差网络中可以包括6个级联的残差块。多个音素各自对应的多帧拼接特征作为输入,输入到残差网络后,可以依次通过全连接层和激活函数后,再输入到残差块(图中仅示出了一个残差块,未示出级联的其他残差块)。在多帧拼接特征依次经过多个残差块进行特征传递后,可以对最后一个残差块输出的特征进行卷积处理,并将卷积处理后得到的特征作为多个帧的基频抖动特征。
在残差网络中,可以利用卷积函数Conv1d(channel,kernel size,dialation)进行一维卷积,其中,channel为通道数,kernel size为卷积核大小,dialation为空洞卷积的卷积扩张率,卷积扩张率与卷积核的大小呈正相关,示例性地,残差网络不同残差块中的卷积扩张率可以不同,同一个残差块中也可以使用不同的卷积扩张率进行不同的空洞卷积,例如,残差网络中各个残差块使用的卷积扩张率dialation可以在以下多种数值中选取:1,3,5,7,9,11。在一些示例中,当Conv1d的卷积核大小都为13并结合空洞卷积,对于残差网络输出的每个向量(即每帧的拼接特征),以受到前后516个向量的影响,每个向量对应一帧,实际中一个典型的帧长度为16ms,则该帧可以受到前后约8.3s(16ms*516≈8.3s)数据的影响,而歌声中的长音一般在2到6s,则残差网络的感受视野足以满足该时长需求。
在本实施例中,通过在残差网络中利用空洞卷积对输入的特征进行卷积处理,能够有效扩大生成模型对特征的感受野,提高生成模型对每个音素上下文信息的建模能力,使得最终得到每一帧的基频抖动特征可以受其前后数帧的上下文信息影响,有效获取到每帧基频的细节信息。
在一个实施例中,获取多个帧中每个帧的音高,可以包括如下步骤:
根据歌曲的曲谱获取所述歌曲的每个音符的音高,以及每个音符的音高时长;基于每个音符的音高时长,将每个音符的音高映射为多个帧的音高。
作为一示例,音高时长可以是音高的持续时长。
实际应用中,可以获取歌曲的曲谱,基于曲谱记录的旋律,得到歌曲的音高序列,该音高序列中可以包括曲谱中依次排列的多个音高。并且,可以根据曲谱确定音高序列中每个音高的音高时长,例如可以根据曲谱中每个音高对应的节拍数确定出音高时长。
在获取到各音高的音高时长后,可以基于预设帧时长和每个音符的音高时长,将每个音符的音高映射为多个帧的音高。在一个实施例中,可以通过时长规整网络实现音符与帧之间的音高映射,为便于区分,可以将该实施例中的时长规整网络称为第二时长规整网络,具体而言,可以将各音高和各音高的音高时长输入到第二时长规整网络,由第二时长规整网络基于每个音符的音高时长,将每个音符的音高映射为多个帧的音高。
在本实施例中,通过基于每个音符的音高时长,将每个音符的音高映射为多个帧的音高,可以细致化地预测出帧级别的音高,为后续生成具有更多细节信息的基频提供基础。
在一个实施例中,步骤S104中根据每个帧的音高和预测基频特征,确定每个帧的基频,可以包括如下步骤:
根据每个帧的音高确定每个帧的初始基频;根据每个帧的预测基频特征对每个帧的初始基频进行调整,得到每个帧的基频。
具体实现中,声音的音高与声音的基频之间存在对应关系,在得到多个帧各自的音高后,针对每个帧,可以将与该帧音高对应的基频作为该帧的初始基频。然后,对于每个帧的初始基频,可以获取由生成模型针对该帧输出的预测基频特征,并根据预测基频特征对该帧的初始基频进行调整,例如可以根据预测基频特征对初始基频抖动的幅度、频率或次数进行调整;进而可以将每帧的调整结果作为每帧的基频。
在本实施例中,通过基于每帧的预测基频特征对每帧的初始基频进行调整,能够显著丰富预测得到的基频的细节信息,提升预测基频与真实基频之间的相似性,有助于获取到准确的基频。
在一个实施例中,生成模型通过如下步骤训练得到:
S401,获取样本歌曲的各歌词对应的样本音素。
其中,样本歌曲可以为用于进行模型训练的歌曲,示例性地,样本歌曲中的每一句或多句唱词可以作为一条训练数据。
具体地,可以获取样本歌曲的歌词,并确定样本歌曲的歌词中各个字符的音素,作为多个样本音素。
S402,根据每个样本音素在样本歌曲的曲谱中的音高、音高时长和连音方式信息,生成每个样本音素的编码信息。
在确定样本歌曲各个字符的样本音素后,还可以进一步获取样本歌曲的曲谱。具体实现中,样本歌曲的曲谱中可以记录有多种信息,例如音符、连音符、临时变音记号、延长记号、段落反复记号等,根据样本歌曲的曲谱可以确定每个样本音素在曲谱中的音高、音高时长和连音方式信息。进而可以对每个样本音素的音高、音高时长和连音方式信息进行编码,得到每个样本音素的音高编码信息、音高时长编码信息以及连音方式编码信息,并且可以根据每个样本音素的音高编码信息、音高时长编码信息以及连音方式编码信息,生成每个样本音素的编码信息。
S403,获取待训练的生成器和判别器,并按照多个样本音素之间的顺序信息将所述多个样本音素的编码信息输入到所述生成器,由生成器基于每个样本音素的编码信息以及每个样本音素的上下文样本音素的编码信息,确定多个帧的样本预测基频特征。
其中,每个样本音素的上下文样本音素基于多个样本音素之间的顺序信息确定,多个帧的总时长与歌曲样本的时长对应。
实际应用中,可以通过多种方式进行模型训练,生成式对抗网络(GenerativeAdversarial Networks,GAN)包括至少两个部分:生成器(Generative Model)和判别器(Discriminative Model),其作为一种深度学习模型,可以通过互相博弈学习得到优秀的训练效果。
在本步骤中,可以获取待训练的生成器和判别器,其中,生成器可用于预测基频特征,判别器可以用于对输入的基频进行判别,获取输入的基频为真实基频的概率。
在得到多个样本音素中每个样本音素的编码信息后,可以获取多个样本音素之间的顺序信息,并按照该顺序信息将多个样本音素的编码信息输入到待训练的生成器,由生成器基于每个样本音素的编码信息以及每个样本音素的上下文样本音素的编码信息,确定多个帧的样本预测基频特征。
S404,获取多个帧中每个帧对应于样本歌曲的音高,根据每个帧对应于样本歌曲的音高和样本预测基频特征,确定每个帧的基频,并根据多个帧的基频,得到样本歌曲的预测基频。
此外,在获取到多个帧后,可以根据样本歌曲的曲谱,确定多个帧中每个帧对应于样本歌曲的音高,然后可以根据每个帧对应于样本歌曲的音高以及每个帧的样本预测基频特征,确定每个帧的基频,并结合多个帧的基频得到样本歌曲的预测基频。
其中,步骤S403和S404的过程可以与生成模型获取预测基频特征并基于预测基频特征生成歌曲的基频的步骤相同,具体过程可以参考S103、S104以及前文相关的实施例,本实施例对此不作赘述。
S405,根据预测基频和样本歌曲的基频标签,对生成器和判别器进行对抗训练,并在满足训练结束条件时,将生成器确定为生成模型。
实际应用中,在获取到样本歌曲后,还可以从样本歌曲的音频中提取出多个帧级别的基频,并根据提取得到的多个帧级别的基频,生成样本歌曲的基频标签。在获取到预测基频后,可以根据预测基频和样本歌曲的基频标签,对生成器和判别器进行对抗训练,在满足训练结束条件时,得到训练好的生成器和判别器,然后可以将其中训练好的生成器确定为后续用于获取预测基频特征的生成模型。
在本实施例中,通过引入生成式对抗网络,可以借助判别器指导生成模型的学习,令到基于预测基频特征生成的基频可以更加贴近真实基频,有助于还原出真实基频的细节信息。
在一个实施例中,S405根据预测基频和样本歌曲的基频标签,对生成器和判别器进行对抗训练,可以包括如下步骤:
将样本歌曲的预测基频输入到当前判别器,由当前判别器获取预测基频为真实基频的预测概率;基于预测概率对当前判别器进行调整;以及,基于预测概率、预测基频和基频标签,确定当前生成器的损失值,并根据损失值对当前生成器的模型参数进行调整。
在获取到样本歌曲的预测基频后,可以将样本歌曲的预测基频输入到当前判别器,由当前判别器获取预测基频为真实基频的预测概率,然后,可以根据判别器输出的预测概率对生成器和判别器进行调整。
具体而言,在调整生成器的模型参数时,可以先固定当前判别器的模型参数,并根据判别器输出的预测概率、预测基频和基频标签,确定当前生成器的损失值。生成器的损失值可以包括两部分,为便于区分,可以称为第一损失值和第二损失值:第一损失值可以基于预测基频和基频标签之间的差异确定,第二损失值可以根据预测概率和第一预设概率之间的差值确定,其中,第一预设概率指示基频为真实基频,在一示例中,第一预设概率的取值为1。则生成器的损失函数L1可以如下所示:
L1=MSE(预测基频,基频标签)+MSE(D(预测基频),1)*w
其中,MSE为最小均方误差损失,D(预测基频)为判别器输出的预测概率,w为权重系数。
在固定当前判别器的模型参数后,可以重复上述步骤对生成器的模型参数进行多次调整,直到满足切换条件。
然后,可以固定当前生成器的模型参数,切换为对当前判别器的模型参数的调整。针对判别器,可以根据判别器输出的预测概率以及基频标签,确定判别器的损失值。判别器的损失值可以包括两部分,为便于区分,可以称为第三损失值和第四损失值。
第三损失值可以表征判别器在判别真实的基频是否为真时,判别结果与实际情况之间的差异,具体地,可以将基频标签输入到当前判别器,得到判别器确定基频标签为真实基频的预测概率,然后基于该预测概率与第一预设概率之间的差异,确定第三损失值。
第四损失值可以表征判别器在判别预测的基频是否为假时,判别结果与实际情况之间的差异,在确定第四损失值时,可以将预测基频输入到当前判别器,得到判别器确定预测基频为真实基频的预测概率,并基于该预测概率与第二预设概率的差异,得到第四损失值,其中,第二预设概率指示基频为伪造基频,在一示例中,第二预设概率的取值为0。则判别器的损失函数L2可以如下所示:
L1=MSE(D(基频标签),1)*w 1+MSE(D(预测基频),0)*w2
其中,w1、w2为权重系数。
为了使本领域技术人员能够更好地理解上述步骤,以下通过一个例子对本申请实施例加以示例性说明,但应当理解的是,本申请实施例并不限于此。
如图5所示,在获取到样本歌曲的歌词后,对于每个样本音素,可以基于样本音素、样本音素的音高、音高时长以及样本音素是否连音,生成样本音素的编码信息,并输入到待训练的生成器,生成器可以基于输入的编码信息确定样本预测基频特征。
在一实施例中,生成器的内部结构可以如图6所示,样本音素、样本音素的音高、音高时长以及指示样本音素是否连音的连音属性可以输入生成器中,并获取各自对应的特征向量(embedding),并将每个样本音素在各维度下的特征向量(包括样本音素、音高、音高时长以及连音属性)拼接起来,得到每个样本音素的编码信息,多个样本音素的编码信息可以构成向量序列。
然后可以将该向量序列输入到级联的多个自注意力模块(例如6个),得到音素级别基频特征,可以将音素级别基频特征与说话人ID对应的编码信息,通过相加的方式进行融合,得到融合后的音素级别基频特征,其中,说话人ID对应的编码信息可用于区分不同的说话人,通过添加说话人ID对应的编码信息,可以使最终预测得到的基频更加符合对应说话人的声音特点。在得到融合后的音素级别基频特征后,可以通过时长规整网络将音素级别基频特征映射为多个帧级别的基频特征,然后再输入到生成器内部的残差网络进行特征传递,基于残差网络输出的结果得到样本预测基频特征。
如图5所示,还可以获取样本歌曲多个音符的音高,并将多个音符的音高输入到时长规整网络,通过该网络映射为多个帧级别的音高,进而可以结合帧级别的样本预测基频特征和帧级别的音高,得到样本歌曲的预测基频。在一示例中,样本预测基频特征可以为残差,表征基频上下抖动的幅度,则可以通过将帧级别的样本预测基频特征与帧级别的音高相加,得到帧级别的预测基频。
在得到样本歌曲的预测基频后,可以将预测基频输入到判别器,获取判别结果,并结合训练语料提取得到的基频(即上述实施例提到的基频标签),对生成器进行有监督训练,并在对生成器迭代多次后,切换为对判别器的训练。在训练判别器时,同样可以结合训练语料提取出的基频以及预测基频进行有监督训练。
在本实施例中,通过交替训练生成器和判别器,以及基于预测概率、预测基频和基频标签,确定当前生成器的损失值,并根据该损失值调整当前生成器的模型参数,使得生成器获取的预测基频特征可以逐渐逼近真实基频的基频特征,提升基频特征提取的准确性。
在一个实施例中,当前判别器包括多个子判别器;将样本歌曲的预测基频输入到当前判别器,由当前判别器获取预测基频为真实基频的预测概率,可以包括如下步骤:
将样本歌曲的预测基频输入到当前判别器,由当前判别器从预测基频中随机截取预设长度的目标基频,并将目标基频变换为多种不同结构的二维矩阵;将每种二维矩阵分别输入到对应的子判别器,由子判别器获取预测基频为真实基频的子概率;根据各个子判别器输出的子概率,获取样本歌曲的预测基频为真实基频的预测概率。
实际应用中,可以将样本歌曲的预测基频输入到当前判别器,由当前判别器从预测基频中随机截取预设长度的基频片段作为目标基频。具体例如,对于长度200的预测基频,该预测基频的基频序列由200个频点构成,在随机截取时,可以随机生成起始点,并从该起始点截取预设长度的基频片段,若随机生成的起始点为第50个频点,且基频片段最短的长度为70,则可以抽取第50到第120的频点,然后再输入到各个子判别器。每个子判别器中可以包括相间的多个卷积层和激活层,在一示例中,卷积层可以通过conv2d函数实现,激活层可以通过Leadky relu激活函数实现。
在获取到目标基频后,目标基频为1维张量,为了提高判别器的泛化能力,可以将目标基频变换为多种不同结构的二维矩阵,其中,多种不同结构的二维矩阵可以是指长或宽不同的二维矩阵。
在一种可选的实施例中,可以通过reshape(m,n)函数将1维张量转换为2维矩阵,在转换前,可以根据后续需要输出的二维矩阵的结构对目标基频对应的一维张量进行补零,reshape(m,n)中的参数m或n可写为"-1",可用于指示设备根据原数组中的元素总数自动计算行或列的值。例如随机抽取的目标基频的序列长度为70,要对其进行reshape(-1,11)的转换操作,可以先对目标基频补7个0,使其长度为77,然后再进行转换,得到结构为(7,11)的二维矩阵。
判别器中可以包括多个子判别器,多个子判别器分别用于在获取到多种二维矩阵后,可以将每种二维矩阵分别输入到二维矩阵的结构对应的子判别器中,由子判别器获取预测基频为真实基频的子概率,并根据各个子判别器输出的子概率,获取样本歌曲的预测基频为真实基频的预测概率。
例如,判别器的结构可以如图7所示,判别器在获取到预测基频后,可以随机截取目标基频,在根据后续使用的reshape(m,n)函数补充相应数目的零后,可以转换为二维矩阵并输入到相应的子判别器,得到由每个子判别器输出的子概率,进而可以将多个子概率的均值作为判别器的输出结果,得到样本歌曲的预测基频为真实基频的预测概率。
在本实施例中,通过随机抽取目标基频并转换为不同结构的二维矩阵,由多个子判别器分别进行判断,能够起到数据增强的效果,提高判别器的泛化能力。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过***总线连接,通信接口通过输入/输出接口连接到***总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储歌曲数据和基频数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基频生成方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取歌曲的各歌词对应的音素,以及多个音素之间的顺序信息;
根据每个音素在所述歌曲的曲谱中的音高、音高时长和连音方式信息,生成所述每个音素的编码信息;
按照所述顺序信息将所述多个音素的编码信息输入到训练好的生成模型,由所述生成模型基于每个音素的编码信息以及所述每个音素的上下文音素的编码信息,确定多个帧的预测基频特征;所述每个音素的上下文音素基于所述多个音素之间的顺序信息确定,所述多个帧的总时长与所述歌曲的时长对应;
获取所述多个帧中每个帧的音高,根据所述每个帧的所述音高和所述预测基频特征,确定所述每个帧的基频,并根据所述多个帧的基频,得到所述歌曲的基频。
在一个实施例中,处理器执行计算机程序时还实现上述其他实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取歌曲的各歌词对应的音素,以及多个音素之间的顺序信息;
根据每个音素在所述歌曲的曲谱中的音高、音高时长和连音方式信息,生成所述每个音素的编码信息;
按照所述顺序信息将所述多个音素的编码信息输入到训练好的生成模型,由所述生成模型基于每个音素的编码信息以及所述每个音素的上下文音素的编码信息,确定多个帧的预测基频特征;所述每个音素的上下文音素基于所述多个音素之间的顺序信息确定,所述多个帧的总时长与所述歌曲的时长对应;
获取所述多个帧中每个帧的音高,根据所述每个帧的所述音高和所述预测基频特征,确定所述每个帧的基频,并根据所述多个帧的基频,得到所述歌曲的基频。
在一个实施例中,计算机程序被处理器执行时还实现上述其他实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取歌曲的各歌词对应的音素,以及多个音素之间的顺序信息;
根据每个音素在所述歌曲的曲谱中的音高、音高时长和连音方式信息,生成所述每个音素的编码信息;
按照所述顺序信息将所述多个音素的编码信息输入到训练好的生成模型,由所述生成模型基于每个音素的编码信息以及所述每个音素的上下文音素的编码信息,确定多个帧的预测基频特征;所述每个音素的上下文音素基于所述多个音素之间的顺序信息确定,所述多个帧的总时长与所述歌曲的时长对应;
获取所述多个帧中每个帧的音高,根据所述每个帧的所述音高和所述预测基频特征,确定所述每个帧的基频,并根据所述多个帧的基频,得到所述歌曲的基频。
在一个实施例中,计算机程序被处理器执行时还实现上述其他实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (12)
1.一种基频生成方法,其特征在于,所述方法包括:
获取歌曲的各歌词对应的音素,以及多个音素之间的顺序信息;
根据每个音素在所述歌曲的曲谱中的音高、音高时长和连音方式信息,生成所述每个音素的编码信息;
按照所述顺序信息将所述多个音素的编码信息输入到训练好的生成模型,由所述生成模型基于每个音素的编码信息以及所述每个音素的上下文音素的编码信息,确定多个帧的预测基频特征;所述每个音素的上下文音素基于所述多个音素之间的顺序信息确定,所述多个帧的总时长与所述歌曲的时长对应;
获取所述多个帧中每个帧的音高,根据所述每个帧的所述音高和所述预测基频特征,确定所述每个帧的基频,并根据所述多个帧的基频,得到所述歌曲的基频。
2.根据权利要求1所述的方法,其特征在于,所述由所述生成模型基于每个音素的编码信息以及所述每个音素的上下文音素的编码信息,确定多个帧的预测基频特征,包括:
由所述生成模型基于每个音素的编码信息以及所述每个音素的上下文音素的编码信息,确定所述每个音素的音素级别基频特征;
获取目标用户的音色特征,并将每个音素的音素级别基频特征与所述目标用户的音色特征进行融合,得到所述每个音素的融合后的音素级别基频特征;
基于所述每个音素的音素时长,将所述每个音素的融合后的音素级别基频特征映射为多个帧级别的基频特征;
基于多个音素对应的帧级别的基频特征,获取多个帧的预测基频特征。
3.根据权利要求2所述的方法,其特征在于,所述生成模型包括多个自注意力模块,所述多个自注意力模块用于对所述多个音素的编码信息进行不同维度的特征提取;
所述由所述生成模型基于每个音素的编码信息以及所述每个音素的上下文音素的编码信息,确定所述每个音素的音素级别基频特征,包括:
由所述生成模型对输入到每个自注意力模块的每个音素的编码信息,以及所述每个音素的上下文音素的编码信息,进行自注意力计算,得到每个自注意力模块在对应维度下的特征提取结果;
根据各个自注意力模块的特征提取结果,确定所述每个音素对应的音素级别基频特征。
4.根据权利要求2所述的方法,其特征在于,所述基于所述每个音素的音素时长,将所述每个音素的融合后的音素级别基频特征映射为多个帧级别的基频特征,包括:
基于预设帧时长和所述每个音素的音素时长,确定所述每个音素的帧数量;
根据所述每个音素的帧数量,对所述每个音素的融合后的音素级别基频特征进行复制,得到所述每个音素对应的多个帧级别的基频特征。
5.根据权利要求2所述的方法,其特征在于,所述生成模型还包括时长规整网络以及连接在所述时长规整网络之后的残差网络,所述每个音素的融合后的音素级别基频特征通过所述时长规整网络映射为多个帧级别的基频特征;
所述基于多个音素对应的帧级别的基频特征,获取多个帧的预测基频特征,包括:
将所述时长规整网络输出的所述多个音素对应的帧级别的基频特征输入到所述残差网络,依次由所述残差网络对每个音素对应的帧级别的基频特征进行从首个残差块到最后一个残差块的特征传递,得到多个帧的预测基频特征。
6.根据权利要求1所述的方法,其特征在于,所述获取所述多个帧中每个帧的音高,包括:
根据所述歌曲的曲谱获取所述歌曲的每个音符的音高,以及每个音符的音高时长;
基于所述每个音符的音高时长,将所述每个音符的音高映射为多个帧的音高。
7.根据权利要求1所述的方法,其特征在于,所述根据所述每个帧的所述音高和所述预测基频特征,确定所述每个帧的基频,包括:
根据所述每个帧的音高确定所述每个帧的初始基频;
根据所述每个帧的预测基频特征对所述每个帧的初始基频进行调整,得到所述每个帧的基频。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述生成模型通过如下步骤训练得到:
获取样本歌曲的各歌词对应的样本音素;
根据每个样本音素在所述样本歌曲的曲谱中的音高、音高时长和连音方式信息,生成所述每个样本音素的编码信息;
获取待训练的生成器和判别器,并按照多个样本音素之间的顺序信息将所述多个样本音素的编码信息输入到所述生成器,由所述生成器基于每个样本音素的编码信息以及所述每个样本音素的上下文样本音素的编码信息,确定多个帧的样本预测基频特征;所述每个样本音素的上下文样本音素基于所述多个样本音素之间的顺序信息确定,所述多个帧的总时长与所述歌曲样本的时长对应;
获取所述多个帧中每个帧对应于所述样本歌曲的音高,根据所述每个帧对应于所述样本歌曲的音高和所述样本预测基频特征,确定所述每个帧的基频,并根据所述多个帧的基频,得到所述样本歌曲的预测基频;
根据所述预测基频和所述样本歌曲的基频标签,对所述生成器和判别器进行对抗训练,并在满足训练结束条件时,将所述生成器确定为所述生成模型。
9.根据权利要求8所述的方法,其特征在于,所述根据所述预测基频和所述样本歌曲的基频标签,对所述生成器和判别器进行对抗训练,包括:
将所述样本歌曲的预测基频输入到当前判别器,由所述当前判别器获取所述预测基频为真实基频的预测概率;
基于所述预测概率对所述当前判别器进行调整;以及,
基于所述预测概率、所述预测基频和所述基频标签,确定当前生成器的损失值,并根据所述损失值对所述当前生成器的模型参数进行调整。
10.根据权利要求9所述的方法,其特征在于,所述将所述样本歌曲的预测基频输入到当前判别器,由所述当前判别器获取所述预测基频为真实基频的预测概率,包括:
将所述样本歌曲的预测基频输入到当前判别器,由所述当前判别器从所述预测基频中随机截取预设长度的目标基频,并将所述目标基频变换为多种不同结构的二维矩阵;
将每种二维矩阵分别输入到对应的子判别器,由所述子判别器获取所述预测基频为真实基频的子概率;
根据各个子判别器输出的子概率,获取所述样本歌曲的预测基频为真实基频的预测概率。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述的方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311615637.7A CN117672258A (zh) | 2023-11-28 | 2023-11-28 | 基频生成方法、计算机设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311615637.7A CN117672258A (zh) | 2023-11-28 | 2023-11-28 | 基频生成方法、计算机设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117672258A true CN117672258A (zh) | 2024-03-08 |
Family
ID=90078193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311615637.7A Pending CN117672258A (zh) | 2023-11-28 | 2023-11-28 | 基频生成方法、计算机设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117672258A (zh) |
-
2023
- 2023-11-28 CN CN202311615637.7A patent/CN117672258A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gold et al. | Speech and audio signal processing: processing and perception of speech and music | |
CN112687259B (zh) | 一种语音合成方法、装置以及可读存储介质 | |
WO2017190674A1 (zh) | 一种音频数据的处理方法、装置及计算机存储介质 | |
CN110148394B (zh) | 歌声合成方法、装置、计算机设备及存储介质 | |
CN110264991A (zh) | 语音合成模型的训练方法、语音合成方法、装置、设备及存储介质 | |
CN112164379A (zh) | 音频文件生成方法、装置、设备及计算机可读存储介质 | |
CN106295717A (zh) | 一种基于稀疏表示和机器学习的西洋乐器分类方法 | |
CN112669815B (zh) | 歌曲定制生成方法及其相应的装置、设备、介质 | |
CN112289300B (zh) | 音频处理方法、装置及电子设备和计算机可读存储介质 | |
JP2018084627A (ja) | 言語モデル学習装置およびそのプログラム | |
CN112035699A (zh) | 音乐合成方法、装置、设备和计算机可读介质 | |
CN114360492B (zh) | 音频合成方法、装置、计算机设备和存储介质 | |
CN114333762B (zh) | 基于表现力的语音合成方法、***、电子设备及存储介质 | |
CN115273806A (zh) | 歌曲合成模型的训练方法和装置、歌曲合成方法和装置 | |
Lu et al. | A Novel Piano Arrangement Timbre Intelligent Recognition System Using Multilabel Classification Technology and KNN Algorithm | |
CN116469369A (zh) | 虚拟声音合成方法、装置及相关设备 | |
CN117672258A (zh) | 基频生成方法、计算机设备和计算机可读存储介质 | |
CN114972592A (zh) | 歌唱嘴型与面部动画生成方法、装置及电子设备 | |
CN114464163A (zh) | 语音合成模型的训练方法、装置、设备、存储介质和产品 | |
CN112164387A (zh) | 音频合成方法、装置及电子设备和计算机可读存储介质 | |
Jiang et al. | Music signal recognition based on the mathematical and physical equation inversion method | |
Guo et al. | HIGNN-TTS: Hierarchical Prosody Modeling With Graph Neural Networks for Expressive Long-Form TTS | |
CN117746832A (zh) | 歌声合成方法、装置、计算机设备和存储介质 | |
Kim | Automatic Music Transcription in the Deep Learning Era: Perspectives on Generative Neural Networks | |
Noufi et al. | Self-Supervised Representation Learning for Vocal Music Context |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |