跳转至

EvoSpeech · Wave 1/2 SOTA 来源、权重与运行合同审计

首次审计:2026-07-19;最新复核:2026-07-20

结论

Wave 1 六项和 Wave 2 六项已经全部完成 source audit,超过原计划“Wave 2 至少 4/6”的门槛。 本轮固定了:

  • 12 个官方源码 revision;
  • 21 个 Hugging Face checkpoint 仓库/变体(20 个含权重、HCodec 2.0 仅模型卡)、1 个 DAC 官方 GitHub release checkpoint 和 1 个 LPCNet 官方模型包;
  • 28 个实际权重 LFS 文件的字节数与 SHA-256;MOSS Nano/full v1/full v2 各有 4 个普通 Git blob, HCodec 的 HuBERT 与 Wav2Vec2 config 各有 1 个普通 Git blob; config/index/remote-code 身份文件由本地 snapshot 与 live 小文件下载做 bytes/SHA-256 强校验;
  • code license 与 weight license;
  • native sample rate、作者码率/推导码率、encode/decode 入口和 side information;
  • 合法 rate knob、Python/PyTorch 冲突和 Apple M5 可行性。

全部登记权重合计 40,149,854,166 bytes(约 37.39 GiB);14 个普通 Git blob 不混入 LFS 权重合计。这是多个互斥变体的目录总量, 不是下一步要一次下载的内容。Hub 权重在线核对元数据;DAC 官方 release 已固定下载到忽略的 隔离模型目录并实测 SHA-256;LPCNet 102,536,511-byte 模型包已重新下载到 gitignored .model-envs/lpcnet/source/,用于本轮 static build,并再次通过 SHA-256。大权重均未写入 Git。

Wave 1 裁决

系统 固定 checkpoint 合法 rate knob Apple M5 裁决 下一步
DAC 16 kHz 官方 release 0.0.5 .pth 296,820,733 B,SHA-256 95ab7176…b4d n_quantizers=1..12 8/8 native smoke 已通过 合法 n_quantizers 曲线 + 统一指标
FocalCodec-Stream 2k/4k/65k 三个 causal checkpoint 均固定 官方 0.55/0.60/0.80 kbps 变体 4k 整句 8/8 native smoke 已通过 stateful streaming 等价性 + 三 checkpoint 曲线
Stable Codec 3.814 GB safetensors,已授权并固定 官方 400/700/1000 bps FSQ preset 本机平台受阻 CUDA + FlashAttention 主机
Mimi 384.6 MB,CC-BY-4.0 num_quantizers=1..32;8 层为 1.1 kbps 文档点 Transformers CPU 8/8 native smoke 已通过 stateful 等价性 + 合法码本曲线
LPCNet 官方 2ddc476 模型包 102.5 MB,SHA-256 固定 只核实 1.6 kbps Apple ARM/NEON static 8/8 native smoke 已通过 统一指标 + 部署机制卡
SNAC 24 kHz 79.5 MB,HF revision d73ad176… 未核实可合法丢层;只跑 0.98 kbps 原生点 8/8 native smoke 已通过 统一指标 + 机制卡,不伪造 rate sweep

Stable Codec 为什么不在本机继续下载

官方固定源码明确写着 sliding-window attention 对 FlashAttention 是硬要求,并写明当前不支持 CPU inference。Apple MPS 不能提供 CUDA FlashAttention。继续在本机下载 3.81 GB 只能验证 “文件能下载”,不能验证模型能力,因此状态是 platform_deferred,不是从 SOTA Census 删除。 未来使用 CUDA 主机时直接复用已经固定的源码、权重 SHA 和三组 FSQ preset。

Wave 2 裁决

系统 固定范围 关键发现 本机动作
MOSS-Audio-Tokenizer v1 7.10 GB、v2 8.50 GB、Nano 87.9 MB Nano/full v1/full v2 均 8/8 G4 统一指标、合法 rate curve 与 streaming gate
Quark HCodec 1.0 582 MB + HuBERT 378 MB;1.5 2.75 GB + Wav2Vec2 1.27 GB 1.0/1.5 均完成冻结 8 句 G4;2.0 无权重 统一指标与 1.5 合法 threshold curve
BigCodec 637.9 MB 8/8 真实 13-bit index payload G4;聚合 1041.49 bps;官方脚本硬编码 CUDA 统一指标与机制卡;无合法 rate sweep
WavTokenizer small/large 40 与 large 75 token/s 均固定 small 与 large unified 均 8/8 G4;两者聚合 480.57 bps,large 峰值 RSS 1.55 GB large speech 75-token 单句探针;两个 40-token 点做同 rate 统一指标
X-Codec 2.0 Transformers-native 2.52 GB 50 Hz × 16-bit FSQ = 800 bps;权重为 CC-BY-NC-4.0 固定 Transformers commit 后中英 smoke
TaDiCodec tokenizer + vocoder 共 3.27 GB 重建接口需要目标文本、prompt 文本和 prompt 语音 先定义 side-information 合同,不进公平 payload 表

