一句话说清
神经音频编解码(Neural Audio Codec)是用神经网络把连续的音频波形压成一串离散 token,并能把这串 token 还原回声音的技术。RVQ(Residual Vector AI 词典:Quantization">Quantization,残差矢量量化)是它最常用的量化手段。
为什么需要它
大语言模型处理文本的第一步是分词,把连续的语言切成离散符号。语音一直没这待遇:波形是每秒上万次采样的连续信号,直接建模太长。传统编解码(MP3、AAC、Opus)压得虽小,但面向人耳,输出的是比特流,不是语言模型能预测的符号。神经音频编解码补的就是这一环——它的输出 token 可以像文字一样被 Transformer 逐个预测。
原理:一层层补差
编码器先把波形切成很短的帧,典型是每秒几十帧(常见 50 或 75 帧),每帧转成一个向量。难点在于把向量变成离散码字:单层矢量量化(VQ)想覆盖丰富的声音,就得准备一个巨大码本,而且大部分码字根本用不上。
RVQ 分层的思路是逐层补差:第一层码本挑出最接近的码字;算出「原向量减去已选码字」剩下的残差;第二层只负责量化这团残差;如此叠几层到十几层。
打个比方:搬家用箱子装书。先用一批箱子装走大部分,装不下的再用下一批装,再剩下的继续装。每批箱子型号都不多,叠起来却能装下几乎任意一屋子书。RVQ 每层码本都很小,几层组合起来的表达能力却成倍增长。解码时把各层码字相加,再由解码器网络还原成波形。
为什么它是实时语音对话的前提
- 帧率低:一秒语音才几十帧,折算下来几百个 token,和一句话的文本 token 数量级相当,语音因此能和文本塞进同一个自回归模型。
- 可流式:逐帧编、逐帧解,不用等整段说完,低延迟就靠这个。
- 可分级:只解前几层是低码率粗音质,多解几层更保真,同一个模型适配不同带宽。
和相邻概念的区别
| 中间表示 | 离散? | 保留了什么 | 能直接喂 LLM? |
|---|---|---|---|
| PCM 波形 | 否 | 全部信息 | 太长 |
| mel 频谱 | 否 | 音色、韵律 | 不直接,还需声码器 |
| 文本 token | 是 | 只有内容 | 能,但音色情绪丢了 |
| 神经编解码 token | 是 | 内容+音色+韵律 | 能 |
实际意义
对从业者,它把语音变成了和文本同构的建模对象:语音对话、语音翻译、音频生成可以复用 LLM 那套自回归架构;TTS 也从「连续声学特征+声码器」转向「离散 token+token 预测」。对普通人,实时语音助手、低带宽通话、AI 配音与实时字幕,背后越来越多是这套东西——它让「边说边生成」变得可行。各家实现的帧率、码本层数不同,用到时以官方页面为准。
