当前位置: 首页 > 软件库 > 其他开源 > >

GiantMIDI-Piano

古典钢琴 MIDI 数据集
授权协议 CC BY 4.0
开发语言 Python
所属分类 其他开源
软件类型 开源软件
地区 国产
投 递 者 潘修为
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

GiantMIDI-Piano 是一个古典钢琴 MIDI 数据集,包含 2786 位作曲家的 10854 个 MIDI 文件,作曲家姓氏的管理子集包含包含 1787 名作曲家的 7236 个MIDI文件,GiantMIDI-Piano 是由字节跳动使用高分辨率钢琴转录系统从现场录音中转录而来的。

下载 GiantMIDI 钢琴

方法一(推荐)

按照 disclaimer.md 同意免责声明并下载 GiantMIDI-Piano (193 MB) 的稳定版本。

方法二

用户可以通过下载所有录音来获取 GiantMIDI-Piano,然后按照本 repo 的其余部分将它们转录成 MIDI 文件。在单个 GPU 卡上转录需要大约 200 小时。

安装要求

按照 https://pytorch.org/ 安装 PyTorch (>=1.4) 。

上述链接还包括一个精选的子集。精选子集限制 YouTube 标题必须包含作曲家姓氏。

pip install -r requirements.txt

下载录音

使用以下脚本从 YouTube 下载录音。大约可以下载 10,854 个录音。可能有无法再下载的音频。

WORKSPACE="./workspace"
mkdir -p $WORKSPACE
cp "resources/full_music_pieces_youtube_similarity_pianosoloprob.csv" $WORKSPACE/"full_music_pieces_youtube_similarity_pianosoloprob.csv"

# Download all mp3s. Users could split the downloading into parts to speed up the downloading. E.g.,
python3 dataset.py download_youtube_piano_solo --workspace=$WORKSPACE --begin_index=0 --end_index=30000
python3 dataset.py download_youtube_piano_solo --workspace=$WORKSPACE --begin_index=30000 --end_index=60000
python3 dataset.py download_youtube_piano_solo --workspace=$WORKSPACE --begin_index=60000 --end_index=90000
python3 dataset.py download_youtube_piano_solo --workspace=$WORKSPACE --begin_index=90000 --end_index=120000
python3 dataset.py download_youtube_piano_solo --workspace=$WORKSPACE --begin_index=12000 --end_index=150000

下载的 mp3 文件如下所示:

mp3s_piano_solo (10,854 文件) 
├── Aaron, Michael, Piano Course, V8WvKK-1b2c.mp3 
├── Aarons, Alfred E., Brother Bill, Giet2Krl6Ww.mp3 
└── ...

将音频转录为 MIDI 文件

# Transcribe all mp3s to midi files. Users could split the transcription into parts to speed up the transcription. E.g.,
python3 audios_to_midis.py transcribe_piano --workspace=$WORKSPACE --mp3s_dir=$WORKSPACE"/mp3s_piano_solo" --midis_dir=$WORKSPACE"/midis" --begin_ind=0 --end_index=30000
python3 audios_to_midis.py transcribe_piano --workspace=$WORKSPACE --mp3s_dir=$WORKSPACE"/mp3s_piano_solo" --midis_dir=$WORKSPACE"/midis" --begin_ind=30000 --end_index=60000
python3 audios_to_midis.py transcribe_piano --workspace=$WORKSPACE --mp3s_dir=$WORKSPACE"/mp3s_piano_solo" --midis_dir=$WORKSPACE"/midis" --begin_ind=60000 --end_index=90000
python3 audios_to_midis.py transcribe_piano --workspace=$WORKSPACE --mp3s_dir=$WORKSPACE"/mp3s_piano_solo" --midis_dir=$WORKSPACE"/midis" --begin_ind=90000 --end_index=120000
python3 audios_to_midis.py transcribe_piano --workspace=$WORKSPACE --mp3s_dir=$WORKSPACE"/mp3s_piano_solo" --midis_dir=$WORKSPACE"/midis" --begin_ind=120000 --end_index=150000

转录的 MIDI 文件如下所示:

midis(10854个文件)
├── Aaron, Michael, Piano Course, V8WvKK-1b2c.mid 
├── Abel, Frederic, Lola Polka, SLNJF0uiqRw.mid 
└── ...

在单个 GPU 卡上转录所有录音可能需要大约 10 天的时间。

脚本的详细信息可以在脚本中查看

分析 GiantMIDI-Piano 的统计数据

所有统计数据和数字可以通过以下方式复制:

./scripts/3_statistics.sh
  • 了解下全球最大钢琴MIDI数据集(万余首钢琴作品、一千多个小时,字节跳动发布) 论文地址:https://arxiv.org/abs/2010.07061 项目地址:https://github.com/bytedance/GiantMIDI-Piano 数据集特点 GiantMIDI-Piano 数据集具备以下特点: 包含来自 2,784 位作曲家 10,854 首作品的 MIDI 文件。 包含

  • 先上结果。点此链接观看 太赞了,真的太赞了(妈妈再也不用担心我到处找谱了)。 简单来说这个工具的功能就是能将音频转换为midi谱。 目前安装起来还蛮费劲的。 看这个https://hocassian.cn/archives/tech/8242/ 在此基础上给点经验 网络需要连接到国外,不跳墙下载不了 目前python3.9有点问题,我没装上pytorch。我装的conda,conda可以装pyto

 相关资料
  • 问题内容: 我继承了一个Java项目,该项目使用旧的C ++ dll 从连接到计算机的钢琴接收MIDI数据。 既然Java内置了对MIDI设备的支持,我想摆脱旧的C ++ dll,而只使用纯Java。 Java是否支持从连接到计算机的钢琴接收数据? 我已经在Google上搜索了一些示例,但都无济于事。 问题答案: 是的,JavaSound API可用于从MIDI设备读取MIDI数据。 JFugue

  • Virtual MIDI Piano Keyboard is a MIDI event generator and receiver. It doesn't produce any sound by itself, but can be used to drive a MIDI synthesizer (either hardware or software, internal or extern

  • 接入电钢琴等设备 MIDI 接口,访问站点,通过钢琴的弹奏实时显示瀑布流线条。全兼容各个平台的主流浏览器。 功能特性 实时接收 MIDI 数据并显示 可调控的速度和显示的颜色

  • 利用AudioToolbox实现一个简单的钢琴,可以奏出7个音阶的声音。 [Code4App.com]

  • 古典的色彩组合带有势力与权威的意味,强烈的宝蓝色(royal blue)是任何一个古典色彩组合的中间装饰色。它是如此地醒目,就算和其它的色彩搭配在一起,也毫不会逊色。古典的色彩组合表示真理、责任与信赖。又因为它接近绿色,宝蓝色会唤起人持久、稳定与力量的感觉,特别是和它的分裂补色——红橙和黄橙色搭配在一起。 补色色彩组合 原色色彩组合 单色色彩组合 21 69 20 68 4 36 68 67 70

  • 作为游戏狂热爱好者小编第一想法当然是能否用 Python 也做一个,既好玩也能用于教学,经过一番研究总算折腾出来一个简易版 本文就分享一下思路与代码。 实现思路 在写代码之前,还是先整理下思路,用Python实现的话,只需要创建界面与按钮,并给每个按钮绑定播放音阶的函数即可