一种基于seq2seq网络的歌词对齐方法及系统与流程

专利2022-06-29  109


本发明属于音频信息处理技术领域,具体地说,涉及一种基于seq2seq网络的歌词对齐方法及系统。



背景技术:

音乐在人们的生活中发挥着不可替代的作用,不同的音乐能够带给人不同的体验,舒缓的音乐有助于睡眠,快节奏的音乐能够让人兴奋等等。音乐的组成包括乐曲和歌词。歌词能够传达歌曲的内容与思想,同样的乐曲配上不同的歌词后表达的意思可能就大相径庭。对于观众而言,歌词能够帮助理解歌曲的意思,同时,对于喜爱唱歌的观众,歌词能够便于观众阅读并进行歌曲学习。若歌词与乐曲不同步不仅影响观众的欣赏体验,同时还干扰观众在学习歌曲时对音准的把握。特别是对于喜欢看着歌词听曲的观众,欣赏体验感非常不佳。

传统的歌词对齐方式多是采用人工凭听觉确定歌词在歌曲中的位置,不同的人员对同一首歌曲的时间确认会存在较大差别,同时人工方法工作量大,成本高,耗时长。随着计算机技术的发展,涌现了一些基于计算机技术的对齐方法。例如申请号为201910650229.2的发明专利公开了一种基于语谱图识别的歌词时间戳生成方法,包括:步骤s1:利用音频空间位置差异分离人声与伴奏;步骤s2:根据响度与bpm对处理后的音频作基于行的时间分割;步骤s3:将上述分割后的音频转化为语谱图,并利用图像识别对其进行基于单字的时间分割,得到所需的歌词时间戳。采用本发明的技术方案,将原始音频进行人声提取,并结合adaboost模型对其语谱图进行识别,能有效提高对齐准确性,并大大降低人工对齐的成本。在该方案中,利用音频空间位置差异分离人声与伴奏不能将背景音乐与人声分离干净,不能较好提取人声信号。同时采用图像识别技术来进行基于单字的时间分割,但是在语谱图上字与字之间很可能是连在一起的,不能够通过图像识别确定两个字之间的分界线。因此,该方法并不能够很好的将歌词的每个字都进行对齐。



技术实现要素:

针对现有技术中上述的不足,本发明提供一种基于seq2seq网络的歌词对齐方法及系统,该方法应用seq2seq网络模型的中间结果注意力矩阵来解析成歌词对齐结果,可以对多种流派的流行歌曲进行字符级别的歌词对齐操作,准确率高,且识别速度快,极大的降低人工成本,节省时间,提升歌词对齐效率。该系统应用该对齐方法,系统识别速度快,应用简单,且对用户没有音乐知识储备要求,适用用户广。

为了达到上述目的,本发明采用的解决方案是:一种基于seq2seq网络的歌词对齐方法,包括如下步骤:

s1:数据预处理,对歌词进行处理得到歌词向量:按句将歌词文件做字符映射,形成每句歌词的歌词向量;对音频进行处理得到起止时间与歌词起止时间相对应的人声频谱图,具体包括:

s101:将原始音频解码为wave格式,并归一化至-1~1;

s102:将wave格式的音频通过平均得到单声道的音频;

s103:将单声道音频降采样至8000~44100之间;

s104:从降采样后的单声道音频中分离出人声波形;

s105:从歌词文件中提取每一句歌词的开始时间以及结束时间;

s106:根据歌词的开始时间以及结束时间对人声波形进行切段,将人生波形切成开始时间以及结束时间与每一句歌词对应的片段;

s107:将切段结果进行短时傅立叶变换得到人声频谱图,短时傅立叶变换的步幅为256,窗口大小为1024,人声频谱图为80通道的人声频谱图。通过数据预处理得到歌词向量和人声频谱图,为歌词对齐提供干净准确的人声频谱和歌词向量。

