万余首钢琴作品一千多小时,字节跳动全球最大钢琴MIDI数据集

人工智能 深度学习
近期,字节跳动发布全球最大的古典钢琴数据集 GiantMIDI-Piano,包括来自 2,784 位作曲家 10,854 首作品的 MIDI 文件,总时长为 1,237 小时。研究者为完成该数据集的构建,开发并开源了一套高精度钢琴转谱系统。

 近期,字节跳动发布全球最大的古典钢琴数据集 GiantMIDI-Piano,包括来自 2,784 位作曲家 10,854 首作品的 MIDI 文件,总时长为 1,237 小时。研究者为完成该数据集的构建,开发并开源了一套高精度钢琴转谱系统。

钢琴转谱是一项将钢琴录音转为音乐符号(如 MIDI 格式)的任务。在人工智能领域,钢琴转谱被类比于音乐领域的语音识别任务。然而长期以来,在计算机音乐领域一直缺少一个大规模的钢琴 MIDI 数据集。

近期,字节跳动发布了全球最大的古典钢琴数据集 GiantMIDI-Piano [1]。在数据规模上,数据集不同曲目的总时长是谷歌 MAESTRO 数据集的 14 倍。

论文地址:https://arxiv.org/abs/2010.07061

项目地址:https://github.com/bytedance/GiantMIDI-Piano

字节跳动研究科学家表示:「GiantMIDI-Piano 将所有古典钢琴作品转录成 MIDI 格式,并向全世界开放,此举旨在推动音乐科技和计算机音乐学的发展」。

GiantMIDI-Piano 的用途包括但不限于:音乐信息检索、自动作曲、智能音乐创作、计算音乐学等。下图展示了 GiantMIDI-Piano 中前 100 位不同作曲家的曲目数量分布:

万余首钢琴作品一千多小时,字节跳动全球最大钢琴MIDI数据集

GiantMIDI-Piano 的特点是使用钢琴转谱技术,通过计算机将音频文件自动转为 MIDI 文件,并通过该技术转谱了大规模的 MIDI 数据集。

研究者首先从开放的国际音乐数字图书馆 IMSLP 获取了18,067位作曲家的143,701首作品名信息,并通过 YouTube 搜索到60,724个音频。然后,研究者设计了基于音频卷积神经网络(CNN)的钢琴独奏检测算法,筛选出来自 2,786 位作曲家的 10,854 部钢琴作品。最后,研究者开发并开源了一套高精度钢琴转谱系统(High-resolution Piano Transcription with Pedals by Regressing Precise Onsets and Offsets Times)[2],将所有音频转谱成 MIDI 文件,进而构建了 GiantMIDI-Piano 数据库。

数据集特点

GiantMIDI-Piano 数据集具备以下特点:

包含来自 2,784 位作曲家 10,854 首作品的 MIDI 文件。

包含 34,504,873 个音符。

所有的曲目都是不同的,MIDI 文件的总时长为 1,237 小时。

由高精度转谱系统转谱音频而成。转谱的 MIDI 文件包括音符的起始时间、力度和踏板信息。

GiantMIDI-Piano 的转谱相对错误率为 0.094,在 Maestro 钢琴数据集上的转谱 F1 值为 96.72%。

所有 MIDI 文件都有统一的格式,文件名格式为「姓_名_曲目名_youtubeID.mid」。

包含作曲家国籍和出生年份信息。

数据集大小为 193 Mb。

使用许可为 CC BY 4.0。

钢琴转谱

钢琴转谱是一项十分具有挑战性的任务,原因之一在于钢琴是复音乐器,存在多个钢琴按键同时被按下的情况,不同音的组合方式多达上万种。针对此任务,字节跳动开源了一套高精度钢琴转谱系统 [2]:

万余首钢琴作品一千多小时,字节跳动全球最大钢琴MIDI数据集

论文地址:https://arxiv.org/abs/2010.01815