TaDiCodec 为什么不能直接拿“87.5 bps”横比

官方 speech reconstruction 示例不只是输入语音和离散 token;还传入目标 transcript、prompt transcript 和 prompt speech。对生成任务这很合理,但在通信合同里这些都是额外信息或预共享 条件。若不计账,87.5 bps 与 Opus、Codec 2、EnCodec、SNAC 等不是同一个问题。TaDiCodec 仍保留为 text-aware diffusion decoder 教师,等待回答两个问题:

  1. 能否暴露真正的 payload-only decoder;
  2. 若不能,文本和 prompt 是 transmitted、pre-shared 还是 oracle-only,各自成本多少。

Quark HCodec 2.0 的证据边界

固定的 HCodec 2.0 Hub 仓库当前只有 README 和 Git metadata,没有权重文件。源码目录存在, 但不能因此写成“官方 48 kHz checkpoint 可运行”。HCodec 1.0/1.5 正常进入执行,2.0 暂列 open-code-partial 家族状态,后续月度扫描权重发布。

运行合同摘要

每个系统在 source card 中均明确:

source revision + code license
checkpoint revision + per-file bytes + LFS SHA-256 + weight license
sample rate + representation + rate basis
encoder entrypoint + decoder entrypoint
required side information + independent-decode status
legal rate knobs + official evidence URL
Python/framework/accelerator + host decision + risks

不能使用的捷径:

  • torch.hub 浮动 main
  • from_pretrained() 不传 revision 或不先下载固定 snapshot;
  • 只记 Hub repo revision、不记大文件 LFS SHA;
  • 把 checkpoint 切换、RVQ depth、token 丢弃混叫同一种 rate knob;
  • 忽略目标文本、prompt、stream length 或 adaptive grouping metadata;
  • 因平台受阻而从 Census 删除模型。

验证记录

静态检查:

python3 scripts/audit_sota_sources.py

在线检查(权重只查元数据;另下载 14 个小型 executable-identity Git blob 复算 SHA):

.venv/bin/python scripts/audit_sota_sources.py --check-live

2026-07-20 两者均通过:

systems=12 wave1=6 wave2=6
pinned_files=28 catalog_bytes=40149854166
executable_identity_files=14 identity_bytes=769116
live_huggingface_checked=True

在线记录覆盖 20 个含权重的 Hugging Face 仓库;DAC GitHub release 由本地下载后的 bytes/SHA-256 审计覆盖。固定源码的原生 DAC.load() 只接受项目自己的 .pth release,不能直接读取此前登记的 HF model.safetensors。后者现明确保留为 Transformers 转换版,不再冒充固定源码的原生权重。 原生模型实测 hop_length=320、50 frame/s、12 个 10-bit codebook,因此完整表示是 6000 bps, 纠正了此前由不一致 HF 配置推导出的 3750 bps。

专项回归测试覆盖:Wave 1 条目丢失、浮动 checkpoint、错误 LFS/可执行身份 SHA、TaDiCodec side information 被隐藏、Stable Codec Mac blocker 被误删。

下一执行顺序

按下载小、接口清晰、机制互补的顺序逐节点进行:

  1. SNAC 24 kHz:已完成。8/8 中英/critical、真实多尺度 payload、fresh decoder 和计账 均通过,见 experiments/sota_smoke_snac_native_v1.json
  2. DAC 16 kHz:已完成 native point。8/8 官方 .dac、fresh decoder、真实字节计账与 exact-hop 回归均通过;合法 n_quantizers sweep 留到统一 rate/resource 曲线阶段;
  3. FocalCodec-Stream 4k causal:已完成整句 native point。8/8 真实 12-bit payload 与 fresh decoder 通过;尚未把 causal 能力冒充 stateful streaming 实测;
  4. Mimi:已完成整句 native point。8/8 真实 11-bit q8 payload 与 fresh decoder 通过; 固定 Hub 权重是 Transformers 转换版,与 Moshi 旧 loader key 不兼容,现以严格固定的 transformers==4.45.0 加载,stateful streaming 尚未实测;
  5. LPCNet:已完成 native point。8/8 官方 raw 8-byte packet、fresh decoder 与计账通过; shared demo 因 hidden internal symbol 链接失败,官方 static 配置成功且 clean rebuild 哈希一致;
  6. Stable Codec 保存为已审计平台 deferred。

