深度 | 计算机如何从乐盲到作曲家?建 28 层神经网络,听 8000 个 MIDI 乐章

深度 | 计算机如何从乐盲到作曲家?建 28 层神经网络,听 8000 个 MIDI 乐章

blackbettyblog

编者按:训练电脑来帮助音乐家们创作,这听起来似乎有点偷懒。然而事实并非如此,相反,来自谷歌及多个实验室的科学家们要付出更多的心力,才能用音乐“调教”计算机编写出美妙的乐章。

此曲只应机器有,人间能得几回闻?本文源自 Fast Company,作者 Tina Amirtha,由老吕IO、环子及何忞编译,未经授权不得转载。

今年 5 月份,谷歌大牛 Douglas Eck 离开硅谷的办公室远赴位于北卡罗来纳州的大烟山国家公园(Smoky Mountains),在这里他与许多音乐、艺术和科技人才共同度过了一年一度的 Moogfest 音乐节。在每天 High 到爆的同时,Eck 也没忘了自己的本职工作,他给自己在聚会上认识的音乐界大牛们讲述了自己的新想法——训练电脑来帮助音乐家们制作音乐,比如做个和声、写个间奏或者编个副歌部分等。未来,机器还将学成出师,创作属于自己的音乐。

此前,Eck 从未参与过 Moogfest 音乐节,这个从穆格电子琴中脱胎出来的音乐节一直是电子乐迷的最爱。这次,Rck 的任务就是在音乐节上完成自己教电脑玩音乐的任务。在这几天中,他和他的同事将用MIDI(乐器数字化接口)格式为电脑灌输大量数据。

这里有一段 MIDI 版本的 Billie Jean,可以欣赏一下

其实研究人员利用 AI 做音乐的实验多年前就开始了,最近,索尼位于法国的计算机科学实验室就公布了世界上第一首 AI 制作的流行音乐。此前,它们的 AI 平台 FlowMachines 还曾利用 MIDI 打造过多首爵士和古典音乐。Eck 在音乐节上的现身则预示着谷歌研究项目 Magenta 的正式起航,未来它不但要学会玩音乐,还会成为跨界艺术大师。

点这里,可以听一听 FlowMachines 算法编写的歌曲《Daddy's Car》。

研究人员表示,让电脑听音乐并学习制作音乐非常有用,因为这两个动作都能提升智能系统的认知水平。就像电脑从学会简单阅读文本到理解对话,未来它们也能玩转音符并自主制作自己的音乐。

“对文本的学习能让我们掌握大量知识,电脑也一样,MIDI 是它们的图书馆。随着音乐创作悟性的提高,电脑在交流和认知上的水平也会得到大幅提升。”Eck 说道。

MIDI :从拖后腿到电脑缪斯

深度 | 计算机如何从乐盲到作曲家?建 28 层神经网络,听 8000 个 MIDI 乐章

 上世纪 70-80 年代,电子合成器风靡一时,因此工程师们也开始实验,他们想让电子乐器学会互相交流。最终,Dave Smith 和 Ikutaro Kakehashi 开发出了 MIDI(乐器数字化接口)。1983年,MIDI 正式成为音乐产业的技术标准。

不过,MIDI 能有今天也与两位工程师当年的大度密不可分,他们将该专利免费奉献给了全世界。“现在来看,当年的决定还真是明智之举,”Smith 说道。“我们想全身心投入该技术的开发,因此决定不再对希望使用该技术的公司收费。”

不久之后,个人电脑就能读取并存储 MIDI 文档了,这一进步具有划时代的意义。原本复杂抽象的音乐被转换成了机器能读懂的数据,同时这种格式下数据体积也被大幅压缩(MP3 格式下 4MB 的文档在 MIDI 格式下只有几百 KB)。在 MIDI 的帮助下,舞曲、电子乐、浩室音乐和打击乐迅速异军突起。同时,MIDI 的身影还活跃在电视和电影的配乐中。

对语言来说,一段段的文本就是其符号;而对于音乐来说,MIDI 则是其组成细胞。擅长 MIDI 音乐的 Jonathan Lee 表示:“MIDI 自身并不包含声音,它只是一段段指令。”

其实一个 MIDI 链接内含 16 通道的数据,这些数据包含有乐谱、音调、拍子、音量、颤音、音频平移和尾白等方方面面。此外,设备还可从录制好的声音中检索出所需的部分,也就是我们所说的“声音字体”(SoundFonts)。这种格式给了音乐家们充分的发挥空间,即使是新手也能将制作出“像模像样”的音乐片段。比如这段 Radiohead 的 《No Surprise》

