System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于向量量化的Transformer长序列音乐生成方法技术_技高网
当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于向量量化的Transformer长序列音乐生成方法技术

技术编号:41328759 阅读:5 留言:0更新日期:2024-05-13 15:06
本发明专利技术公开了一种基于向量量化的Transformer长序列音乐生成方法,包括步骤S1:对中文音乐数据进行预处理,提取中文音乐数据的乐谱特征和频谱特征,获得音乐数据训练集;步骤S2:使用基于向量量化的编码器将连续的乐谱特征通过向量量化转化成离散的乐谱特征;步骤S3:使用基于Transformer的编码器将离散的乐谱特征进行编码,得到上下文向量。本发明专利技术公开的一种基于向量量化的Transformer长序列音乐生成方法,该方法在使用Transformer模型提高音乐生成性能的基础上,结合向量量化方法对模型进行改进,在减少模型参数、优化训练效率的同时也提升了生成波形的质量。

【技术实现步骤摘要】

本专利技术属于人工智能音频生成,具体涉及一种基于向量量化的transformer长序列音乐生成方法。


技术介绍

1、随着人工智能的迅猛发展,人工智能音乐生成技术正日益成熟,并在音乐创作和创新的领域发挥重要作用。机器学习技术为ai音乐生成提供了基础。通过大量的音乐数据集进行训练,模型能够学习音乐的规律、结构和风格。

2、深度学习技术中的循环神经网络(rnn)、长短期记忆(lstm)、门控循环单元(gru)结构等被广泛应用于音乐生成。这些模型能够捕捉音乐序列中的时间依赖关系,生成具有连贯性和音乐感的作品。此外,生成对抗网络(gan)通过对抗训练的方式,能够生成更加真实和多样性的音乐。然而,随着生成音乐片段时长的增加,这些模型就会出现前后音乐风格不统一、错字漏字、音调旋律与给定曲谱不一致等问题。

3、因此,针对上述问题,予以进一步改进。


技术实现思路

1、本专利技术的主要目的在于提供一种基于向量量化的transformer长序列音乐生成方法,该方法在使用transformer模型提高音乐生成性能的基础上,结合向量量化方法对模型进行改进,在减少模型参数、优化训练效率的同时也提升了生成波形的质量。

2、为达到以上目的,本专利技术提供一种基于向量量化的transformer长序列音乐生成方法,包括以下步骤:

3、步骤s1:对中文音乐数据进行预处理,提取中文音乐数据的乐谱特征和频谱特征,获得音乐数据训练集;

4、步骤s2:使用基于向量量化的编码器将连续的乐谱特征通过向量量化转化成离散的乐谱特征;

5、步骤s3:使用基于transformer的编码器将离散的乐谱特征进行编码,得到上下文向量;

6、步骤s4:使用掩码自注意力层编码器将频谱特征进行编码,得到掩码频谱特征;

7、步骤s5:使用基于transformer的解码器结构以自回归的方式将上下文向量进行解码,得到生成的频谱特征;

8、步骤s6:使用基于深度学习的声码器将生成的频谱特征转换成音乐波形。

9、作为上述技术方案的进一步优选的技术方案,在步骤s1中:

10、对中文音乐数据进行预处理,中文音乐数据来自开源数据集opencpop,该开源数据集包括波形文件wav和标注文件textgrid,其中:

11、textgrid是用于处理音频和文本数据的工具,该开源数据集提供的textgrid中包括句子、汉字、音节、音高、音长和音素六个层面的特征,具体预处理方法为:

12、步骤s1.1:先将完整的波形文件wav和标注文件textgrid按照句子层级的注释进行切割和和特征处理,并且进行保存(这样将原始音频和标注文件切割成句子层级的音频和标注文件,并且保留了两者之间的对应关系);

13、步骤s1.2:对于不符合所需采样率的数据进行重采样处理,然后对于切割好的数据的每一个音节,在音素层级上使用pyworld库中的dio算法计算f0基频;

14、步骤s1.3:将线性的频谱刻度进行梅尔刻度操作和离散分箱操作,(梅尔刻度在低频区域有较高的分辨率,而在高频区域有较低的分辨率,更符合人耳对音高的感知特性)将线性频谱转换为梅尔频谱如下所示:

15、

16、(其中,f0为线性频谱,f0mel为转换之后的梅尔频谱,离散分箱操作可以减少特征空间的维度,降低模型复杂度和计算成本)

17、步骤s1.4:使用pyworld中的cheaptrick算法得到音频信号的频谱包络;并且对得到的频谱包络进行线性预测分析和傅里叶变换,对结果取实部得到幅度谱并且作为sp特征;使用pyworld中的d4c函数对音频信号进行非周期性参数估计,从而用于描述音频中的噪声部分,并进行编码得到ap参数;使用librosa库中的feature.rmse函数计算音频信号的短时均方能量并且作为该时间段的能量;计算每一个句子中各个音节的f0、sp、ap和能量参数(特征)并保存;

18、步骤s1.5:对于切割好的波形文件,将频谱特征进行快速傅里叶变换,并且将时域信号转换为频域信号,再将信号通过梅尔滤波器转换为梅尔谱图,并进行保存。