s2:数据预测,采用seq2seq网络模型对歌词向量和对应的频谱图进行处理,得到输入歌词的注意力矩阵;seq2seq网络模型包括编码模块和注意力模块,编码模块将输入的歌词向量进行编码后得到hiddenstateh,大小为(hid_dim,n_lyrics);编码模块将频谱图的每一帧进行编码后得到hiddenstates,大小为(hid_dim,1),所有帧的向量维度是(hid_dim,n_frame),n_frame是频谱图的帧数;歌词编码输入(hid_dim,n_lyrics)和每一帧频谱图的频谱编码输入(hid_dim,1)共同输入注意力模块,注意力模块对歌词编码输入和频谱编码输入进行处理得到形状为(n_frame,n_lyrics)的输入歌词注意力矩阵,具体包括:旋转歌词编码输入为(n_lyrics,hid_dim)与频谱编码输入做点乘得到大小为(n_lyrics,1)的分数;对分数做softmax得到一个和为1的权重,用于对分数加权;将歌词编码输入与加权后的分数做点乘得到一个大小为(hid_dim,1)的向量,将频谱编码的所有输入计算的向量集合得到注意力矩阵。编码模块的卷积数量为3,卷积核的大小为5,编码模块得到的向量长度为512;所述的注意力模块的神经元数量为1024,学习率为1e-3。

s3:将注意力矩阵整合解析为字符级别的对齐结果,得到歌词每个字的开始时间以及结束时间,具体包括:

s301:从注意力矩阵中获取每个字对应的子矩阵;

s302:获取每个子矩阵中首行和尾行的最大值的索引;

s303:获取上述最大值的索引对应的时间点,作为每个字各自演唱的开始时间和结束时间。应用注意力模块的seq2seq网络模型能够计算每一个歌词在频谱图上对应的时间的连续片段,根据该对应关系可以解析获得每一个歌词唱的时间,达到歌词对齐的效果。

应用所述的基于seq2seq网络的歌词对齐方法的系统,包括数据处理模块、数据预测模块和对齐结果解析模块;所述的数据处理模块对歌词进行处理得到歌词向量,对音频进行处理得到起止时间与歌词起止时间相对应的人声频谱图;所述的数据预测模块采用seq2seq网络模型对歌词向量和对应的频谱图进行处理,得到输入歌词的注意力矩阵;所述的对齐结果解析模块用于将注意力矩阵整合解析为字符级别的对齐结果,得到歌词每个字的开始时间以及结束时间。

所述的系统还包括待对齐文件输入模块,提供用户输入待对齐的歌词以及音频文件。用户可以直接提供音频文件和歌词,也可以通过标签选择音乐库中的歌词及音频文件。

本发明的有益效果是:

(1)该方法应用seq2seq网络模型的中间结果注意力矩阵来解析成歌词对齐结果,可以对多种流派的流行歌曲进行字符级别的歌词对齐操作,准确率高,且识别速度快,极大的降低人工成本,节省时间,提升歌词对齐效率。该系统应用该对齐方法。

(2)该系统应用前述对齐方法,系统识别速度快,应用简单,且对用户没有音乐知识储备要求,适用用户广。

附图说明

图1为本发明歌词对齐方法流程图;

图2为本发明应用的seq2seq网络模型部分框图;

图3为本发明注意力模块示意图;

图4注意力矩阵效果展示图;

图5为本发明歌词对齐系统框图。

具体实施方式

以下结合附图对本发明作进一步描述:

如图1所示,一种基于seq2seq网络的歌词对齐方法,包括如下步骤:

s1:数据预处理,对歌词进行处理得到歌词向量:按句将歌词文件做字符映射,形成每句歌词的歌词向量;对音频进行处理得到起止时间与歌词起止时间相对应的人声频谱图,具体包括:

s101:将原始音频解码为wave格式,并归一化至-1~1;

s102:将wave格式的音频通过平均得到单声道的音频;

s103:将单声道音频降采样至8000~44100之间,最佳的降采样频率为22050;

s104:从降采样后的单声道音频中分离出人声波形;

s105:从歌词文件中提取每一句歌词的开始时间以及结束时间;

s106:根据歌词的开始时间以及结束时间对人声波形进行切段,将人生波形切成开始时间以及结束时间与每一句歌词对应的片段;

