Liquid AI 发布了 LiquidCodec,这是其 LFM3-Audio-2B 和 LFM3-Omni-2B 模型背后的音频编解码器。LiquidCodec 音频编解码器是一个约 74M 参数的流式语音分词器。它把语音转换成语言模型可以预测的 token,然后再把这些 token 转换回音频。Liquid AI 有 2 个目标:易于预测的 token 和快速转换回语音。权重已发布在 Hugging Face 上。

TL;DR

规模:约 74M 参数(模型卡上为 73.6M);24 kHz 音频,12.5 Hz 帧率,12 个码本。

运行环境:单个 CPU 线程(在 Apple M4 Max 笔记本上以 FP32 测试);通过 Transformers 在 CUDA GPU 上运行;为 llama.cpp 提供 Q4_0、Q4_K_M 和 Q8_0 GGUF 构建。

性能:在全部 8 个测试集上,相比 X-Codec 2、NanoCodec 和 Mimi,取得最佳 ViSQOL 和最低 mel 距离。

最佳:在 1 个 CPU 线程上约 361 倍实时编码(编码 RTF 0.0028,对比 Mimi 的 0.0361)。

什么是 LiquidCodec?

LiquidCodec 是 Liquid AI 的语音编解码器,可将 24 kHz 音频压缩为 12 个 token 流。根据 LFM3-Audio-2B 模型卡,每个 80 ms 帧变为 12 个离散 token。它取代了 Kyutai 的 Mimi,后者曾被 Liquid AI 用于 LFM2-Audio-1.5B。Mimi 有 96.2M 参数。

LiquidCodec 如何工作?

流程是编码、量化、解码。Liquid AI 在编码器和解码器中都使用了其 LFM3 架构的模块。这两部分是对称的,且编码器完全因果,适合流式处理。

量化使用分组有限标量量化(GFSQ),而非残差向量量化(RVQ)。在 RVQ 中,每个码本编码前一个码本遗漏的内容。GFSQ 的各组相互独立,因此全部 12 个码本可以由 MaskGIT 风格的 Transformer 并行预测。

解码器直接预测频谱系数。这避免了学习式转置卷积上采样,而这是波形解码器中常见的开销。

它是如何训练的?

训练分 2 个阶段进行。阶段 1 使用了 107 种语言、264,000 小时的语音。它应用了波形和频谱损失,没有对抗损失。阶段 2 使用对抗判别器在全频带语音(24 kHz 或更高)的 55,000 小时数据上微调。Liquid AI 表示这消除了阶段 1 后残留的金属伪影。最后的仅解码器量化感知训练(QAT)步骤针对边缘推理。

LiquidCodec 有多快?

Liquid AI 在 Apple M4 Max MacBook Pro 的 1 个 CPU 线程上以 FP32 测量了速度。LiquidCodec 的编码速度约为实时的 361 倍,解码速度约为实时的 87 倍。这些是自报数据。

实时因子(RTF)是处理时间除以音频长度,因此越低越好。LiquidCodec 的编码 RTF 为 0.0028,而 Mimi 为 0.0361,NanoCodec 为 0.2145,X-Codec 2 为 0.7359。解码 RTF 为 0.0115,而三者分别为 0.0329、0.2543 和 0.0379。这比 Mimi 的编码 RTF 低约 13 倍,解码 RTF 低 2.9 倍。

LiquidCodec 在质量基准测试上表现如何?

Liquid AI 使用了 8 个测试集。分别是 LibriSpeech test-clean、Seed-TTS 英语和普通话,以及 5 种 FLEURS 语言(德语、法语、普通话、日语、韩语)。基线为 12 个码本的 X-Codec 2、NanoCodec 和 Mimi。

重建:LiquidCodec 在所有 8 个测试集上取得了最佳 ViSQOL 和最低 mel 距离。在 LibriSpeech 上,ViSQOL 为 4.319,而 NanoCodec 为 4.219,X-Codec 2 为 4.119,Mimi 为 4.031。

