论文基本信息
标题: GenSE: Generative Speech Enhancement via Language Models using Hierarchical Modeling
发表: ICLR 2025 (arXiv:2502.02942)
领域: 语音增强、语言模型、生成式建模
GenSE 的模型由三部分组成:
- SimCodec:一个神经语音编解码器,用于将语音信号压缩为离散声学 token,并通过解码器从这些 token 重建语音信号。
- XLSR:一个预训练的自监督模型(Meta AI 开源),用于从语音中提取高维语义信息。
- N2S 和 S2S(Two decoder-only LMs):分别用于两个阶段的生成任务。
- N2S(Noisy-to-Semantic)模块:将带噪语音转换为干净的语义 token。
- S2S(Semantic-to-Speech)模块:基于语义 token 和带噪声学 token 生成干净的声学 token,最终重建出增强后的语音。
SimCodec
SimCodec 是 GenSE 框架中为「语言模型友好」而重新设计的一款神经语音编解码器。
核心功能只有两点:
- 把连续的语音压缩成尽可能少的离散声学 token。
- 将这些 token 高质量的还原成原始波形,让后续的语言模型做下一个 token 的预测。
三项主要创新: A. 单量化器(single-quantizer)架构——把传统 8 级残差量化压缩成 1 级; B. 超大码本(8192)+ 两阶段「重排」训练——解决大码本'利用率低、难收敛'的顽疾; C. 端到端 GAN 训练目标——在频域多尺度重建 + 感知对抗 loss 下,把比特率压到 0.65 kbps 仍能打败 4–9 kbps 的强基线。
Q:为什么要重新设计一款编解码器? A:传统的 RVQ 方案例如 EnCodec 和 DAC 用了 8 个量化器进行逐级残差,每层 1024 条目,一秒钟音频要产生 600–900 个 token。对于自回归 LM 来说,序列长度直接决定推理成本,长一倍 GPU 时间就近乎翻倍。 因此 SimCodec 的目标是:仅用 1 个量化器、一秒钟音频产生 token 数量<=100。
为了研究分析单量化器 + 大码本(codesize)的可行性,作者首先做了一个重建质量与码本大小之间关系的实验。 可以看到:随着码本大小的增加,码本的利用率是单调下降的;PESQ 在一定范围内可以随着码本大小的增加,但是当码本大小 ≥2^11 后,PESQ 反而开始下降,码本大小达到 2^13 的大小时,大约有一半的码字都没有被激活,码字利用率下降显著的拖低了 PESQ。
那么得到了结论:单纯把码本扩大不可行,必须让'大码本 + 高利用率'同时成立。
为了让'大码本 + 高利用率'同时成立,作者提出了一种两阶段重排训练方法: 第一阶段使用两个独立的小组量化器进行训练,按码本的使用频率来筛选高频码本并重组成为新码本;第二阶段则是,基于新码本微调编码器和解码器,确保码本的利用率和重构质量。
Reorganize: 训练完成后,对每个小组量化器的码本向量按'码本使用率'排序,分别挑选出使用率最高的 N 个和 K 个量化向量(高频令牌);重组新码本:将两个量化器筛选出的高频向量成对拼接,构建一个新的大码本,新码本规模为 N×K(最终达到 8192)。
优势:重组后的码本仅保留高频使用的向量,避免了直接训练大码本时的'无效码本'问题,同时继承了两个量化器学到的语音特征,保证了码本的表达能力。
效果:重组后的码本仅包含高频有效令牌,配合单个量化器,让 SimCodec 在低码率(0.65-1.3 kbps)下,既能减少声学令牌数量(50-100 token/s,远低于传统模型的 300-900 token/s),又能保证高质量语音重构。
Nq(Number of Quantizers):量化器数量 MCD(Mel-Cepstral Distortion):梅尔倒谱失真 核心含义:衡量原始语音与重构语音在梅尔倒谱域的差异,反映音色还原度,数值越小,重构语音与原始语音的音色越接近、失真越小。
UTMOS(UTokyo-SaruLab MOS):自动主观质量评分系统。 核心含义:通过模型预测人类对语音质量的主观评分(模拟 MOS 分数),范围通常为 1~5,分数越高,主观感知质量越好(越接近人类对高质量语音的评价)。
N2S 和 S2S
核心目标: 解决带噪语音中噪声对语义提取和声学生成的干扰问题,降低 LM 预测难度:
- 传统方法将去噪和生成耦合,噪声易传递至后续生成阶段,导致语音质量和说话人一致性下降;
- 分层框架让每个阶段专注单一任务,先净化语义信息,再基于干净语义生成高质量语音。
两大核心模块(两阶段流程) 整个框架分为'带噪到语义(N2S)'和'语义到语音(S2S)'两个串联阶段,流程为:带噪语音 → N2S 模块生成干净语义令牌 → S2S 模块生成干净声学令牌 → SimCodec 解码器重构干净语音。