虽然眼下数字乐器还在用着 30 年前的 5 针 MIDI 接口,但所有电脑,甚至是 Chrome 浏览器都能通过 USB 适配器轻松地获取数据。借助愈发强大的计算能力和数字采样器,MIDI 音乐家们将自己的创意发挥到了极致,他们甚至还创作出了新的门类——Black MIDI。

Jonathan Lee 曾以超级马里奥的经典音乐为基础制作了自己独有的 MIDI 版,这版神器的音乐包含有760万个音符,大多数电脑根本就扛不住如此巨大的数据量。不过,这版音乐在 YouTube 上依然收获了 160 万的点击量,至于它让多少电脑瞬间死机,我们就不得而知了。点这里可以听到 Demo。

深度 | 计算机如何从乐盲到作曲家?建 28 层神经网络,听 8000 个 MIDI 乐章

Lee 是一名来自休斯敦的 17 岁男孩,他说自己曾经拿爸妈的两台笔记本电脑试验 Black MIDI,结果把 RAM 和 CPU 都烧坏了。他最终给买了个竞技级的电脑,实现了自己捣鼓的心愿。

Jonathan Lee 相信 Black MIDI 的出现会促使工程师开发新型软件,这样一来电脑 RAM 的压力就会小得多,在渲染时也就不会轻易崩溃了。

音乐,深度学习的摇篮

不同于音频录制,MIDI 文件对于计算机科学家而言是理想的机器学习素材。这种文件小巧精致,在互联网的宝库中简单易得,并且不需要交付任何版税,其提供的资源更是能几乎不受限制地训练 AI 机器,供人类使用。

深度学习是目前计算机训练的最高水平,这是一种利用人工神经网络学习的方法,其储存的信息与人类大脑和神经系统所处理的信息大致类似。在计算机视觉中,深度学习业已成为机器学习技术的标准。如果计算机知道在一个图像中需要寻找什么样的形状,那么科学家们就知道该计算机如何通过神经网络进行学习。反过来,你也可以在谷歌的 Deep Dream 算法中发现这一过程。谷歌的三位工程师 Alexander Mordvintsev, Christopher Olah 以及Mike Tyka 根据计算机系统能“记得”网上找到的其他图像之特点,利用公司的图像识别软件,以生活中的普通场景为原素材,创造出很多图像。

深度 | 计算机如何从乐盲到作曲家?建 28 层神经网络,听 8000 个 MIDI 乐章

Deep Dream算法将图像识别过程反转过来,它能从其他画面的图案中创造新的图像。

音乐算法加上MIDI 音乐以及其他输入源也能通过类似的过程谱写乐曲。

让科学家们困扰的是,计算机是否以及如何能够理解那些更主观的东西,例如音乐流派、和弦,以及其中流露的情绪。不过,听音乐能够让计算机达到更高层次的认知水平。

今年七月,来自伦敦玛丽女王大学的一个科学家团队报道称,他们在给计算机听过民谣、舞曲和 hip-pop 三个流派的 6600 首歌曲之后,已经成功训练出了一套神经网络系统,能以 75% 的准确率识别歌曲的流派。

然后他们把计算机的神经网络拆分成不同的层面,以便观察从巴赫(编者按:巴洛克时期音乐巨匠,为古典音乐代表作曲家)切换到艾米纳姆(编者按:20 世纪白人 rap 音乐代表)时,这个系统在每一个层面学习到了什么。研究者们发现计算机开始学会了识别一些基本的音乐模型,例如打击乐,这是神经系统的较低层次,还有一些更抽象的概念,例如和谐的乐章,这是神经系统的最高层次。

研究者们并没有使用 MIDI 标示或其他类型的音乐符号,而是从 8000 首歌曲中抽取出的 8000 个原始音频信号样本,并注入到他们的学习算法中。这一决定或许体现,前者在识别模拟音乐的细微差别上依然存在局限。

对于 MIDI 而言,人声是“虚拟出来的人类声音,所以最后会有一点点失真,这就像当你面对一个从德克萨斯州或明尼苏达州来的人时可能会有一些波士顿口音,道理是一样的。”

纽约大学音乐与音频实验室的前博士后研究员 Eric Humphrey (现为 Spotify 的一名高级机器学习研究者)说:“ MIDI 这类的产品在编排诸如和声、节拍、结构和模式等传统的音乐元素方面具有很大的潜力。但是有趣的是, MIDI 在塑造音色和产出效果方面并算不上很出色。”这也就意味着,在所有同类产品之中,“MIDI 并不能很好地编码出许多流行及现代音乐。”

但是谷歌并没有纠结于什么元素会在艺术形式中丢失,而是早已开始建立新的深度学习模型来创造音乐。这个夏天, Magenta 项目的研究者 Anna Huang 设计了一套神经网络,用以在巴赫众赞歌中写入新的语音片段(赞歌中原始的语音片段已由 Anna 删除)。 Huang 和她的研究团队最开始计划,如果音乐家已经把一首歌的开头和结尾写好,那么就使用电脑的语音生成技术来完成这首歌的中间部分。