项目地址:https://github.com/bytedance/piano_transcription

该转谱系统的特点包括:

能够将任意声部数目、任意复杂度,甚至双钢琴、多钢琴的钢琴音频转谱为 MIDI 文件。

实现了任意时间精度的音符检测,突破了之前算法 32 毫秒识别精度的限制。

对每个音符实现了 128 个粒度的力度识别。

同时包含了钢琴音符和钢琴踏板的识别。

在 MAESTRO 评测数据集上取得 96.72% 的 F1 值,超越了 Google 系统的 94.80%。

预训练模型的代码以 Apache 2.0 协议开源。

在钢琴中,琴键的触发(onset)、抬起(offset)、按下的状态(frame)和力度(velocity)是钢琴发声的重要因素。字节跳动研究者提出了一种通过预测触发、抬起绝对时间进行钢琴转谱的方法。在训练中,网络的训练标签不再是二值 0 或 1,而是和绝对时间有关的连续值 g(△),以此实现任意精度的钢琴转谱:

万余首钢琴作品一千多小时,字节跳动全球最大钢琴MIDI数据集

训练的标签能够表示毫秒级别的触发和抬起偏移:

万余首钢琴作品一千多小时,字节跳动全球最大钢琴MIDI数据集

研究者搭建了基于深层神经网络的转谱模型。一段音频波形首先被转换成对数梅尔谱图(Log mel spectrogram)作为输入特征。卷积循环神经网络被用作声学模型,分别预测触发、抬起、按下的状态和力度。每个声学模型包含 8 个卷积层用来提取高层抽象特征,2 个双向循环神经网络层(GRU)用来学习音频的长时依赖性。每个声学模型的输出都是 0 到 1 之间的连续值。

万余首钢琴作品一千多小时,字节跳动全球最大钢琴MIDI数据集

模型训练完毕后,在推断阶段,研究者提出了一种计算绝对触发和抬起时间的算法,可预测任意时间精度的音符触发和抬起:

万余首钢琴作品一千多小时,字节跳动全球最大钢琴MIDI数据集

转谱结果

00:00/00:00倍速

下图显示了郎朗演奏《爱之梦》片段的音频对数梅尔谱图、音符转谱结果和踏板转谱结果:

万余首钢琴作品一千多小时,字节跳动全球最大钢琴MIDI数据集

此外,研究者使用一款名为雅马哈 Disklavier 的自动演奏钢琴播放转谱的 MIDI,重构了伟大钢琴家们的历史演出。业内人士分析,这项工作无疑是令人振奋的,字节跳动可能会将这项技术应用于后疫情时代的线上音乐直播、智能音乐创作中。

示例参见:

自动演奏钢琴重构李云迪《钟》:https://www.bilibili.com/video/BV1JD4y1d7Pn

自动演奏钢琴重构古尔德 1981 年《哥德堡变奏曲》:https://www.bilibili.com/video/BV1M541177x4

责任编辑:张燕妮 来源: 机器之心Pro
相关推荐

2024-04-29 06:55:34

RustMIDI应用程序

2009-12-09 09:46:01

中国IT产业软件企业

2013-03-03 20:49:15

2022-07-01 17:06:49

Fractio鸿蒙

2013-05-03 13:22:40

2017-09-12 09:57:57

2013-08-21 16:08:55

2014-11-10 17:48:36

阿里巴巴天猫双十一

2009-12-25 17:50:04

2011-05-07 10:39:43

海尔轰天雷X7

2011-04-27 10:33:10

海尔轰天雷X7

2012-03-27 15:21:56

联想笔记本

2011-12-08 14:04:50

投影机常见问题

2022-01-05 22:15:33

数字人民币加密货币区块链

2022-02-23 13:00:00

新闻突发事件

2014-12-11 18:43:46

云端时代

2011-05-04 10:02:05

清华同方真爱C3700

2011-04-29 16:15:33

同方台式机
点赞
收藏

51CTO技术栈公众号