黑白键上的字节跳动:全球最大钢琴MIDI数据集背后的故事

2020 年 10 月 30 日

黑白键上的字节跳动:全球最大钢琴MIDI数据集背后的故事

在上海纽约大学的 Music X Lab,一架自动演奏钢琴正在播放古典钢琴独奏曲《钟》。原本只有两个人的实验室里,不断有人循着钢琴声加入,大家安静地听着,直至曲终。


听众里的孔秋强来自字节跳动,作为 GiantMIDI-Piano(钢琴转谱)研究项目的牵头人,是他的团队创造了这首可以通过录音转谱、被自动演奏的 MIDI 琴曲。‍‍‍‍‍‍‍


“之前从来没想象过,播放一瞬间才感受到钢琴家亲自演奏的震撼,这种感觉非常满足。”


不久后,一则「钢琴转谱」相关的科技新闻在国内外引发了关注。


全球最大古典钢琴数据集发布


10 月,字节跳动发布全球最大的古典钢琴数据集 GiantMIDI-Piano,开发并开源了一套高精度钢琴转谱系统。


数据集中筛选并转谱了来自 2,786 位作曲家的 10,854 部钢琴作品,不同曲目的总时长达到了 1,237 小时,是谷歌 MAESTRO 数据集的 14 倍,填补了计算机音乐领域一直缺少一个大规模的钢琴 MIDI 数据集的空白


GiantMIDI-Piano 的用途包括但不限于音乐信息检索、自动作曲、智能音乐创作、计算机音乐学等


简单说,GiantMIDI-Piano 把国际音乐数字图书馆上能找到,并能在网上搜索到的所有古典钢琴曲转换成了 MIDI 文件,并且在数据规模和精度上做到了世界顶级。


“我们发表的第一篇论文介绍了钢琴转谱系统,被 Twitter 上一位硅谷科技博主转发推广后,收到了很多正面反馈。”孔秋强注意到不少人对这套钢琴转谱系统的易用性精确性大加赞叹。



团队发表的第一篇论文


团队紧接着发表了第二篇论文《GiantMIDI-Piano: A large-scale MIDI dataset for classical piano music》,公布了数据集、将数据和代码进行了开源,在计算机音乐科学领域接连投下重磅惊喜。


这套数据集和相关论文一经发布,就收获了来自硅谷和世界各地的科技大 V、音乐家、作曲家、研究学者和科技媒体的转发和好评。


很多音乐家、作曲家试用了这个钢琴转谱系统的工具包,体验了在1-2分钟里搭建起一个系统、把自己的曲子转换成 MIDI 的过程,使用门槛大大降低了。部分使用者认为,GiantMIDI-Piano 比市场上现有的转谱系统要更加流畅、自然

另外,他们发现这套转谱系统里包含了对钢琴按键力度、钢琴踏板等等这些非常复杂、对钢琴的表现力也非常重要的数据维度,整体更加精确。



美国纽约知名钢琴家、作曲家 Dan Tepfer“点赞”


有了这个数据集,想把钢琴曲谱转换成 MIDI 文件,可能只需要点几下鼠标就可以下载。不少人表示“梦想了这么多年的事,终于有人实现了!”、“这是计算机音乐史上一个重要的里程碑!”


不仅要追赶领先者也要成为领先者


去年 12 月,在英国萨里大学拿到电子信息工程博士学位的孔秋强经过小半年实习后,正式加入字节跳动 Speech, Audio and Music Intelligence (SAMI)组,这是一支从硅谷成长壮大,base 在美国、欧洲和国内三地的国际化团队,致力于通过智能音频技术赋能内容互动和创作


在和众多拥有博士学位、曾供职于 Google、Spotify 等业内顶尖公司的专家的共事中,秋强专注于对通用声音的识别、监测和分类的工作。


除了支持集团业务需求之外,围绕潜在的实际场景,团队也会布局更长期的前沿研究工作。


做钢琴转谱这个项目的动机,就是通过基础性研究,与 Google、Facebook 这些业内顶尖的公司一道,运用技术解决本质的问题,甚至实打实地在研究领域去引领一些方向,“我们不仅要跟随别人,也要让别人跟随我们。”


抱着这样的想法,孔秋强把目光投向了他一直颇感兴趣、并随时关注着最新研究动态的计算机音乐领域。


“如果稍微熟悉这个领域就会发现,在图像和声音领域分别有 ImageNet 和 AudioSet 等大型数据集,在业界的影响力都非常大。但是在音乐领域,缺少一个这样量级的数据集。


做 GiantMIDI-Piano,就是希望能引领未来 10 年甚至 30 年里计算机音乐学的发展。我们为大家准备好数据材料,方便后续的研究者们在这个领域做更深入的研究。


除了数据集,在技术层面,最让行业内的专家觉得惊喜的是,GiantMIDI-Piano 的转谱系统可以将钢琴按键的时间精确到 1 毫秒这个量级,突破了之前 Google 算法 32 毫秒识别精度的限制


“这是一个非常平滑的预测,实现了任意时间精度的音符检测,所以我们叫做高精度预测。”


