PyTorch生成式人工智能(29)——基于Transformer生成音乐
0. 前言
我们已经学习了如何使用 MuseGAN 生成逼真的多音轨音乐。MuseGAN 将一段音乐视为一个类似图像的多维对象,并生成与训练数据集中相似的音乐作品。在本节中,将采另一种方法来创作音乐,将音乐视为一系列音乐事件。具体来说,将开发一个类似 GPT 的模型,基于序列中所有先前事件来预测下一个音乐事件。本节将创建的音乐 Transformer 拥有 2016 万个参数,足以捕捉不同音符在音乐作品中的长期关系,同时也可以在合理的时间内完成训练。
我们将使用 Maestro 钢琴音乐作为训练数据,MIDI 文件转换为音音符序列,类似于自然语言处理 (Natural Language Processing, NLP) 中的原始文本数据。接着,将这些音符拆分为小片段,称为音乐事件,这类似于 NLP 中的词元 (token)。由于神经网络只能接受数值输入,需要把每个唯一事件词元映射到一个索引。这样,训练数据中的音乐片段就被转换为一系列索引,用于输入神经网络。
经过训练的音乐 Transformer 能够生成逼真的音乐,模仿训练数据集中的风格。此外,与 MuseGAN 生成的音乐不同,我们可以通过调整温度参数来缩放预测的对数 (
订阅专栏 解锁全文
1175

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