19、作为上述技术方案的进一步优选的技术方案,在步骤s2具体实施为:

20、步骤s2.1:将步骤s1中得到的f0、sp、ap和能量参数进行拼接后得到多维向量x,将其输入到线性嵌入层进行维度调整,得到ze(x);

21、步骤s2.2:选择恰当的嵌入大小和嵌入维度对码本编码器进行初始化,嵌入大小用于决定离散编码的数量,嵌入维度用于决定每个离散编码向量的维度;

22、步骤s2.3:对于每个ze(x)计算与码本中各个离散向量之间的欧氏距离,并找到欧氏距离最小的码本,即与ze(x)最邻近的离散向量zq(x),并将其作为离散特征向量进行输出。

23、作为上述技术方案的进一步优选的技术方案,步骤s3中,基于transformer的编码器包括浅层次的子编码器和深层次的子编码器,其中:

24、浅层次的子编码器的具体编码步骤为(对于浅层次的输入序列,每个位置上的特征向量被映射不同维度的[q,k,v]三元组,在不同维度使用不同的空洞稀疏进行采样和自注意力计算,最后将不同维度的上下文向量拼接在一起作为上下文向量输出):

25、步骤s3.1:步骤s2得到的离散特征向量作为transformer的编码器的输入向量,将输入的数据进行embedding调整维度;

26、步骤s3.2:通过全局风格编码层将全局风格信息编码成固定的向量添加到输入序列中,得到乐谱特征每一部分的风格特征,使得模型根据不同位置的风格对音乐进行建模;

27、步骤s3.3:将向量通过卷积层提取向量的相对位置信息,并引入残差;

28、步骤s3.4:使用多尺度稀疏自注意力层计算每个位置和其他位置的相关性,每个位置的特征向量都通过不同的矩阵运算被映射成一个不同维度的三元组[q,k,v],在每个维度使用不同的空洞系数进行空洞卷积操作进行采样,即通过调整空洞系数来改变卷积核的感受野(使得模型可以够捕捉更广泛的上下文信息),并生成具有更大感受野的特征图,将采样后的每一个维度的三元组[q,k,v]分别进行自注意力计算,即通过计算q和k的内积再除以得到注意力权重矩阵,其中d为向量的维度,再通过softmax函数将向量转换成一个相关性的权重分布,随后利用权重分布对所有的v进行加权求和,得到这个位置的新的特征表示;

29、步骤s3.5:将不同维度的注意力计算结果进行拼接,并且将自注意力层的结果和输入进行残差连接后进行层归一化得到中间特征向量,作为深层次编码器的输入(残差连接可以降低复杂度,并且可以防止梯度消失,层归一化可以加快收敛速度,缓解梯度爆炸和消失的发生);

30、深层次的子编码器的具体编码步骤为(与浅层次的子编码器的具体编码步骤并列,无先后本文档来自技高网...

【技术保护点】

1.一种基于向量量化的Transformer长序列音乐生成方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于向量量化的Transformer长序列音乐生成方法,其特征在于,在步骤S1中:

3.根据权利要求2所述的一种基于向量量化的Transformer长序列音乐生成方法,其特征在于,在步骤S2具体实施为:

4.根据权利要求3所述的一种基于向量量化的Transformer长序列音乐生成方法,其特征在于,步骤S3中,基于Transformer的编码器包括浅层次的子编码器和深层次的子编码器,其中:

5.根据权利要求4所述的一种基于向量量化的Transformer长序列音乐生成方法,其特征在于,步骤S4中,掩码自注意力层编码器包括结构相同的若干子编码器,具体实施为:

6.根据权利要求5所述的一种基于向量量化的Transformer长序列音乐生成方法,其特征在于,步骤S5中,基于Transformer的解码器包括若干子编码器,具体实施为:

7.根据权利要求6所述的一种基于向量量化的Transformer长序列音乐生成方法,其特征在于,在步骤S6中,通过开源的预训练HiFi-GAN声码器,将步骤S5中合成的新的频谱特征转换为音乐波形。

8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述基于向量量化的Transformer长序列音乐生成方法的步骤。

9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述基于向量量化的Transformer长序列音乐生成方法的步骤。

...

【技术特征摘要】

1.一种基于向量量化的transformer长序列音乐生成方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于向量量化的transformer长序列音乐生成方法,其特征在于,在步骤s1中:

3.根据权利要求2所述的一种基于向量量化的transformer长序列音乐生成方法,其特征在于,在步骤s2具体实施为:

4.根据权利要求3所述的一种基于向量量化的transformer长序列音乐生成方法,其特征在于,步骤s3中,基于transformer的编码器包括浅层次的子编码器和深层次的子编码器,其中:

5.根据权利要求4所述的一种基于向量量化的transformer长序列音乐生成方法,其特征在于,步骤s4中,掩码自注意力层编码器包括结构相同的若干子编码器,具体实施为:

6.根据权利要求5所述的一种基于...

【专利技术属性】
技术研发人员:王曰海吕烨宁杨建义
申请(专利权)人:浙江大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1