媒体报道后,孔秋强收到了几十个人发来的邮件,向他表示祝贺、希望交流分享等等。也有不少朋友表示希望加入字节跳动,一些在海外科技大厂工作的博士生同学说,“在 ByteDance 可以做这么有意思的事情,影响未来发展,非常了不起。



机器之心海外版报道


对于技术的未来前景,机器之心海外版引用业内专家的分析——


“这项工作无疑是令人振奋的,字节跳动可能会将这项技术应用于后疫情时代的线上音乐直播、智能音乐创作中。”


“能做 GiantMIDI-Piano 是因为我们有领先的技术”


孔秋强坦言,在 2018 年读博的时候就有了这个 idea,但受限于当时的技术手段无法实现。


“很多人都意识到制作一个大型 MIDI 数据库的必要性,可是受到技术制约做不出来。做这个事情是需要技术积累的,我们现在拥有领先的技术,充足的计算资源,顶级的科学家团队,才有能力制作 GiantMIDI-Piano。


从今年 1 月份开始,有了不断的积累沉淀和团队的支持,觉得技术手段上允许了,他开始着手准备 GiantMIDI-Piano 的工作。


GiantMIDI-Piano 项目涉及到的技术问题非常庞杂,其中最困难的部分是怎么把所有的 idea 组织起来、做好顶层设计,并一一拆解技术难点


经过从上往下的梳理,团队列出了想要做成 GiantMIDI-Piano 必须攻克的难关——


  • 如何做钢琴转谱?

  • 如何把古典钢琴音乐家的信息收集起来?

  • 如何找到钢琴曲对应的音频并保证正确?

  • 如何设计钢琴独奏检测系统?

  • 如何评价转谱结果?


这些难点,每一个都可以拆开成无数个更小的点,需要一一解决。比如「钢琴转谱」这一项,可能随便数一下就有一系列小的挑战——


  • 动态范围大:钢琴琴键按下的时间非常精确,差 0.1 秒,听着都会不舒服;

  • 力度估量难:有功力的人听一段钢琴曲可能就能扒谱子扒下来,但是很难判断每个音的音量;

  • 复音乐系统:钢琴是复音乐器,不同的按键随机组合有上万种可能,很难精准识别;

  • 风格多样:巴赫、李斯特、近现代等等不同的钢琴流派和音乐风格之间,跨度很大;

  • 踏板因素:钢琴踏板这个因素在之前的研究里很少被触及,但其实很重要。



GiantMIDI-Piano 中前 100 位不同作曲家的曲目数量分布


为了搞定这些技术难点,做到高精度,GiantMIDI-Piano 的技术方案中用到了诸多当今领先的技术。


  • 提出通过回归具体的时间,而不是分类去实现高精度,在训练过程中采用了回归距离的方法,去代替 Google 用的分类的方法,让训练的目标能以任意精度描述钢琴的起始时间和结束时间,这是一个创新,而且这个方法同时运用到了 onset 和 offset 当中,比分类的方法要稳定;

  • 测试过程中提出了一种数学解析的算法,能够以任意精度预测 onset 开始点和 offset 结束的时间位置信息,同样这套高精度的算法也运用到了钢琴踏板转谱的技术里。



第 1 - 3 行:前人提出方法的训练目标


第 4 行:我们提出方法的训练目标


低头做事的同时也别忘了仰望星空


团队认为,GiantMIDI-Piano 这项研究的意义在于,通过研究钢琴转谱,可以反哺基础技术的研究。


比如在音乐信息检索的场景中,钢琴转谱反哺的音频事件检测技术可以帮助识别一首歌曲中哪一部分是歌声,另外在短视频和特效领域也值得期待。


说起 GiantMIDI-Piano 在未来可能的应用场景,孔秋强难掩激动,描述了通过转谱后的 MIDI 文件来重构伟大钢琴家们演出场景的可能性。


转谱之后,把谱子用U盘插到特制的钢琴上,就可以现场听,立体声环绕。以后大家就不用买钢琴 CD 了,相当于把音乐家请到自己家里来。

比如今年是贝多芬诞辰 250 周年,把观众聚集到一个音乐厅,台上放一架可以自动演奏的钢琴,插上U盘,听众身临其境,真实还原钢琴现场演奏的美妙。


在研究过程中,他们发现古典钢琴音乐的数据集竟然只有 1 万部钢琴作品,比之前想的少很多。


通用的、大规模的、音乐领域的音频数据集,有很多可以专注的方向和可能性。这个项目叫 GiantMIDI-Piano,加一个 Piano 的后缀,其实就是给之后留空间,这个后缀说不定也可以是交响乐。”


此外,GiantMIDI-Piano 的研究也是学术界和工业界合作的典型案例。“学术界的很多想法不能顺利落地,就是因为缺少公司合作渠道和实际场景的驱动。”


我们能把这个事情做成,是因为有足够的计算资源、优秀的人才、良好的机制和创新氛围,这些都是我们公司的优势。