每完成一个系统的安装 + native smoke 就单独报告、验证、提交,不等待整批结束。

Wave 1 至此封口:5 个 G2 passed,1 个 Apple M5 platform deferred。Wave 2 的 MOSS Nano 也已完成 8/8 G2/G4:真实 16×10-bit token payload、fresh decoder、current-adapter 审计与 69 个仓库测试通过。checkpoint remote code 与 GitHub 固定 revision 不同,因此正式身份同时固定 config/index/两份 Python remote code/weights 的 bytes 与 SHA,并只从离线 snapshot 加载。

full-model 路径没有用 Nano 代替 SOTA:v1 两 shard 已完整下载并重新计算 SHA,1,774,566,400 参数严格加载。单句探针后,正式 runner 在 24 GiB guard 下完成 3 英 + 3 中 + 2 critical: 8/8 真实 32×T token payload、fresh decoder、current-adapter 审计均通过;表示句均值 4027.34 bps,完整 payload 句均值 5611.22 bps,encode/decode RTF 均值 5.55/4.49,最大进程树 RSS 3.90 GB。中文 critical 额外 replay 字节一致。guard 也以故意越线进程证明会实际杀进程。

full v2 的 3 shard 与 4 executable-identity 文件也已完整校验。单句 probe 封住 checkpoint remote loader 的 tuple bug 和未补帧丢尾部问题后,正式 8 句 runner 保存 634 个 32×T 真实 token frames,16 个阶段均在 24 GiB guard 下通过,峰值 RSS 4.12 GB;中文 critical 的 额外 fresh replay 字节一致。MOSS Nano/full v1/full v2 至此均为 8/8 G4,下一步转向 Quark HCodec 1.0,同时把 MOSS 的统一质量指标、合法 rate curve 与 stateful streaming 留作独立 gate。

HCodec 1.0 执行时补出 source audit 的真实缺口:官方 HCodecTokenizer 会通过强制第三方 mirror 浮动加载 bosonai/hubert_base,README 的直接脚本命令又因相对导入失败。现已把 HuBERT revision、config 和 377.51 MB 权重纳入正式身份,并以显式 package context 加载固定源码。 冻结 8 句全部保存 acoustic/semantic 各 4×T 的真实 10-bit payload 并由 fresh decoder 重建; 表示码率句均值 2006.10 bps,完整 payload 句均值 3397.51 bps,最大进程树 RSS 1.77 GB。 中文 critical 的第三个 fresh decoder 字节一致,因此 1.0 升为 G4;下一步探测 1.5 adaptive。 该节点仍不是内容、音质、流式或 Pareto 结论。

HCodec 1.5 又暴露出独立的隐藏依赖:官方 encoder 强制第三方 mirror 并浮动加载 facebook/wav2vec2-large-xlsr-53。现已固定其 revision、1,768-byte config 与 1,269,737,156-byte weight,并在独立 Python 3.10.10 环境离线严格加载。固定阈值 0.6 的最短 英文句从 82 个基帧得到 65 个 adaptive groups;上游把长度重复注入八个 composite indices, adapter 交叉核验后仅传一份共享 3-bit 长度,真实表示为 83 bits/group、1647.33 bps。两次 fresh decode 字节一致,最大进程树 RSS 5.81 GB,全部未越 24 GiB guard。因此 1.5 单句 G2 通过并批准 冻结 8 句 G4;当前仍不是多句稳健性、质量、实时性或 Pareto 结论。

随后固定阈值 0.6 的正式 G4 完成 3 英 + 3 中 + 2 critical:8/8 encoder/fresh decoder 成功, 1264 个基础帧变成 808 个 adaptive groups。共享长度合同下表示码率句均值/聚合值为 1363.37/1330.24 bps,完整 payload 为 3190.48/2959.43 bps;最大进程树 RSS 5.91 GB,16 个 阶段均未越 24 GiB,中文否定 critical 的第三次 fresh replay 字节一致。相同 8 句下表示码率 比 HCodec 1.0 低 33.68%,但单句范围 980.59–1773.27 bps,且质量合同尚未运行,因此不能宣称 固定质量的 Pareto 提升或语言差异。HCodec 1.0/1.5 现转入统一指标与合法 threshold curve 队列。