s107:将切段结果进行短时傅立叶变换得到人声频谱图,短时傅立叶变换的步幅为256,窗口大小为1024,人声频谱图为80通道的人声频谱图。通过数据预处理得到歌词向量和人声频谱图,为歌词对齐提供干净准确的人声频谱和歌词向量。

s2:数据预测,采用seq2seq网络模型对歌词向量和对应的频谱图进行处理,得到输入歌词的注意力矩阵;如图2所示为本申请应用的seq2seq网络模型,seq2seq网络模型包括编码模块和注意力模块,编码模块将输入的歌词向量进行编码后得到hiddenstateh,大小为(hid_dim,n_lyrics);编码模块将频谱图的每一帧进行编码后得到hiddenstates,大小为(hid_dim,1),所有帧的向量维度是(hid_dim,n_frame),n_frame是频谱图的帧数;歌词编码输入(hid_dim,n_lyrics)和每一帧频谱图的频谱编码输入(hid_dim,1)共同输入注意力模块,注意力模块对歌词编码输入和频谱编码输入进行处理得到形状为(n_frame,n_lyrics)的输入歌词注意力矩阵,具体包括:旋转歌词编码输入为(n_lyrics,hid_dim)与频谱编码输入做点乘得到大小为(n_lyrics,1)的分数;对分数做softmax得到一个和为1的权重,用于对分数加权;将歌词编码输入与加权后的分数做点乘得到一个大小为(hid_dim,1)的向量,将频谱编码的所有输入计算的向量集合得到注意力矩阵。编码模块的卷积数量为3,卷积核的大小为5,编码模块得到的向量长度为512;所述的注意力模块的神经元数量为1024,学习率为1e-3。

s3:将注意力矩阵整合解析为字符级别的对齐结果,得到歌词每个字的开始时间以及结束时间,具体包括:

s301:从注意力矩阵中获取每个字对应的子矩阵,每个子矩阵包括多行数据;

s302:获取每个子矩阵中首行和尾行的最大值的索引;

s303:获取上述最大值的索引对应的时间点,作为每个字各自演唱的开始时间和结束时间。应用注意力模块的seq2seq网络模型能够计算每一个歌词在频谱图上对应的时间的连续片段,根据该对应关系可以解析获得每一个歌词唱的时间,达到歌词对齐的效果。

如图5所示,应用所述的基于seq2seq网络的歌词对齐方法的系统,包括数据处理模块、数据预测模块和对齐结果解析模块;所述的数据处理模块对歌词进行处理得到歌词向量,对音频进行处理得到起止时间与歌词起止时间相对应的人声频谱图;所述的数据预测模块采用seq2seq网络模型对歌词向量和对应的频谱图进行处理,得到输入歌词的注意力矩阵;所述的对齐结果解析模块用于将注意力矩阵整合解析为字符级别的对齐结果,得到歌词每个字的开始时间以及结束时间。

所述的系统还包括待对齐文件输入模块,提供用户输入待对齐的歌词以及音频文件。用户可以直接提供音频文件和歌词,也可以通过标签选择音乐库中的歌词及音频文件。

本方法中采用的seq2seq网络模型是训练好的模型。基本seq2seq网络模型首先需要经过训练,得到对应风格的歌曲的模型。模型训练的数据从自有音频库中获得。

在本发明的一个实施例中,seq2seq网络模型是流行歌曲对应的模型,首选从自有音频库中随机1000首左右的男女声流行歌曲,包括这些歌曲的音频文件和歌词,预处理过程降采样频率为22050,通过数据预处理获取每句歌词的歌词向量和起止时间与歌词起止时间相对应的人声频谱图,歌词存储成txt文件,波形存储成22050采样率、16bit的wav文件;将每句歌词的歌词向量和人声频谱图一一配对。1000首流行歌经过预处理后得到20000句左右的歌词频谱对用来训练。将这20000句左右的歌词频谱对分割为验证集和训练集,在保证没有发生过拟合的前提下可以将训练集的比例设置的尽量大,在本实施例中验证集和训练集的比例为0.05:0.95,损失函数设置为均方误差(l2loss);优化器使用adam优化器,学习率为0.001。batchsize设置为32或者64。预处理后的数据输入模型在前述参数配置下训练完成后,保存模型为ptn文件。其他风格的模型训练方式与流行歌曲模型相同,训练数据需要根据目标模型的风格来进行选取。

