音乐生成与情感分析模型的研究与实践
一、ForecastGAN模型详解
1.1 模型训练设置
在ForecastGAN模型中,生成器的隐藏层参数通过贝叶斯优化进行选择,初始值分别设置为0.001和100。判别器的隐藏层设置了64个神经元,学习率为0.001。在训练阶段,将420个真实样本标记为1,随机生成579个时间序列并标记为0。对于虚假数据的生成,在“音符长度”列,最小值为0.25代表四分之一拍,通过随机生成[1, 16]之间的整数并乘以0.25来确定;在“音阶度数”列,随机生成[0, 107]之间的值。这样生成的虚假数据是无序音符的组合,便于与真实旋律区分。
1.2 数据集预处理
采用处理XML格式文件的创新方法来处理音乐数据,避免了将MIDI文件中的音符事件转换为独热矩阵,解决了MidiNet无法区分长音符和两个重复短音符的问题。从TheoryTab网站爬取实验所需的XML格式训练数据,每个XML文件包含歌曲标题、速度等多维度信息,但仅提取主旋律的“音符长度”、“音阶度数”和“八度”作为三个特征。
音乐遵循12音体系,12是所有音符的周期长度,12个音分别为C、C#/Db、D、D#/Eb、E、F、F#/Gb、G、G#/Ab、A、A#/Bb、B。为简化处理,将所有数据归一化为C大调。在时间序列中,用60 - 71表示C大调,60是MIDI音乐中中央C(C4)的音高,每增加12,音高上升一个八度。经过预处理后,可忽略“八度”值,专注于“音符长度”和“音阶度数”。同时,将XML文件中旋律的停顿用“音阶度数”的空缺表示,并将空缺值填充为 -100,象征此时旋律音高极小接近静音。
只从每个序列中选取长度为30的旋律
音乐生成与情感分析模型研究
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



