syntheory_plus
收藏资源简介:
该数据集专注于西方音乐理论概念,旨在探索Meta的MusicGen和OpenAI的Jukebox等音乐生成模型。数据集包含多个子集,分别针对复节奏、动态、七和弦、调式混合和次属和弦等特定音乐元素。数据集通过程序生成的MIDI文件和rustysynth库(使用TimGM6mb音色库)创建。每个子集包含描述音乐示例的各种字段,如乐器名称、BPM、小节数以及与子集焦点相关的特定音乐属性。数据集被划分为多个折叠,用于训练、测试和验证。
This dataset focuses on Western music theory concepts, aiming to explore music generation models such as Meta's MusicGen and OpenAI's Jukebox. The dataset includes multiple subsets targeting specific musical elements including polyrhythm, dynamics, seventh chords, mode mixture, and secondary dominants. The dataset is created using programmatically generated MIDI files and the rustysynth library (which utilizes the TimGM6mb soundfont library). Each subset contains various fields that describe the musical examples, such as instrument name, BPM, number of bars, and specific musical attributes related to the subset's focus. The dataset is split into multiple folds for training, testing, and validation.
Syntheory Plus 数据集概述
基本信息
- 数据集名称: Syntheory Plus
- 作者: Derek Kwan 和 Patrick Donnelly
- 许可证: MIT
- 标签: music
- 数据规模: 100K < n < 1M
- 状态: 上传/文档整理中
- 相关论文: 待定
创建目的与依据
- 创建目的: 为探究 Meta 的 MusicGen 和 OpenAI 的 Jukebox 音乐生成模型,而隔离特定的西方音乐理论概念。
- 依据: 基于 Wei 等人创建 Syntheory 数据集的工作。
创建方法
- 过程: 遵循 Wei 等人的论文《Do Music Generation Models Encode Music Theory?》中概述的流程。
- 工具: 使用程序生成的 MIDI 文件,并采用 rustysynth 库与 TimGM6mb 音源库进行音频合成。
数据集构成与字段描述
数据集包含五个子集,每个子集均包含用于训练、验证和测试的划分(共20折,前14折为训练集,随后3折为验证集,最后3折为测试集)。
1. 复节奏 (Polyrhythms)
- 描述: 包含体现复节奏概念的音乐示例。
- 关键字段:
name: 音频文件名(不含.wav扩展名)。inst1,inst2: 用于生成音乐示例的第一、第二 MIDI 乐器名(整数)。bpm: 音乐示例的速度(每分钟节拍数)。num_bars: 音乐示例包含的4/4拍小节数。poly: 复节奏格式,如4a5表示“4对5”。ratio与norm_ratio: 节奏比率及其归一化值。offset_lvl与offset_ms: 音频起始时间的偏移等级和具体毫秒值。rvb_lvl与rvb_val: 混响效果等级及其对应的 MIDI 值。poly1,poly2,polydist: 两乐器的相对节奏速率及其绝对差值。label_idx: 用于下游分类任务的复节奏索引(从0开始)。fold: 示例所属的折数(1-20)。set_type: 示例用途,分为train、valid或test。
2. 力度 (Dynamics)
- 描述: 包含不同力度表达模式的音乐示例。
- 关键字段:
name: 音频文件名。dyn1,dyn2: 描述力度模式的两个力度值。dyn_category: 力度表达模式类型(如flat,cresc,decresc等)。dyn_subcategory: 附带转折点信息的力度模式子类。inflection_point: 力度方向发生变化的拍子位置(适用于特定模式)。inst: 使用的 MIDI 乐器名。beats_per_bar、num_bars、beat_subdiv、num_beats: 与乐曲结构相关的参数。bpm: 固定为60 BPM。offset_lvl、offset_ms、rvb_lvl、rvb_val: 偏移与混响参数。fold: 示例所属的折数(1-20)。set_type: 示例用途。
3. 七和弦 (Seventh Chords)
- 描述: 包含不同七和弦的音乐示例。
- 关键字段:
name: 音频文件名。inst: 使用的 MIDI 乐器名。root: 七和弦的根音及八度(如 "c4")。pitch、octave: 根音的音高(不含八度)和八度数。quality与quality_idx: 七和弦的性质及其分类索引。inv: 和弦的转位(0为原位)。bpm: 固定为60 BPM。fold: 示例所属的折数(1-20)。set_type: 示例用途。
4. 调式混合 (Mode Mixture)
- 描述: 包含是否使用调式混合的和声进行示例。
- 关键字段:
name: 音频文件名。inst: 使用的 MIDI 乐器名。key_center: 和声进行的调性中心音及八度。scale_type: 主要调式(全部为maj)。is_modemix: 布尔值,表示是否包含调式混合。orig_prog与sub_prog: 原始与带调式混合前缀的和声进行罗马数字表示。inv: 和弦转位(全部为0)。bpm: 固定为60 BPM。fold: 示例所属的折数(1-20)。set_type: 示例用途。
5. 副属和弦 (Secondary Dominants)
- 描述: 包含使用副属和弦或其三全音替代的和声进行示例。
- 关键字段:
name: 音频文件名。inst: 使用的 MIDI 乐器名。key_center: 和声进行的调性中心音及八度。scale_type: 主要调式(maj或min)。sub_type: 和声进行类型(N为自然音,S为使用副属和弦,T为使用三全音替代)。base_prog、orig_prog、sub_prog: 和声进行的多种字符串表示。sub_pos: 被替代和弦在和声进行中的位置(从1开始计数)。inv: 和弦转位(全部为0)。bpm: 固定为60 BPM。fold: 示例所属的折数(1-20)。set_type: 示例用途。




