EvoSpeech 多语言数据与评测协议¶
状态:v0.1 冻结候选
决策日期:2026-07-19
适用语言:普通话、德语、法语、西班牙语、日语、韩语(英语继续保留为现有基线)
一、结论¶
不存在一套被所有 speech codec 论文共同采用、同时覆盖上述六种语言的统一标准集。 因此 EvoSpeech 不照搬某篇论文,而采用三层数据结构:
- public-core:同一采集设计的六语共同核心,用于可复现的跨语言泛化检查;
- language-specific:各语言公认或常用的经典集,用于补足说话人、领域和表达;
- private-critical:关键实体、真实设备、噪声和未公开说话人,用于压力测试。
个人录制的 35 句中文只属于第三层。它不再是中文覆盖或公开基线的前置条件。
二、论文与 benchmark 的边界¶
- EnCodec 使用 Common Voice、DNS 等数据并做 MUSHRA,但没有定义固定的六语平衡 codec 测试协议。
- 传统 Codec 2 有工程测试语音和单元测试, 没有多语言统一 benchmark。
- X-Codec 2.0 用 Emilia 与 MLS 等 多语言数据训练,但公开的主要重建表仍以 LibriSpeech test-clean 为主。
- Codec-SUPERB 说明 codec 评测仍然分裂; LRAC 2025 更接近低码率通信与盲听协议,但该届材料以英语为主。
这些材料可以提供方法和基线,不能替代 EvoSpeech 自己冻结的数据协议。
三、三层数据栈¶
A. public-core:FLEURS 六语共同核心¶
FLEURS 覆盖 102 种语言,每种约 12 小时,采集设计一致,许可为 CC BY 4.0。
冻结参数:
| 项 | 冻结值 |
|---|---|
| 数据仓库 | google/fleurs |
| revision | 8e74c3a7c16ffd851ceb9d50012daa64122d6734 |
| split | 官方 test |
| 每语言规模 | 100 句正式 public-core;其中前 30 句用于快速 probe |
| 时长过滤 | 3–10 秒优先;不足时按同一确定性顺序回填,并记录 duration_in_range |
| 选择规则 | 取六语 test 的 prompt-ID 交集,优先六语都有 3–10 秒录音的 prompt,再以 SHA-256 定序选同一组 100 句;每语每 prompt 按音频哈希确定一个录音版本 |
| 防漂移 | manifest 保存 source/revision/split/唯一 audio ID/prompt ID/audio SHA-256 |
配置:
| 语言 | FLEURS config | 注意事项 |
|---|---|---|
| 普通话 | cmn_hans_cn |
简体普通话;内容主指标为 CER |
| 德语 | de_de |
WER;保留变音符号,另报规范化版本 |
| 法语 | fr_fr |
WER;撇号、连字符与数字规范必须冻结 |
| 西班牙语 | es_419 |
拉丁美洲西语;欧洲西语由 MLS/Common Voice 补充 |
| 日语 | ja_jp |
以 CER 为主;不能用空格切词把整句当一个 token |
| 韩语 | ko_kr |
syllable CER + jamo CER;WER 只作辅助 |
FLEURS 的角色是共同内容探针,不是完整 codec benchmark。它主要是朗读语音, 不能充分覆盖对话、噪声、耳语、设备变化、关键实体密集场景,也不能单独证明 说话人身份和表达保持。
2026-07-19 实际冻结结果:六语 test 共有 233 个共同 prompt ID;按上述规则选择 100 个,其中 24 个在六种语言中都至少有一个 3–10 秒录音。逐语言最终落盘统计:
| 语言 | public-core | probe | 3–10 秒录音 |
|---|---|---|---|
| 普通话 | 100 | 30 | 93 |
| 德语 | 100 | 30 | 92 |
| 法语 | 100 | 30 | 100 |
| 西班牙语 | 100 | 30 | 86 |
| 日语 | 100 | 30 | 54 |
| 韩语 | 100 | 30 | 52 |
六语的 100 个 source_prompt_id 顺序完全一致;每语使用不同的唯一录音 ID。
600 个所选音频逐一通过 manifest SHA-256 校验,总计约 321.9 MiB。FLEURS 没有可用于
本协议的稳定 speaker ID,因此这层不能宣称 speaker-disjoint;身份与未见说话人结论
必须来自 JVS、其他带 speaker 元数据的语料和 private-critical。
B. language-specific:语言专用补集¶
| 语言 | 数据集 | 许可/开放性 | EvoSpeech 用途 | 主要限制 |
|---|---|---|---|---|
| 普通话 | AISHELL-1 test | 开放语料 | 100 句冻结子集;与 FLEURS 交叉验证 CER | 朗读、录音条件较干净 |
| 德语 | MLS test | CC BY 4.0 | 100 句;长词和说话人泛化 | 有声书朗读域 |
| 法语 | MLS test | CC BY 4.0 | 100 句;连音与内容保持 | 有声书朗读域 |
| 西班牙语 | MLS test | CC BY 4.0 | 100 句;补欧洲/书面西语域 | 有声书朗读域 |
| 日语 | JVS | 按项目条款使用 | 平行句 + 多说话人;身份、耳语、假声 | 不是标准 ASR test;发布前复核再分发权 |
| 韩语 | Zeroth-Korean test | CC BY 4.0 | 100 句;公开可复现内容测试 | 规模和场景有限 |
| 韩语(二阶段) | KsponSpeech | AI Hub 条款 | 自然对话与口语现象 | 获取流程和再分发限制更复杂 |
Mozilla Common Voice 六语都可作为 口音、众包设备和录音条件补充,许可通常为 CC0。它不作为唯一冻结核心,因为各语言 规模不平衡、release 会更新,且众包质量与说话人元数据不完全一致。使用时必须固定 release、locale、split、ID 和音频哈希。
C. technical 与 private-critical¶
ITU-T P.501 (04/2025) 提供通信和 感知质量测试材料,其中覆盖普通话、德语、法语、日语,但不覆盖西班牙语和韩语。 Annex D 样本很短,适合 POLQA/P.863 类技术回归,不足以承担 WER、实体或泛化评估。
data/scripts/critical_zh.txt 与 critical_en.txt 定位改为 private-critical:
- 数字、金额、日期、否定词、姓名、地名、字母数字代码;
- 手机/耳机/电脑麦克风,近讲与远场,安静与轻噪声;
- 至少 3 名说话人后,才可宣称有未见说话人压力测试;
- 单人 35 句可以做 smoke test,不能叫中文 benchmark;
- 扩展其他语言前,脚本必须由母语者翻译和复核,不能直接机器翻译后冻结。
四、评测口径¶
1. 内容指标¶
| 语言 | 主指标 | 辅助指标 |
|---|---|---|
| 普通话 | CER、数字/否定/实体准确率 | 声调或音素错误、双 ASR ΔCER |
| 德语 | WER | CER、复合词切片 |
| 法语 | WER | CER、数字/专名切片 |
| 西班牙语 | WER | CER、地区口音切片 |
| 日语 | CER | kana/mora 或音素错误;pitch-accent 专项 |
| 韩语 | syllable CER + jamo CER | WER、形态/空格规范化版本 |
每种语言都执行:
- 原音和重建音通过同一 ASR,报告 codec-induced ΔER;
- 同时保存原音 ER 与重建 ER,不能只保留差值;
- 关键实体对齐人工标注文本、原音 ASR、重建 ASR三方;
- 至少两个独立 ASR 家族达到该语言可用门槛后,该语言才能进入自动优化 gate;
- 双评委未覆盖的语言只作诊断 probe,不能声称通过合同。
六语绝对 WER/CER 不可直接比较。总览只允许使用逐语言 delta 的宏平均,并始终保留 每语言表格;不得把所有 token 合并成一个总体错误率。
2. 身份、表达与语言特性¶
- speaker similarity 始终比较同一原音与其重建音,并用双 speaker encoder;
- F0、voicing、时长和能量继续逐句报告;
- 普通话声调导致词义变化时属于内容错误;
- 日语 pitch accent 可能不体现在普通正字法转录中,需专门语料或人工听测;
- 自动指标只用于内循环,任何对外 codec 质量声明仍需盲听。
3. 码率公平性¶
进入冻结 Pareto 图前,每个 codec 的 payload 都必须对应一份能被独立 decoder 解码的 实际字节串:
- Opus 报原始 packet payload,不把 Ogg 容器当 codec payload;
- EnCodec 报真实 packed codes/scale/必要 side information,不只报理想化 token 数;
- Codec 2 保留纯 bitstream 字节;
- on-wire 另加 RTP/UDP/IP、认证、FEC 与聚包开销。
在完成这项修正前,现有码率表是 pilot,不是最终公平排名。
五、数据冻结与 hidden¶
公共集的用途是可复现,不是保密。把公开数据子集用密码加密,不能使它成为 hidden。
冻结产物至少包含:
data/sets/v0/
public_core_zh.jsonl
public_core_de.jsonl
public_core_fr.jsonl
public_core_es.jsonl
public_core_ja.jsonl
public_core_ko.jsonl
canonical_zh_aishell1.jsonl
canonical_de_mls.jsonl
canonical_fr_mls.jsonl
canonical_es_mls.jsonl
canonical_ja_jvs.jsonl
canonical_ko_zeroth.jsonl
manifest 每行除现有 id/wav/text/lang/speaker 外,逐步增加:
wav 保存相对仓库根目录的路径;公开 manifest 因而不绑定某台机器的绝对目录。
{
"source": "google/fleurs",
"source_revision": "<commit sha>",
"source_split": "test",
"source_id": "<upstream audio filename stem; utterance-unique>",
"source_prompt_id": "<upstream prompt id; may repeat across speakers>",
"source_audio_path": "<upstream audio filename>",
"audio_sha256": "<sha256>",
"license": "CC-BY-4.0",
"device": null,
"condition": "clean-read"
}
真正 hidden 的最低条件:
- 由独立保管者或隔离 runner 选择样本;
- 开发者和 agent 不知道明文、样本 ID 与选择规则;
- 候选只能提交 encoder/decoder 或 bitstream,得到聚合分;
- 做不到时使用
private-test名称,不冒充 hidden。
六、v0 执行顺序¶
- ~~使用 FLEURS Parquet importer,生成六语各 100 句冻结 manifest;~~ 已完成
- 六语各 30 句跑通 codec + ASR + 报告的 smoke probe;
- 中文加入 AISHELL-1,确认 FLEURS 结论不依赖单一语料;
- 补齐多语言 normalization 与 scorer 单测;
- 修复 Opus/EnCodec payload 可比性;
- 英中主合同通过双评委后冻结 arena-v0;
- 德/法/西/日/韩先保持 probe 身份,评委和专用补集成熟后逐项升级为合同语言;
- private-critical 多人录音并行积累,但不阻塞 1–6。
这个顺序保留项目第一年的中英聚焦,同时尽早暴露“只对英语有效”的表示和评估漏洞。