GigaMIDI
收藏资源简介:
GigaMIDI数据集是一个包含超过143万MIDI文件、530万轨道和18亿个音符的综合语料库,附有循环和表达性音乐表演检测的注释和元数据。该数据集用于检测音乐中的表达性,通过引入新的启发式方法(如音符起始中位数度量水平)来识别表达性轨道,准确率达到99.5%。此外,数据集还标记了非表达性音乐轨道的MIDI循环,以识别700万个循环。
The GigaMIDI dataset is a comprehensive corpus comprising over 1.43 million MIDI files, 5.3 million tracks, and 1.8 billion notes, accompanied by annotations and metadata for both expressive musical performance detection and cyclic pattern detection. This dataset is utilized for musical expressiveness detection tasks, where a novel heuristic method (e.g., note onset median metric level) is proposed to identify expressive tracks, achieving an accuracy of 99.5%. Furthermore, the dataset labels MIDI loops extracted from non-expressive musical tracks to identify a total of 7 million loops.
GigaMIDI 数据集概述
数据集简介
GigaMIDI 数据集是一个包含超过 1.43M 个 MIDI 文件、5.3M 个音轨和 1.8B 个音符的综合语料库,附带有循环和表达性音乐表演检测的注释和元数据。该数据集旨在解决现有音乐数据集中符号音乐数据相对较少的问题,并提供可编辑的音乐内容版本,独立于其声音渲染。
数据集组成
- MIDI 文件数量: 1.43M
- 音轨数量: 5.3M
- 音符数量: 1.8B
- 注释: 包含循环和表达性音乐表演检测的注释
- 元数据: 用于表达性表演检测的元数据
表达性检测
- 新启发式算法: 引入了一种名为“音符起始中位数度量级别(NOMML)”的新启发式算法,用于识别表达性音轨。
- 准确率: 通过 NOMML 算法,能够以 99.5% 的准确率识别出 31% 的 GigaMIDI 音轨为表达性音轨。
循环检测
- 挑战: 检测循环时,音轨中的表达性时间变化可能导致重复模式不完全相同。
- 解决方案: 对非表达性音乐音轨进行 MIDI 循环标记,识别出 7M 个循环。
数据集访问
- 访问方式: 数据集可通过 Hugging Face 平台访问,地址为 [https://huggingface.co/datasets/Metacreation/GigaMIDI]。
数据集结构
- /GigaMIDI: 包含创建完整 GigaMIDI 数据集的代码,以及使用
datasets库加载和处理数据集的示例代码。 - /loops_nomml: 包含循环检测算法和表达性表演检测算法的源文件。
- /scripts: 包含分析 GigaMIDI 数据集和循环数据集的脚本和代码笔记本。
- /tests: 包含表达性表演检测和循环提取的端到端测试。
数据源链接
- 数据源链接: 数据集的每个收集子集的数据源链接已整理并上传为 PDF 文件,地址为 [https://github.com/GigaMidiDataset/The-GigaMIDI-dataset-with-loops-and-expressive-music-performance-detection/blob/8acb0e5ca8ac5eb21c072ed381fa737689748c81/Data%20Source%20Links%20for%20the%20GigaMIDI%20Dataset%20-%20Sheet1.pdf]。
使用说明
循环检测
- 单个 MIDI 文件循环检测: 使用
detect_loops函数进行单个 MIDI 文件的循环检测。 - 批量处理循环: 提供
main.py脚本进行数据集中的所有循环批量提取。
表达性检测
- NOMML 启发式算法: 使用 NOMML 启发式算法进行表达性音轨检测,生成包含适当元数据的 JSON 文件。
管道配置
- 超参数: 通过超参数调优确定的最佳超参数配置。
- 模型: 使用逻辑回归模型进行表达性音乐表演检测。