但研究者们在重复使用这个用于语音生成的机器学习模型时,发现了两个问题。首先,音乐是繁杂多样的,有时好几种乐器会同时奏响,不同的声音会同时发出。在语音识别中,计算机工作的本质是在一个时间段内仅能识别一个人说话的模式。其次,音乐家写歌并一定从头写到尾,他们可能在创作时会时不时地回去填补一下之前的空白。而另一方面,口语则需要以一定的逻辑顺序来铺成观点。

为了解决第一个问题,研究者们从图像识别领域找到了方法。他们发现了一种机器学习模型,这种模型会教计算机重建图像中的空白,这种方法叫做“图像修复”(inpainting)。他们认为如果计算机能在一个图像中同时识别 3 个 RGB 值,那么他们就可以把每个声音在他们的新模型中想成一个独立的 RGB 值。而为了解决第二个问题, 他们决定写一个算法,让计算机能够随机地生成旋律,而不是按照一定的顺序生成。

团队成员用一些包含有女高音、男高音、女中音和男低音部分的巴赫众赞歌曲目的 MIDI 来训练计算机。他们随机地在不同乐句点上将歌曲剪切成片段,这样在修正过的部分中,任意给定时间段,计算机都可以“听”到一种到三种声音音色。接着,研究者们开始测试计算机在逐渐地听取每种声音后学到了什么,连续测试直到计算机将这首歌曲的所有声音都学会。他们为计算机设计了 28 层神经网络,使其从过去产生的声音中创造出新的声音。最后,谷歌的科学家们终于对计算机的新作品的审美感到满意。

(这里有一段谷歌 Magenta 创造的音乐,不妨欣赏一下。小编觉得还蛮好听的。)

对巴赫众赞歌的分析让谷歌明白,计算机是可以通过学习来解决音程不和谐问题,计算机最终是可以学习音阶,学会制作更加和谐的音程关系的。

但是还有一个问题就是,他们的模型只能数字化模拟少量真实世界的音乐风格。一方面,他们的模型不会模仿专业声乐歌手天然的音域限制,比如女高音和男低音。在特定的点上,计算机反映的只是一种与乐谱音高一致的声音。研究团队正在将这些人类化的特征编入机器学习模型中。

(这里又有一段谷歌 Magenta 创造的音乐,不妨再欣赏一下。)

为了达到这个目标,必须给计算机更多的“音乐启蒙”。除了创造更多有用的研究让人工智能应用更广泛外,Magenta 的工程师们还对与音乐团体的合作非常感兴趣。

八月份,研究团队发布并更新了一款连接音乐家和谷歌开源 AI 软件的界面—— TensorFlow。这个新的发明允许音乐家将谷歌的人工智能模型连接到他们自己的合成器和 MIDI 控制器上,让 AI 真正地做音乐。同时,软件开发者们也能够将他们的人工智能模型连入其中,代替谷歌的模型,这样可以为 Magenta 社区注入更多谷歌以外的新想法,产生更多有趣的音乐实验。

另外,Lee 继续着他自己的乐队 Black MIDIs 的音乐创作,并将他们发布在 YouTube 上。他的 MIDI 版作曲像是在写一部名叫“标注艺术”的小说,将曲线、字母,甚至是摩斯电码都以其视觉感受写入乐谱中,还有一些则本身就非常数学化。在一个名为《π》的视频中,包含了3141492个音符,3分14秒长,处处洋溢着 π 的气息。另一个视频则是“分形图像”,描述了 Mandelbrot 集合的数学等式。

深度 | 计算机如何从乐盲到作曲家?建 28 层神经网络,听 8000 个 MIDI 乐章

点这里,你可以欣赏到令你眼花缭乱的 Lee 的 MIDI 曲目:π)

当听到谷歌新的人工智能项目正在寻找 MIDI 领域人才时,Lee 表示非常愿意参加。他打算将整个 Black MIDI 社区的资料全部贡献给这个新项目。就算这么多的 MIDI 资料无法让计算机的作曲能力突飞猛进,它也能让计算机至少学会一些写作 Black MIDI 风格曲目的技巧。Lee 说:“我们会为这个项目倾尽全力提供优秀内容。”

推荐阅读:

 AI 也有音乐细胞,流行乐古典乐都难不倒它

工科男的文艺style:把秘密用算法藏在舞曲里


本文作者:奕欣


本文转自雷锋网禁止二次转载,原文链接

上一篇:简析机器学习和深度学习之间的区别


下一篇:python 回溯法 子集树模板 系列 —— 13、最佳作业调度问题