下面记录一下 Lyra 中 rvq 相关内容,矢量残差量化是小比特率压缩的常用方法。
下面是 lyra 每个模型的输入输出 shape:
-------------------
ModelName:lyragan
Input 0 => [1, 1, 64]
Output 0 => [1, 320]
Signature: serving_default
Signature Input: input_audio => [1, 1, 64]
Signature Output: output_0 => [1, 320]
-------------------
ModelName:quantizer
Signature: decode
Signature Input: encoding_indices => [46, 1, 1]
Signature Output: output_0 => [1, 1, 64]
Signature: encode
Signature Input: input_frames => [1, 1, 64]
Signature Input: num_quantizers => []
Signature Output: output_0 => [46, 1, 1]
Signature Output: output_1 => []
-------------------
ModelName:soundstream_encoder
Input 0 => [1, 320]
Output 0 => [1, 1, 64]
Signature: serving_default
Signature Input: input_audio => [1, 320]
Signature Output: output_0 => [1, 1, 64]
总体流程:
音频每帧 20ms 对应 320 个样本,提取 64 维特征向量,Lyra 中最大支持 46 级码本也就是最多 46 个量化器,每个量化器包含 16 个码向量(码索引为 0~15 那么每个