详解SoundStream:一款端到端的神经音频编解码器

作者|谷歌研究团队
译者|王强
策划|刘燕
音频编解码器的用途是高效压缩音频以减少存储或网络带宽需求 。 理想情况下 , 音频编解码器应该对最终用户是透明的 , 让解码后的音频与原始音频无法从听觉层面区分开来 , 并避免编码/解码过程引入可感知的延迟 。
在过去几年中 , 业界已经成功开发了多种音频编解码器来满足这些需求 , 包括Opus)和增强语音服务(EVS) 。
Opus是一种多功能语音和音频编解码器 , 支持从6kbps(千比特每秒)到510kbps的比特率 , 已广泛部署在从视频会议平台(如GoogleMeet)到流媒体服务(如YouTube)的多种类型的应用程序中 。
EVS是3GPP标准化组织针对移动电话开发的最新一代编解码器 。 与Opus一样 , 它是一种支持多种比特率(5.9kbps至128kbps)的编解码器 。 使用这两种编解码器重建的音频质量在中低比特率(12–20kbps)下表现很出色 , 但在以极低比特率(?3kbps)输出时质量会急剧下降 。
虽然这些编解码器利用了人类感知领域的专业知识以及精心设计的信号处理管道来最大限度地提高压缩算法的效率 , 但最近人们开始将兴趣转向了用机器学习方法替换这些手工制作的管道 。 这些机器学习方法会使用一种数据驱动的方式来学习音频编码技能 。
今年早些时候 , 我们发布了Lyra , 一种用于低比特率语音的神经音频编解码器 。 在“SoundStream:一款端到端的神经音频编解码器”论文中 , 我们介绍了一种新颖的神经音频编解码器 。
这种编解码器是上述成果的进一步发展 , 提供了更高质量的音频并能编码更多声音类型 , 包括干净的语音、嘈杂和混响的语音、音乐和环境声音 。
SoundStream是第一个既能处理语音也能处理音乐的神经网络编解码器 , 同时能够在智能手机CPU上实时运行 。 它能使用单个训练好的模型在很大的比特率范围内提供最一流的质量 , 这标志着可学习编解码器的一项重大进步 。
1
从数据中学习的音频编解码器
SoundStream的主要技术组成部分是一个神经网络 , 由编码器、解码器和量化器组成 , 它们都经过了端到端的训练 。 编码器将输入的音频流转换为编码信号 , 量化器压缩编码信号 , 然后解码器将其转换回音频 。
SoundStream利用了神经音频合成领域最先进的解决方案 , 通过训练一个鉴别器来计算对抗性和重建损失函数的组合 , 使重建的音频听起来接近未压缩的原始音频 , 从而提供高感知质量的音频输出 。 经过训练后 , 编码器和解码器可以分别运行在独立的客户端上 , 以通过网络高效传输高质量的音频 。
详解SoundStream:一款端到端的神经音频编解码器
文章图片
SoundStream的训练和推理过程 。 在训练期间 , 编码器、量化器和解码器参数使用重建和对抗性损失的组合进行优化 , 并由鉴别器计算;后者经过训练以区分原始输入音频和重建音频 。
在推理期间 , 发送器客户端上的编码器和量化器将压缩过的比特流发送到接收器客户端 , 然后接收器客户端负责解码音频信号 。
2
使用残差向量量化学习可扩展的编解码器
SoundStream的编码器生成的向量可以采用无限的数量值 。 为了使用有限数量的比特将它们传输到接收器 , 必须用来自有限集(称为码本 , codebook)的近似向量替换它们 , 这一过程称为向量量化 。
这种方法适用于大约1kbps或更低的比特率 , 但在改用更高的比特率时很快就会达到其极限 。 例如 , 即使比特率低至3kbps , 假设编码器每秒产生100个向量 , 也需要存储超过10亿个向量的码本 , 这在实践中是不可行的 。