Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

机器之心编辑部专栏

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

近期,字节跳动发布全球最大的古典钢琴数据集 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 位不同作曲家的曲目数量分布:

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]:

  • 论文地址: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(△),以此实现任意精度的钢琴转谱:

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

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

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

转谱结果


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

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

示例参见:

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

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

参考文献:

[1] Qiuqiang Kong, Bochen Li, Xuchen Song, Yuan Wan, and Yuxuan Wang. "High-resolution Piano Transcription with Pedals by Regressing Onsets and Offsets Times." arXiv preprint arXiv:2010.01815 (2020).

[2] Qiuqiang Kong, Bochen Li, Xuchen Song, Yuan Wan, and Yuxuan Wang. "High-resolution Piano Transcription with Pedals by Regressing Onsets and Offsets Times." arXiv preprint arXiv:2010.01815 (2020).

代码&数据集:

  • https://github.com/bytedance/piano_transcription

  • https://github.com/bytedance/GiantMIDI-Piano

理论钢琴数据集
1
相关数据
字节跳动机构

北京字节跳动科技有限公司成立于2012年,是最早将人工智能应用于移动互联网场景的科技企业之一,是中国北京的一家信息科技公司,地址位于北京市海淀区知春路甲48号。其独立研发的“今日头条”客户端,通过海量信息采集、深度数据挖掘和用户行为分析,为用户智能推荐个性化信息,从而开创了一种全新的新闻阅读模式

https://bytedance.com
人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

数据库技术

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

推荐文章
暂无评论
暂无评论~