今年年初电视上很多唱歌类节目采用了一种「云竞演」的方式。其实说白了,这就是利用视频会议让大家分别在自己家里参加节目录制,只不过为了便于不懂技术的人理解,使用了「云竞演」这样的称呼。
不过本文我们要谈的「云谱曲」可没那么简单!并不是作曲家在自己家里通过访问某些云服务来谱写优美音乐,而是让任何人,哪怕没有接受过相关训练的普通人,在云服务的帮助下,自己写出好听的旋律来!
你从小就有玩音乐的梦?那么来吧,Amazon Web Services (AWS) 挺你,帮你圆梦!
寓教于乐,AI 起始并没那么难入门
在 2019 AWS re:Invent 技术大会上,AWS 发布了 AWS DeepComposer,这是世界上第一个结合了人工智能生成服务的音乐键盘。本文将介绍该服务,告诉你如何使用预训练的模型快速生成自己的第一个音乐作品。同时你将了解到 DeepComposer 背后的人工智能技术基础知识:生成对抗网络(GAN),并了解如何使用生成对抗网络训练自己的模型。
说到这个 DeepComposer,它的背后起始还有一些有趣的故事。人工智能和机器机器学习是近年来的热门话题,但从事有关工作需要了解和掌握模型和算法、代码编写等一系列计算机学科的知识,很多有志于从事该行业的人员因此不得不望而却步。
为了帮助更多人学习实用的机器学习知识并从中获得乐趣,AWS 在过去三年里,每年都发布了一个基于机器学习的设备。
2017 年推出的世界上第一台支持深度学习的摄像头 AWS DeepLens,可以帮助开发人员了解用于机器视觉的机器学习。2018 年推出的 AWS DeepRacer,是一种通过强化学习驱动的全自动 1 /18 比例赛车。而 2019 年发布的此系列第三个作品 AWS DeepComposer,是一种可以配合人工智能生成服务使用的音乐键盘。
AWS DeepComposer,谱写华美乐章
AWS DeepComposer 是一款 32 键,两个八度的 MIDI 音乐键盘。借此,开发人员可以使用预训练模型或自建的基于人工智能生成服务的模型为音乐作曲、编排和演奏。
除了直接购买硬件形态的 AWS DeepComposer 键盘,任何用户也可以使用 AWS 控制台里的虚拟键盘实现相同玩法。
使用 AWS DeepComposer 的主要步骤如下:
- 登录到 AWS 控制台并启动 DeepComposer 服务;
- 使用音乐键盘弹奏录制简短的音乐旋律,或使用预先录制的音乐旋律;
- 根据喜欢的音乐类型选择一个预训练或自己通过 SageMaker 产生的生成模型;
- 使用此模型生成新的由不同乐器产生的复音成分;
- 在控制台中播放和录制生成的乐曲;
- 导出作品为 MIDI 或 MP3 格式,随后即可在 SoundCloud 音乐云上共享。
使用预置的模型
下面首先看看如何使用预置模型快速生成我们的第一个音乐作品。
- 在美东区打开控制台并开启 DeepComposer 服务,随后跳转 Music Studio。
- 在这里可以选择预先录制的乐曲,也可以自己使用音乐键盘录制一段旋律。
- 本例中我们为大家录制了一段德沃夏克的《新世界》交响曲主旋律,然后可以选择预先训练好的不同音乐风格模型:古典,爵士,摇滚或流行。
- 这些模型已经针对大量音乐数据集进行了相应类型的训练,可供我们直接使用。让我们试一试给这首旋律换换曲风,选择“爵士”并生成音乐。
- 几秒钟后,可以看到模型产生的音乐伴奏。随后可以给它们分配不同乐器:架子鼓,吉他,贝斯低音吉他,并加点弦乐。
接下来,听听成果吧。
这曲子如何?同样,我们也可以将其改为古典、摇滚或流行的风格。最后,还可以将乐曲导出为 MIDI 或 MP3 文件,并在 SoundCloud 帐户上分享。
- 试听一
- 试听二
- 试听三
生成对抗网络概览
GAN(Generative adversarial network,生成对抗网络)最早由 Ian Goodfellow 等人于 2014 年提出,以其优越的性能迅速成为人工智能一大研究热点。
生成对抗网络由两个网络组成的,一个生成器网络(Generator)和一个判别器网络(Discriminator)。在对抗网络框架中,生成器网络模型与判别器网络模型相对立。生成器无权访问数据集,而是使用随机数据,力图生成一个真实数据集的样本。判别模型学习确定样本是来自模型分布还是来自数据分布。
生成模型可以被认为类似于一组伪造者,试图生产假冒物品并在未经检测的情况下使用它,而判别模型类似于鉴别人员,试图对物品的真伪做出判断。这两个网络神经网络通过竞争试图超越对方并完成自己的任务。经过数千次迭代后,两个网络同时得到训练变得更好。
生成对抗网络有广泛的使用场景,例如图像生成、艺术品生成、音乐生成和视频生成等等。当然在 DeepComposer 里预置的模型就是这样训练产生的,供我们使用编曲配器生成特定风格的音乐作品。
之前我们曾发布过一篇文章,介绍如何利用生成对抗网络合成几乎可以以假乱真的「人类手写笔迹」,感兴趣的童鞋可以点击这里阅读。
训练自己的模型
接下来一起看看如何使用生成对抗网络,根据喜欢的音乐数据集训定制模型。我们需要选择:
- 生成器和鉴别器的体系结构参数
- 训练过程中的损失函数,用于测量算法输出与期望值之间的差异
- 超参数
在模型训练期间,我可以监控质量指标,收听生成的样本。对模型进行全面训练后,就可以像预先训练的模型一样生成定制的模型,并用它来生成具有独特风格的音乐了。
AWS DeepComposer 这款服务也许将开启您的作曲生涯。请访问这里了解更多相关信息,并注册预览该服务。注册者将在音乐键盘上市时得到电子邮件通知。