人工智能也能玩音乐游戏,自动学习编曲变身劲舞大师

    xiaoxiao2021-08-21  197

    Dance Dance Revolution(国内译为劲舞革命)是一个风靡全球的节奏类音乐游戏。大家应该都曾经玩过,或者在商场的游戏厅中见到过它,现在,人工智能也可以玩这款游戏了!

    据雷锋网,游戏规则是玩家在跳舞台上按照屏幕上的脚步指示图案调整脚步,根据音乐的节奏在特定的时间点上踩在指定的舞台按钮上。最终根据是否在正确的时间踩在了正确的按钮上来决定得分的多少。不同难度的游戏,脚步指示图案也不同,难度越高,指示图案越多,而且有更复杂的顺序。跳舞台有上下左右四个箭头按键,每个按键有四种状态:开,关,保持,释放。四个箭头按键可以各自独立的激活或释放,所以总共有256中可能的脚步组合。

    屏幕上的舞步指示是根据音乐结构制作的,不同的音乐节奏或旋律对应不同的舞步。虽然DDR相当流行,但是玩家也有一些抱怨:比如曲库是有限的,玩家有时候并不能跳他们最喜欢的音乐的舞蹈,或者即使有这个音乐,但是玩家并不喜欢设定好的舞步。为了解决这个问题,DDR公司开源了一些工具,使得玩家们可以自己为音乐编舞。但实际上,自己编舞的过程是很痛苦的,并且需要很多专业的知识。下图为示例的编排过程。

    日前,加州大学圣地亚哥分校的研究者使用了一种方法可以自动生成舞步,可以从原始的音频中直接生成脚步指示图案,以此来学习编舞。这种方法通过模仿人制作的脚步指示图案的语义信息来学习。这个问题可以被分解为两个子任务:

    舞步放置,在歌曲中应该放置舞步的位置放置一系列的时间戳。这个过程根据玩家选择的难度的不同而产生不同的结果。

    舞步选择,选择在时间戳上面放置哪种舞步(上下左右)。

    按顺序运行这两个步骤,会产生一个可玩的舞步指示图案。过程如下图。

    对Knife Party feat这首歌的其中四秒进行舞步编排的流程,从上到下分别是人工编排的舞步,舞步选择预测,舞步放置预测,音频特征

    学习编舞的过程主要是音乐信息检索(music information retrieval, MIR)。放置舞步的过程与起始点检测(onset detection)很相似。Onset detection的目标是确定音乐上突出事件的时间点,例如音符或者鼓点。在编舞的任务中,并不是所有的音乐中的所有onset都对应DDR的舞步,但DDR的舞步一定对应着一个onset。

    在数据方面,研究者们使用了DDR公司的标注好的数据:Stepmania Online,它用于超过100k首的歌曲,总共350Gb的数据。此外,研究者还收集整理了另外其他作者所创作的两个高质量的数据集。

    在舞步放置阶段,研究者采用了卷积神经网络结构。整个模型包含了两个卷积层和两个全连接层。为了提高CNN的性能,研究者又加入了C-LSTM模型,将卷积编码与RNN结合,以达到整合更长时间窗口信息的目的。网络结构见下图:

    在舞步选择阶段,研究者将舞步选择视为序列生成问题。他们使用了在处理语言模型中很常用的RNN模型,因为RNN能更好的捕捉长距离的上下文关系。网络结构见下图:

    本篇论文提供了一个Demo,感兴趣的可以自己尝试一下:http://deepx.ucsd.edu/ddc

    也可以在Youtube上观看官方给出的演示视频:https://youtu.be/yUc3O237p9M

    更多的实现细节请参考原论文:Dance Dance Convolution

    雷锋网(公众号:雷锋网(公众号:雷锋网))编译

    本文作者:高云河 本文转自雷锋网禁止二次转载,原文链接

    相关资源:音乐编曲 各类文档技巧

    最新回复(0)