训练好的模型就可以用于歌词对齐。用户输入想要对齐的歌词及音频文件,系统对歌词和音频文件进行预处理,得到待对齐歌曲每句歌词的歌词向量和起止时间与歌词起止时间相对应的人声频谱图,将预处理得到的结果输入训练好的seq2seq网络模型,模型计算得到中间结果:对齐歌曲的注意力矩阵。模型的输入是歌词向量以及对应的频谱图,其中歌词向量的长度为n_tokens,频谱图的shape一般为(batch_size,n_channels,n_frames),其中batch_size是模型的输入批量大小,n_channels是快速傅立叶变换的通道数,n_frames是频谱图的帧数。对齐歌曲的注意力矩阵的shape为(n_frames,n_tokens),其中n_frames为频谱图的帧数,n_tokens为输入的歌词向量的长度。得到的注意力矩阵中包含了输入的句歌词向量中所有字的注意力矩阵,注意力矩阵上每个点是值从0到1的点,代表了字符位于各个点的概率。依次获取矩阵中每个字对应的子矩阵,然后获取矩阵中第一行和最后一行的最大值的索引,第一行的最大值的索引的横坐标代表了该字符的开始时间,最后一行的最大值的索引的横坐标代表了该字符的结束时间,据此可以将歌词与人声频谱图对齐,对该句歌词中的每个字做对齐,可以将整句歌词对齐。同理,对歌词中每句进行模型计算,然后对计算得到的注意力矩阵进行解析就能够实现整首歌词对齐。

如图4所示为注意力矩阵结果展示图,图中横坐标为频谱图中帧的序号,纵坐标为该句歌词从开始到结尾的每个字。从下往上依次遍历纵坐标,每个亮点代表了对应位置的歌词发音对应的频谱的帧的序号。例如,从下向上,第一行的亮点坐标大概为(45,0),表示该句歌词的第一个发音位置为第45帧。依次遍历,可以获得每个发声字符的帧序号,即每个发声字符的时间节点。

在本方明的另一个实施例中,人声频谱图采用梅尔谱图,将得到的人声频谱通过梅尔尺度滤波器组(mel-scalefilterbanks),变为梅尔频谱,用梅尔谱图进行歌词对齐。将人耳对频率的感知度改变为线性。

在本发明的另一个实施例中人声频谱图采用梅尔频率倒谱系数作为频谱表示。

需要说明的是,完整的seq2seq网络模型还包括解码器,完整的seq2seq网络模型主要用于语音合成,本申请采用模型的中间输出注意力矩阵用于歌词对齐,有较高的准确率。在本申请的其他实施例中,seq2seq网络模型中的lstm层可由其他rnn层替代。

以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。


技术特征:

1.一种基于seq2seq网络的歌词对齐方法,其特征在于:包括如下步骤:

s1:数据预处理,对歌词进行处理得到歌词向量,对音频进行处理得到起止时间与歌词起止时间相对应的人声频谱图;

s2:数据预测,采用seq2seq网络模型对歌词向量和对应的频谱图进行处理,得到输入歌词的注意力矩阵;

s3:将注意力矩阵整合解析为字符级别的对齐结果,得到歌词每个字的开始时间以及结束时间。

2.根据权利要求1所述的基于seq2seq网络的歌词对齐方法,其特征在于:所述的对歌词进行处理具体包括:按句将歌词文件做字符映射,形成每句歌词的歌词向量;

所述的对音频进行处理得到起止时间与歌词起止时间相对应的人声频谱图具体包括:

s101:将原始音频解码为wave格式,并归一化至-1~1;

s102:将wave格式的音频通过平均得到单声道的音频;

s103:将单声道音频降采样至8000~44100之间;

s104:从降采样后的单声道音频中分离出人声波形;

s105:从歌词文件中提取每一句歌词的开始时间以及结束时间;

s106:根据歌词的开始时间以及结束时间对人声波形进行切段;

