为什么做
合唱中的不同声部音域重叠、音色接近,混合录音很难直接拆成女高音、女低音、男高音和男低音的音符序列。相关研究还缺少同时包含合唱混音、独立声部音频和逐声部 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 音符。
这段经历
这是我第一次参与音乐信息检索方向的数据集建设。它让我意识到,研究数据的价值不只取决于规模,也取决于来源、转换规则和失败原因能否被后来的人重新检查。
面对上千份结构并不统一的乐谱,“脚本跑完了”远远不等于“数据可以用了”。真正重要的是把不可控的输入变成可恢复、可审计的过程,并在自动化无法可靠判断时明确留下人工复核入口。
