李凯锋KAIFENG LI
← 所有项目在电脑前工作的水獭

PawChorale · 声部感知合唱音频—MIDI 数据集

参与构建面向声部感知合唱转录与分离研究的数据集,把分散的公开乐谱整理成可追溯、可筛选、可交接的歌声合成输入。

我的角色共同作者 / 数据采集与流水线开发
项目状态🚀 仍在继续

为什么做

合唱中的不同声部音域重叠、音色接近,混合录音很难直接拆成女高音、女低音、男高音和男低音的音符序列。相关研究还缺少同时包含合唱混音、独立声部音频和逐声部 MIDI 标注的成规模数据。

PawChorale 因此尝试建立一条从公开合唱乐谱到研究数据的生产线。公开的 1.0.0 版本收录 200 首作品,每首作品按实际声部提供合唱混音、可用的独立声部音频、逐声部 MIDI、MusicXML 与来源记录。

我负责的部分

我主要参与前半段的数据采集与乐谱处理:

  • 从 CPDL 乐谱链接中采集 MusicXML,并处理压缩包、失效链接和不一致的文件格式;
  • 为下载和转换加入断点续跑、失败重试、原子写入、哈希校验与来源记录,避免长时间任务因单个坏文件全部重来;
  • 把每份乐谱按 score part 拆分,识别 SATB 与器乐声部,转换逐声部 MIDI,同时保留歌词和原始声部信息;
  • 生成 ACE Studio 可导入的逐声部 MusicXML、MXL 与歌词文件,并把候选分为“可直接导入”“需要复核”和“不建议使用”;
  • 将严格通过的候选、任务表、歌手轮换规则和逐文件校验值打包,交给 Windows 端继续完成人声合成。

这部分工作的重点不是让每份乐谱都“成功通过”,而是让每个取舍都能追溯:为什么保留、为什么需要人工复核,以及为什么拒绝。

阶段产出

  • 采集并处理 1,868 份有效 MusicXML 乐谱;
  • 转换出 8,420 份逐声部 MIDI,完整批次转换失败数为 0;
  • 生成 8,061 组 ACE Studio 声部导入文件,并保留约 89.6 万个歌词音节记录;
  • 严格筛出 454 首可直接进入下一阶段的候选,另保留 649 首人工复核清单;
  • 最终公开数据集从后续质检结果中整理出 200 首作品,包含 6.80 小时合唱混音、27.22 小时独立声部音频和 110,702 个歌声 MIDI 音符。

这段经历

这是我第一次参与音乐信息检索方向的数据集建设。它让我意识到,研究数据的价值不只取决于规模,也取决于来源、转换规则和失败原因能否被后来的人重新检查。

面对上千份结构并不统一的乐谱,“脚本跑完了”远远不等于“数据可以用了”。真正重要的是把不可控的输入变成可恢复、可审计的过程,并在自动化无法可靠判断时明确留下人工复核入口。

相关链接

Thanks for reading.

写作、创造,以及生活中的小发现。

邮件交流 ↗ 回到开头 ↑