s107:将切段结果进行短时傅立叶变换得到人声频谱图。

3.根据权利要求2所述的基于seq2seq网络的歌词对齐方法,其特征在于:所述的短时傅立叶变换的步幅为256,窗口大小为1024,所述的人声频谱图为80通道的人声频谱图。

4.根据权利要求1所述的基于seq2seq网络的歌词对齐方法,其特征在于:所述的seq2seq网络模型包括编码模块和注意力模块,编码模块将输入的歌词向量进行编码后得到hiddenstateh,大小为(hid_dim,n_lyrics);编码模块将频谱图的每一帧进行编码后得到hiddenstates,大小为(hid_dim,1),所有帧的向量维度是(hid_dim,n_frame);歌词编码输入(hid_dim,n_lyrics)和每一帧频谱图的频谱编码输入(hid_dim,1)共同输入注意力模块,注意力模块对歌词编码输入和频谱编码输入进行处理得到形状为(n_frame,n_lyrics)的输入歌词注意力矩阵。

5.根据权利要求4所述的基于seq2seq网络的歌词对齐方法,其特征在于:所述的注意力模块对歌词编码输入和频谱编码输入进行处理具体包括:旋转歌词编码输入为(n_lyrics,hid_dim)与频谱编码输入做点乘得到大小为(n_lyrics,1)的分数;对分数做softmax得到一个和为1的权重,用于对分数加权;将歌词编码输入与加权后的分数做点乘得到一个大小为(hid_dim,1)的向量,将频谱编码的所有输入计算的向量集合得到注意力矩阵。

6.根据权利要求4所述的基于seq2seq网络的歌词对齐方法,其特征在于:所述的编码模块的卷积数量为3,卷积核的大小为5,编码模块得到的向量长度为512;所述的注意力模块的神经元数量为1024,学习率为1e-3。

7.根据权利要求1所述的基于seq2seq网络的歌词对齐方法,其特征在于:所述的将注意力矩阵整合解析为字符级别的对齐结果具体包括:

s301:从注意力矩阵中获取每个字对应的子矩阵;

s302:获取每个子矩阵中首行和尾行的最大值的索引;

s303:获取上述最大值的索引对应的时间点,作为每个字各自演唱的开始时间和结束时间。

8.应用权利要求1-7中任意一项所述的基于seq2seq网络的歌词对齐方法的系统,其特征在于:包括数据处理模块、数据预测模块和对齐结果解析模块;所述的数据处理模块对歌词进行处理得到歌词向量,对音频进行处理得到起止时间与歌词起止时间相对应的人声频谱图;所述的数据预测模块采用seq2seq网络模型对歌词向量和对应的频谱图进行处理,得到输入歌词的注意力矩阵;所述的对齐结果解析模块用于将注意力矩阵整合解析为字符级别的对齐结果,得到歌词每个字的开始时间以及结束时间。

9.根据权利要求8所述的基于seq2seq网络的歌词对齐系统,其特征在于:所述的系统还包括待对齐文件输入模块,提供用户输入待对齐的歌词以及音频文件。

技术总结
本发明公开了一种基于seq2seq网络的歌词对齐方法及系统,方法包括:对歌词进行处理得到歌词向量,对音频进行处理得到起止时间与歌词对应的人声频谱图;采用seq2seq网络模型对歌词向量和对应的频谱图进行处理,得到输入歌词的注意力矩阵;将注意力矩阵整合解析为字符级别的对齐结果,得到歌词每个字的开始时间和结束时间。系统包括数据处理模块对歌词进行处理得到歌词向量,对音频进行处理得到起止时间与歌词对应的人声频谱图;数据预测模块采用网络模型对歌词向量和对应的频谱图进行处理,得到输入歌词的注意力矩阵;对齐结果解析模块用于将注意力矩阵整合解析为字符级别的对齐结果,得到歌词每个字的开始时间和结束时间。

技术研发人员:尹学渊;刘鑫忠;江天宇
受保护的技术使用者:成都嗨翻屋科技有限公司
技术研发日:2020.01.19
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-24105.html

最新回复(0)