艺术圈被科技圈卷到了吗?
兴坤 发自 凹非寺
非常AI 报道 | 公众号 QbitAI
利用人工智能编曲,似乎已经不是一件新鲜事。
但是你有听说哪个AI发布专辑吗?
这个专辑的作者是一个叫DeepSlayerXL的智能程序,它基于Transformer-XL语言模型训练,可以自动生成金属乐数据。
AI写歌早就不新鲜了,不会谱曲都不好意思说自己是人工智能,但是玩摇滚的AI,确实是第一次出现。
创作金属乐的AI
DeepSlayerXL的开发者Bernhard Mueller,青年时期参与金属乐队演奏,由此产生创作金属乐AI的想法。
Andrew Shaw开发的musicautobot,最符合摇滚音乐创作,Bernhard Mueller就在它的基础上编写代码,改造出能够自动生成金属乐的程序DeepSlayerXL。
它的内核同样离不开Transformer-XL语言训练模型。
该程序将MIDI音乐数据,转换为语言模型可识别的编码文本,训练具备自动生成token编码数据的能力后,以同样的规则转换为MIDI音乐数据,完成编曲。
△对MIDI音乐进行token编码转化。
有时候AI也免不了偷懒,直接拿训练过它的数据来用,也就是常说的通用和弦。
由于对整体结构没有相应的训练,DeepSlayerXL还无法做到写出节拍一致结构完整的曲子。
也是这个原因,使得它创作的音乐不受拘泥,跨越多个流派,具备独特的风格。
比如《Arab Spring》,就是DeepSlayerXL音乐专辑的其中一个作品。
试听的直接感受就是,如果不说,谁又能想到这是莫得感情的AI创作的呢?
GPT-3点评金属乐专辑
DeepSlayerXL金属乐专辑,灵感起源于它的开发者Bernhard Mueller青年时期经历。由于受新金属运动的影响,它的歌曲风格多样,集各类型摇滚乐特色于一体。
在Bernhard Mueller练习演奏过程,以及对其他歌曲二次创作过程,萌生出结合语言模型创作歌曲的想法,由此诞生DeepSlayerXL。
DeepSlayerXL创作出来的歌曲,听来还是有点意思的,十分符合外行人对摇滚乐的印象。
比如《A Pumpkin’s Life》,谁听了不得感叹一句“好像就是这个味”。
GPT-3给这首歌做了个点评,毕竟只有AI更懂AI。
“这首歌和南瓜派没有任何关系,它带有80年代老式垃圾摇滚的痕迹。另外,这首歌的歌词也让它本身变得有趣,讲述世界如何变得越来越危险,我们需要为接下来可能发生的事情做好准备。这是一个非常深刻的哲学问题。”
专辑中还有其他不错的歌曲,相应的,像模像样的GPT-3点评一个都没少。
“《dark meter》与Pink Floyd甚至一些早期Talking Heads的音乐有更多共同之处,这是对熟悉流派的尝试。”
“《This is the End》曲目融合了工业噪音和环境声景,有时像在听混音带。但是会出现噪音无缝转化为轻松旋律的声音,这是一个有趣的节奏变化。”
用AI创作金属乐
会写歌的人工智能,谁不想体验一下?
感兴趣的朋友可以自行下载PyTorch模型,或者登陆Colab notebook在线平台(链接均在文末)亲自体验。
调整音乐序列长度,通过修改这部分数据来实现。
还可以自己输入一小段音乐片段,让程序补全一首歌。
就算完全不懂摇滚,也不了解代码,照样可以创作属于你的金属乐。
DeepSlayerXL的原理
DeepSlayerXL编曲金属乐(甚至还出专辑),具体是怎么做到的?
和基础程序musicautobot一样,它们都依赖于TransformerXL模型训练数据。
用到的训练数据集,是从网络上抓取的3,604首俄罗斯MIDI歌曲。将每首歌向任意方向移调半步,由此获得了18k完整的MIDI歌曲训练数据。
在MIDI歌曲数据中,单一音符包含了间距和持续时间信息,并且在同一时间点可以存在多个音符。这样的2D数据无法被Transformer模型识别,需要将其转换为单一维度文本数据。
通过musicautobot标记和流行音乐Transformer的BAR标记规则,将每个音符的音高和时长用对应token编码,并在标记中体现出音符演奏顺序,解决多个音符叠加的识别难题。
鼓点信息由DRUM[NUMBER]标记补充表示,这样,MIDI音乐数据就完全被转化为由token编码组成的文本(如前文所示)。
使用转换为token编码的MIDI数据集,对 TransformerXL 模型训练200个小时,完成语言学习。
自动生成一系列token数据后,按照同样的编码规则,将其转换为MIDI音乐数据,完成金属乐创作。
参考链接:
https://muellerberndt.medium.com/rage-of-the-machine-an-ai-makes-metal-music-f299dc1f706a
PyTorch模型下载地址:
https://drive.google.com/file/d/1hIEQm5mwq0zfcXhHvq26fsuY8fTliWUI/view
Golab notebook地址:
https://colab.research.google.com/drive/10goN9RGLfRGf2waaz2ufMdpwtfdUNTGe?usp=sharing
— 完 —