亚马逊AWS官方博客

基于机器学习生成算法的云作曲服务 AWS DeepComposer

 

“Computers and electronic music are not the opposite of the warm human music. It’s exactly the same.”

–Bill Laswell

“计算机电子音乐和人的音乐几乎完全相同—都是暖暖的。“

–(美低音电吉他手)Bill Laswell

 

在2019 AWS re:Invent年度技术大会上,AWS发布了AWS DeepComposer, 世界上第一个结合了人工智能生成服务的音乐键盘。本文将向您介绍该服务, 教您如何使用预训练的模型快速生成您的第一个音乐作品,介绍DeepComposer背后的人工智能技术基础知识:生成对抗网络(GAN), 并讨论如何使用生成对抗网络训练自己的模型。

 

人工智能和机器机器学习是近年来的热门话题, 但从事有关工作需要了解和掌握模型和算法和代码编写等一系列计算机学科的知识。学多有志于从事让人工智能和机器学习的人员因此不得不望而却步。

为了帮助更多人学习实用的机器学习知识并从中获得乐趣,AWS 在过去三年每年发布了一个基于机器学习的的设备。

 

2017年推出了世界上第一台支持深度学习的摄像头AWS DeepLens,以帮助开发人员了解用于机器视觉的机器学习。去年我们推出了AWS DeepRacer,一种通过强化学习驱动的全自动1/18比例赛车。而今年AWS发布了此系列的第三个作品AWS DeepComposer, 配合人工智能生成服务使用的音乐键盘。

 

AWS DeepComposer

AWS DeepComposer是一款32键,两个八度的MIDI音乐键盘,用于开发人员可以使用预训练模型或您自建的基于人工智能生成服务的模型, 为音乐作曲、编排和演奏。

 

目前您可以请求预购AWS DeepComposer键盘,当设备正式上市时亚马逊会发送电子邮件通知你购买。您也可使用AWS控制台里的虚拟键盘。

 

我向大家介绍一下使用AWS DeepComposer的主要步骤:

1.登录到AWS控制台启动DeepComposer服务,

2.使用音乐键盘弹奏录制简短的音乐旋律,或使用预先录制的音乐旋律,

3.根据您喜欢的音乐类型选择一个预训练或自己通过SageMaker产生的生成模型,

4.使用此模型生成新的由不同乐器产生的复音成分,

5.在控制台中播放和录制生成的乐曲,

6.导出作品到MIDI或MP3格式, 并可以在SoundCloud音乐云上共享。

 

使用预的模型

下面我向您演示如何使用预置的模型快速生成您的第一个音乐作品。

在美东区打开控制台开启DeepComposer服务转到Music Studio,在这里可以选择预先录制的乐曲,也可以自己使用音乐键盘录制一段旋律。为大家录制了一段德沃夏克的《新世界》交响曲的主旋律, 然后我可以选择预先训练好的不同音乐风格的模型:古典,爵士,摇滚或流行。这些模型已经针对大量音乐数据集进行了相应类型的训练,可供我们直接使用。让我们试一试给这首旋律换换曲风,我选择“爵士”并生成音乐。 几秒钟后,我看到了模型产生的音乐伴奏。我给他们分配了不同的乐器:架子鼓,吉他, 贝斯低音吉他, 并加点弦乐。

这曲子如何?同样, 我们也可以将其改为古典,摇滚或流行的风格。

最后一步,我可以将乐曲导出到MIDI或MP3文件,并在我的SoundCloud帐户上分享。

 

生成对抗网络概览

GANs(Generative adversarial networks,生成对抗网络)最早由Ian Goodfellow等于2014年提出,以其优越的性能迅速成为人工智能一大研究热点。

生成对抗网络GAN由两个网络组成的,一个生成器网络(Generator)和一个判别器网络(Discriminator)。在对抗网络框架中,生成器网络模型与判别器网络模型相对立。 生成器无权访问数据集,而是使用随机数据,力图生成一个真实数据集的样本。 判别模型学习确定样本是来自模型分布还是来自数据分布。

生成模型可以被认为类似于一组伪造者,试图生产假币并在未经检测的情况下使用它,而判别模型类似于警察,试图币的真伪做出判断。这两个网络神经网络通过竞争试图超越对方并完成自己的任务。经过数千次迭代后,两个网络同时得到训练变得更好。

生成对抗网络GAN有广泛的使用场景,比如图像生成、艺术品生成、音乐生成和视频生成等等。当然在DeepComposer里面预置的模型就是这样训练产生,供我们是使用编曲配器生成特定风格的音乐作品。

训练自己的模型

我们看一看如何使用生成对抗网络GAN, 根据喜欢的音乐数据集训定制模型。我们需要选择:

•生成器和鉴别器的体系结构参数,•训练过程中的损失函数,用于测量算法输出与期望值之间的差异,

•超参数。

在培训期间,我可以监控质量指标,收听生成的样本。对模型进行全面训练后,就可以像预先训练的模型一样生成定制的模型,并用它来生成具有独特风格·的音乐了。

朋友们,AWS DeepComposer 这款服务也许将开启您的作曲生涯。请访问https://amazonaws-china.com/cn/deepcomposer/ 了解更多有关信息,并注册预览该服务。 注册者将在音乐键盘上市时得到电子邮件通知。

 

本篇作者

张侠

AWS首席云计算企业战略顾问

Julien Simon

作为EMEA的人工智能和机器学习传播者,Julien致力于帮助开发人员和企业将他们的想法变为现实。