1.基于注意力的音频和歌词的多模态音乐风格分类方法,其特征在于:包括以下步骤:
一、数据获取:获取音频和歌词对应的数据集;
二、音频预处理:先对音频数据采取mel频谱特征提取,然后经过cnn网络进一步得到音频特征;
三、歌词预处理:先进行bert预训练得到单词的词向量,然后经过han网络得到歌词特征向量;
四、attention模间融合:通过attention模间融合,将获取的音频和歌词特征,进行交互融合获取融合的attention注意力向量,再与音频和歌词特征向量拼接,获得包含音频和歌词各自模态特征,以及模态间融合特征的音乐风格特征;
五、经过softmax层进行分类。
2.根据权利要求1所述的基于注意力的音频和歌词的多模态音乐风格分类方法,其特征在于:步骤一中,根据metrolyrics数据集中的歌手和歌名信息,检索并下载对应歌曲,实现批量下载;根据歌曲的编号将相应的歌词数据与歌曲的数据组合在一起,获取歌词和歌曲对应的数据集。
3.根据权利要求1所述的基于注意力的音频和歌词的多模态音乐风格分类方法,其特征在于:步骤二中,mel频谱特征提取的参数如下:
音频数据的采样率是22.5hz,对音频信号以12hz进行下采样;
帧长21ms;
短时傅里叶n_fft=512;
帧移hop_len=256;
梅尔尺度mel_scale=125;
梅尔频谱数n_mels=96;
一首歌的音频特征大小是(96,1366)。
4.根据权利要求1所述的基于注意力的音频和歌词的多模态音乐风格分类方法,其特征在于:步骤二中,cnn网络结构为:网络有5个3x3核的卷积层和4个池化层,然后接一个全连接层,输出张量维度为64,使每首歌的特征变成一个64维的向量。
5.根据权利要求1所述的基于注意力的音频和歌词的多模态音乐风格分类方法,其特征在于:步骤三中,bert预训练模型参数为:
uncasedbert-base(12-layer,768-hidden,12-heads);
忽略大小写的bert基础模型(12个encoder解码层,768个隐藏层,12个多头注意力);
利用bert预训练模型,对输入的歌词文本中每个单词表示成一个768维的向量,把文字符号转换成可供计算机处理的数字,同时还隐含了单词上下文的语义信息。
6.根据权利要求1所述的基于注意力的音频和歌词的多模态音乐风格分类方法,其特征在于:步骤三中,han网络参数为:
bert词向量维度768维,最大分句数66,分句最大单词数300,bi_gru层数100,attention输出维度200;
先对每首歌词文本按句子划分成分句,对分句的每个单词使用bert预训练词向量进行嵌入表示;然后每个分句经过bi_gru层进行wordencoder单词级别编码,计算每个分句wordattention词注意力特征;然后对每首歌词的各个分句经过单词级别的编码后得到的词注意力特征,再经过bi_gru层进行sentenceencoder句子级别的编码,计算每首歌词的sentenceattention句子注意力特征。
7.根据权利要求1所述的基于注意力的音频和歌词的多模态音乐风格分类方法,其特征在于:步骤四中,模间注意力计算步骤如下:
歌曲用u表示,音频数据用v表示,歌词数据用t表示,d为最后全连接层的维度64,音频的64维向量v(u*d),歌词的64维向量t(u*d);
先计算矩阵m1,m2;
m1=v.tt&m2=t.vt;
(2)使用softmax计算m1,m2的概率分布n1,n2;
i表示u的音频第i个样本;j表示u的歌词第j个样本;k表示累加变量,从1到u;
(3)模态表示矩阵o1,o2;
o1=n1.t&o2=n2.v;
(4)注意力矩阵a1,a2;
a1=o1⊙v&a2=o2⊙t;
(5)模间注意力矩阵bavt;
bavt=concat[a1,a2];
模间注意力计算先点乘计算矩阵m1、m2;经过softmax得到概率分布n1、n2,表示模态特征的权重系数;再交叉点乘得到新的模态表示矩阵o1、o2;再与原特征逐元素相乘得到注意力矩阵a1、a2;
对v、t、a1、a2拼接就是最终的特征向量。