欢迎来到威聚,大家如果有需要哪个项目编译好的软件但无法自己下载可以进入项目推荐页面告诉我,我上传到网盘供大家下载使用!
威扬盘搜

OpenScore Lieder

数据资源 未知 CC0-1.0 人工编写 推荐 ★4 易二开

更新于 2026-10-28 15:58:59

一句话定位

OpenScore Lieder 是 19 世纪艺术歌曲(Lieder)的开源乐谱语料库:143 位作曲家、316 套曲(cycle / collection)、1,454 首作品,全部以 MuseScore 工程文件(.mscx)形式提供,另附歌词文本与自动和声分析,CC0 授权,仓库约 309MB。

它不是软件,是数据。MuseScore.com 上的 OpenScore Lieder 项目是它的对外展示页,这个仓库是镜像 + 结构化数据层,v3.0.0(2025-05-17)在 Zenodo 上有 DOI。

先看数字

data/corpus.yaml 里的官方统计:

作曲家 套曲 作品
男性作曲家 82 185 796
女性作曲家 61 131 658
合计 143 316 1,454

注意第二行:61 位女性作曲家、658 首作品,接近一半。十九世纪音乐语料里这个比例相当罕见,是有意补齐的结果(Amy Beach、Clara Schumann、Ethel Barns 一类都在里面)。

仓库里到底有什么

scores/<composer>/<set>/<song>/
├── lc<id>.mscx              # MuseScore 未压缩工程文件(核心资产)
├── lc<id>.txt               # 从谱面自动抽取的歌词(诗)
└── analysis_automatic.rntxt # 罗马数字自动和声分析
  • <composer> 用 Last,_First_Second 形式,例如 Beach,_Amy、Berg,_Alban;
  • <set> 是套曲名,单曲放在名为 _(一个下划线)的目录里;
  • <song> 带零填充序号前缀(01、02…3a、3b),保证排序正确;
  • 文件名里的 <id> 就是 MuseScore 的 score id,可以拼回 https://musescore.com/score/<id> 查原页。

data/ 目录是元数据层:composers.tsv/yaml、sets.tsv/yaml、scores.tsv/yaml、corpus.tsv/yaml(汇总数字)、corpus_conversion.json(批处理清单)、corpus_conversion.py(重新生成清单)、plot.py + plots/(三张统计图:作曲家活跃年代、前 15 位作曲家的作品数、每套曲的作品数)。

为什么值得用

  1. 人工编码 + 专业校对:志愿者按 Leigh VanHandel 等人的声乐模板录入,再由职业校对团队过一遍。不是 OCR 扫出来的脏数据。
  2. 三层结构化元数据:composer → set → song,scores.tsv 直接 pandas.read_csv 就能开工。
  3. CC0,只有软性要求(署名 + 引用),商用没有法律障碍。
  4. 格式开放:.mscx 可以转 MusicXML / MIDI / PDF / MP3,不会锁在某个商业软件里。
  5. 学术背书:MEC 2021 论文拿过 Best Poster Award,Zenodo 有带 DOI 的正式版本。

三种典型用法

一、只想看谱 / 听音频

别 clone 仓库。直接去 musescore.com/openscore-lieder-corpus,每首都能在线播、下 PDF / MIDI / MusicXML / MP3。

二、批量转格式(最常用)

仓库随附了 data/corpus_conversion.json——一个「输入路径 → 输出路径」的作业清单,共 1,454 条,默认把 .mscx 转成 .mxl(压缩 MusicXML):

git clone --depth 1 https://github.com/OpenScore/Lieder.git
cd Lieder/data
mscore -j corpus_conversion.json      # MuseScore 4 的批处理模式

想换输出格式,两条路:

  • 直接改 corpus_conversion.json 里的 1454 个 .mxl → 换成 .pdf 或 .mid(sed -i 's/\.mxl/\.pdf/g' 一把梭);
  • 或改 corpus_conversion.py 里 prep_conversion_doc 函数的 out_format,重新生成清单:python3 corpus_conversion.py。

三、做研究 / 喂模型

  • 乐谱结构:转 MusicXML 后用 music21 或 partitura 解析;
  • 和声:analysis_automatic.rntxt 是罗马数字文本格式,和 When in Rome 元语料库同一套规范,工具链能直接复用;
  • 歌词 / 文本:lc<id>.txt 是逐首抽好的歌词,做韵律、音节-音符对齐、语言分布统计都省事;
  • OMR 校验:拿它当「人工编码金标准」,去对比 Audiveris 这类图像识别结果,是很现成的评测集。

坑与注意

  • 仓库 309MB / 1,454 首:一定用 git clone --depth 1,别在网页上一个个点。
  • .mscx 是未压缩 XML,单文件比 .mxl 大好几倍。要批量分析就先转 .mxl,能省很多 IO。
  • Unicode 路径容易被 git 转义:作曲家名保留原文(含变音符号),git status 里会显示成 "Beethoven,_Ludwig_van" 这种带引号的形式。解法:
    git config core.quotePath false
    # macOS 另外需要
    git config core.precomposeunicode true
    
  • MuseScore CLI 版本要对得上:-j job.json 是 MuseScore 4 的批处理方式;MuseScore 3 只有逐个 -o 转换,没有 -j。用旧版跑官方清单会直接报参数错误。
  • GitHub 语言统计显示 "HTML" —— 因为 .mscx 是 XML,linguist 把它判成 HTML 了。别被这个标签骗,它不是网页项目。
  • CC0 不等于没有义务:作者明确请求公开使用时代 OpenScore Lieder 署名并给链接;学术发表要引 Zenodo 版本(如 10.5281/zenodo.15450143)或 MEC 2021 论文(10.17613/1my2-dm23)。
  • 范围有限:只覆盖十九世纪 Lieder,语言以德语、英语为主。想做通用古典乐谱库,它不够;想专攻艺术歌曲,它非常够。

二开 / 拿它做点别的

  • 写自己的批处理:corpus_conversion.json 就是个 {in, out} 数组,自己起多进程并行调 mscore,比单进程跑 1454 首快得多(MuseScore CLI 是单线程的)。
  • 建索引:用 scores.tsv 当主表,composer_id / set_id 关联另外两张表,几行代码就能出一张可查询的 SQLite / DuckDB。
  • 做对齐数据集:谱面 + 歌词 txt 天然配对,配上公开录音就能做「歌词-音符-音频」三重对齐,这是歌声合成(DiffSinger 那类)最缺的训练数据形态。
  • 想贡献乐谱:流程和资助信息在 fourscoreandmore.org/scores-of-scores。

和站内其它音乐工具的关系

  • 拿 MuseScore Studio(id=308)的 -j 批处理模式转格式,是这批数据最顺的打开方式;
  • 拿 Audiveris(id=306)跑图像 OMR,再用这份语料当人工校对基准,正好是「算法 vs 人工」的对照组;
  • 想拿旋律做人声实验,OpenUtau(id=311)+ 一个 DiffSinger 音源就能把谱面唱出来。

一句话总结

OpenScore Lieder 是「可以直接下锅的十九世纪艺术歌曲数据集」:1,454 首人工编码、校对过的 MuseScore 谱面,配歌词与和声分析,CC0 可商用,309MB 一把 clone 完事。它不炫技,但把 MIR 研究里最脏最累的「高质量标注乐谱」这一步替你做完了——顺手还补上了女性作曲家那半边长期被忽略的曲目。

按更新时间依次阅读