BigCodec 的 637,937,326-byte checkpoint 与 159,436,290 参数已严格加载。源码核对确认单个 8192-entry codebook、200-sample hop:80 fps × 13 bits = 1040 bps,不再只是 README 引用。 官方环境合同有两个缺口:requirements 漏列实际导入的 tqdm,而 inference.py 又把模型硬编码 到 .cuda();两次直接尝试分别复现这两个失败。固定 35 包 Python 3.9.22 CPU wrapper 不修改 源码类或模型公式,最短句保存 263 个真实 indices;13-bit 表示 1043.97 bps,code-derived embedding 与上游量化 embedding 最大误差 2.38e-7。两个 fresh decoder 输出字节一致,最大 RSS 1.79 GB。因此 BigCodec 单句 G2 通过并批准冻结 8 句;目前仍不是质量或 CUDA 等价结论。

冻结 8 句 G4 随后以 8/8 通过:4,039 个真实 indices 共 52,507 representation bits,按 50.415063 秒加权为 1041.49 bps,完整自描述 payload 为 2171.57 bps。所有输出精确恢复原始 样本数且 finite,最大进程树 RSS 2.12 GB,中文否定 critical 的第三次 fresh decoder 输出与 正式重建字节一致。BigCodec 现转入统一内容/质量指标和机制卡;上游未提供第二个已验证 rate point,因此不允许用抽帧或截断 codebook 人造曲线。

WavTokenizer small 的 1,589,082,492-byte checkpoint 通过固定 revision 与 SHA-256 校验;官方 from_pretrained0802 严格加载 80,913,988 参数、289 state keys。运行时 encoder ratios 顺序为 (4,5,5,6),乘积 600 samples,与 24 kHz 下 40 fps 一致。最短 3.275 秒句产生 131 个真实 4096-entry codes;12-bit 表示正好 480 bps,codes_to_features 与 encoder 量化特征误差为 0。 fresh decoder 与第三次 payload-only replay 输出字节一致,最大主动 guard 采样 RSS 1.24 GB。 冻结 8 句 G4 随后以 8/8 通过:2,019 个真实 codes 共 24,228 representation bits,按 50.415063 秒加权为 480.57 bps,完整自描述 payload 为 1752.17 bps;最大进程树 RSS 1.58 GB。 五句覆盖 partial-hop,odd-length 英文 critical 精确恢复原样本数且第三次重放字节一致。两句共 3 个负满幅 PCM16 样本作为统一质量指标的削波检查保留,不误判为 transport 失败。small 现转入 统一指标,同时批准 large unified 40-token 单句探针;large speech 75-token 另作独立系统,不把 不同训练数据和结构的 checkpoint 当作纯 rate ablation。

large unified 的 1,759,224,573-byte checkpoint 随后通过固定 revision 与 SHA-256 校验。其 HF 仓库只含权重与短 README,没有 config;checkpoint metadata 中的 resume_config 记录的是训练时 75-token lineage 路径,不能直接当当前推理配置。我们用 state dict 形状与官方 loader 严格裁决:固定 40-token YAML 无 missing/unexpected keys 加载 80,913,988 参数、289 state keys、340,459,156 tensor bytes, 运行时 ratios (4,5,5,6)、40 fps、单 q4096 和 600-sample decoder hop 全一致。单句产生 131 个真实 codes / 480 bps,两次 source-blind fresh decode 字节一致,最大进程树 RSS 1.24 GB。 large 与 small 的已观察推理规模相同,但上游声称前者训练覆盖约 8 万小时 speech/audio/music; 这使它成为同码率 SOTA-first 对照,而不是参数量、架构或训练数据的受控因果消融。

large unified 随后在与 small 完全相同的冻结 8 句上以 8/8 通过:2,019 个真实 codes、24,228 representation bits,聚合 480.57 bps;完整 payload 聚合 1788.99 bps。五句 partial-hop 均精确 恢复原长,odd-length 英文 critical 第三次 source-blind replay 字节一致;最大进程树 RSS 1.55 GB,8 句没有满幅 PCM16 样本。large 与 small 的 2,019 个 token 位置零相同,只能说明 权重形成不同 code identity,不能说明 large 质量更高。两者现在共同进入内容/质量指标;下一 执行项为 large speech 75-token 单句探针,并继续作为独立系统计账。