文本转语音:Liquid AI 在每个编解码器的 token 上训练了相同的 TTS 模型。数据(101,000 小时,6 种语言)、架构、算力和批次顺序均固定。LiquidCodec 在所有 8 个测试集上取得了最高的 UTMOSv2,并在 8 个中的 4 个上取得了最佳 WER/CER。LibriSpeech WER 为 3.15%,而 Mimi 为 6.27%。使用 Qwen3-1.7B 和 LFM3-1.7B 作为骨干网络时结果同样成立。

落后之处:NanoCodec 在 8 个测试集中的 7 个上取得了更高的 PESQ(WB)。它还在 LibriSpeech 说话人相似度上领先(SECS 0.836 对 0.785)。

LiquidCodec 对比 Mimi 对比 NanoCodec 对比 X-Codec 2

FeatureLiquidCodecMimiNanoCodec 1.78 kbpsX-Codec 2DeveloperLiquid AIKyutaiNVIDIAHKUST AudioParameters73.6M96.2M62M0.8BSample rate24 kHz24 kHz (repo)22.05 kHz16 kHzFrame rate12.5 Hz12.5 Hz12.5 fps50 tokens/sCodebooks128 at 1.1 kbps (blog)131 (docs)QuantizerGFSQRVQ (docs)FSQSingle-layer FSQ (docs)BitrateNot disclosed1.1 kbps1.78 kbpsNot disclosedCausalityCausal encoder; decoder not disclosedFully causal (Kyutai)Non-causal encoder, causal decoderNot disclosedLicense“other” on HF; blog links LFM LicenseCC-BY 4.0NVIDIA Open Model LicenseCC-BY-NC 4.0Encode / decode RTF, M4 Max CPU*0.0028 / 0.01150.0361 / 0.03290.2145 / 0.25430.7359 / 0.0379LibriSpeech mel distance* (lower is better)0.1200.1600.1220.123LibriSpeech PESQ (WB)*2.6402.6152.9422.434LibriSpeech TTS UTMOSv2*3.312.893.193.27

*由 Liquid AI 在其 LiquidCodec 博客中测量。Mimi 在 12 个码本下测量。

开发者如何部署 LiquidCodec?

该编解码器通过 Hugging Face Transformers 以 trust_remote_code=True 加载。调用 encode() 获取音频编码,调用 decode() 获取波形。根据模型卡,原生的 LiquidCodecStreamingCache 支持逐块解码。模型卡中的示例使用 CUDA 与 bfloat16。

针对边缘场景,Liquid AI 列出了用于 llama.cpp 的 Q4_0、Q4_K_M 和 Q8_0 GGUF 构建。GGUF 仓库随 LFM3-Audio-2B 和 LFM3-Omni-2B 一同发布。采用仅解码器 QAT 的 Q4_0 将解码器占用缩小 3.5 倍。LibriSpeech ViSQOL 仅从 4.319 降至 4.292。

要点

约 7400 万参数的流式编解码器,12.5 Hz,12 个码本,24 kHz。

在 1 个 CPU 线程上,编码约 361 倍实时,解码约 87 倍实时。

在全部 8 个测试集上取得最佳 ViSQOL、mel 距离和 TTS UTMOSv2。

NanoCodec 仍在 8 个测试集中的 7 个上赢得 PESQ (WB)。

Q4_0 解码器体积缩小 3.5 倍,质量损失极小。

查看技术博客、Hugging Face 上的模型权重,以及 LFM3-Audio-2B 和 LFM3-Omni-2B。另外,欢迎在 Twitter 上关注我们,别忘了加入我们的 150k+ ML SubReddit 并订阅我们的 Newsletter。等等!你在 Telegram 上吗?现在你也可以在 Telegram 上加入我们。

需要与我们合作推广你的 GitHub 仓库或 Hugging Face 页面或产品发布或网络研讨会等?联系我们

Liquid AI 发布 LiquidCodec,一个 7400 万参数的流式音频编解码器,该文章首次出现在 MarkTechPost 上。