未来是大数据的时代,需要学术界和工业界紧密合作。


GiantMIDI-Piano 项目的成果发表后,同事们都在祝贺孔秋强和项目团队。他有些不好意思:


团队有很多博士,每个人都会发起科研项目,公司会提供空间鼓励大家找到自己专注的研究领域。除了钢琴转谱之外,SAMI 团队在语音合成、音频处理和识别、音乐理解和创作等等方向都有很多积累和创新。其实大家做得都非常好、非常棒。”


但让团队感触最深还是 leader 给他们的激励——希望大家在低头做事的时候,也要抬头仰望星空


延伸阅读:



2020 年 10 月 30 日 20:561143

评论

发布
暂无评论
发现更多内容

使用 Jira Service Management 管理资产,您需要知道的5件事

Atlassian速递

数字化转型 Atlassian Jira ITSM ITIL

从应用迁移到平台微认证:鲲鹏技术解读

华为云开发者社区

鲲鹏 代码迁移 arm

Spring Boot 2.4.0正式发布,全新的配置文件加载机制(不向下兼容)

YourBatman

云原生 Spring Boot 新特性

二本毕业两年Javacrud经验,面试阿里侥幸通过定级P6,分享这波面经,希望能够激励到同样被学历所困扰的技术人,能够对职业生涯和技术规划有一个参考价值

Java成神之路

Java 架构 面试 编程语言 java程序员

深入了解物理内存管理-伙伴(Buddy)算法

ShenDu_Linux

Linux 算法 内存管理 内核

MindSpore手写数字识别初体验,深度学习也没那么神秘嘛

华为云开发者社区

人工智能 学习 手写识别

LeetCode题解:121. 买卖股票的最佳时机,暴力法,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

产业新基建,撬动数字经济发展新机遇

京东智联云开发者

人工智能 新基建 京东

一点就透的二分查找算法

比伯

Java 编程 程序员 面试 计算机

最近我发现瑞幸在这样做私域运营

Linkflow

营销数字化 客户数据平台 CDP 私域运营

还在头疼C艹中的智能指针吗?

linux亦有归途

指针 C/C++

牛批!阿里P8大牛写了一份Spring Boot2教程已整理成文档免费分享。谁学谁真香系列!

Java成神之路

Java 程序员 架构 面试 编程语言

架构师训练营第 1 期 第 10 周作业

李循律(祥龙)

“摸爬滚打”多年,从月薪3K到30Kjava大神,我是怎么蜕变的?

比伯

Java 编程 架构 面试 计算机

架构师第一期作业(第 11 周)

Cheer

作业

每周花6小时跟清华大牛学Java:JVM、高并发多线程、算法、微服务等。技术能力蹭蹭往上涨!

Java成神之路

Java 程序员 架构 面试 编程语言

蘑菇街Java大牛熬夜半个月纯手打肛出的一份《多线程源码学习笔记》文档资料,赶紧收藏学习!

Java成神之路

Java 程序员 架构 面试 编程语言

时空碰撞系列·终

誓约·追光者

数据分析 Sparksql

什么是低代码(Low-Code)?

阿里巴巴云原生

程序员 云原生 代码

【3年Java经验面经】阿里三面被挂!幸获内推历经5轮终于拿到口碑offer!

Java成神之路

Java 程序员 架构 面试 编程语言

Java基础+JVM+分布式+算法+锁+MQ+微服务+数据库等499道Java面试题整理(含答案)。

Java成神之路

Java 程序员 架构 面试 编程语言

使用resilio实现多集群的k8s pod数据双向非实时同步

东风微鸣

Kubernetes 探索与实践 openshift

华为云MVP高浩:打破AI开发瓶颈,解决数据、算法、算力三大难题

华为云开发者社区

人工智能 数据 华为云

阿里P8大牛总结整理的精选技术好文:Redis+Nginx+设计模式+Spring全家桶+SQL+Dubbo

Java成神之路

Java 程序员 架构 面试 编程语言

对于CRM之于现代化企业的影响以及作用的分析

Marilyn

敏捷开发 快速开发 企业开发 CRM 企业应用

首家支持阿里云函数计算 APM技术为Serverless环境赋能

BonreeAPM

阿里云 Serverless 运维 APM 函数

打工人、打工魂、高效MES助力打工者都是人上人

Learun

敏捷开发

微服务已然成为Java开发的面试门槛,你连SpringCloud都不会还想跳槽涨薪?

Java成神之路

Java 程序员 架构 面试 编程语言

一份知识点全面又能不断更新与时俱进的《Java面试宝典》,有人已成功靠它拿到阿里、京东、字节跳动等大厂offer,

Java成神之路

Java 程序员 架构 面试 编程语言

Spring+MySQL+数据结构+集合+注解+NIO+多线程进阶学习思维脑图总结!

Java成神之路

Java 程序员 架构 面试 编程语言

业务中台建设 - 自底向上演进

孝鹏

架构 中台 业务线 数字化转型 沟通

黑白键上的字节跳动:全球最大钢琴MIDI数据集背后的故事-InfoQ