分享

SoundStream:端到端神经音频编解码器

 雨夜的博客 2022-02-20

视频介绍:SoundStream:端到端神经音频编解码器

音频编解码器用于有效压缩音频以减少存储要求或网络带宽。理想情况下,音频编解码器应该对最终用户透明,以便解码后的音频与原始音频在感知上无法区分,并且编码/解码过程不会引入可感知的延迟。

在过去几年中,已经成功开发了不同的音频编解码器来满足这些要求,包括Opus和增强型语音服务(EVS)。Opus 是一种多功能的语音和音频编解码器,支持从 6 kbps(千比特每秒)到 510 kbps 的比特率,已广泛部署在从视频会议平台(如 Google Meet)到流媒体服务(如 YouTube)的应用程序中。EVS 是3GPP 标准化机构针对移动电话开发的最新编解码器. 与 Opus 一样,它是一种以多种比特率(5.9 kbps 至 128 kbps)运行的多功能编解码器。使用这两种编解码器重建的音频质量在中到低比特率 (12–20 kbps) 下非常出色,但在以极低比特率 (⪅3 kbps) 运行时会急剧下降。虽然这些编解码器利用人类感知的专业知识以及精心设计的信号处理管道来最大限度地提高压缩算法的效率,但最近人们对用机器学习方法替换这些手工制作的管道感兴趣,机器学习方法学习以数据驱动的方式对音频进行编码。方式。

今年早些时候,我们发布了Lyra,这是一种用于低比特率语音的神经音频编解码器。在“ SoundStream:端到端神经音频编解码器”中,我们介绍了一种新颖的神经音频编解码器,通过提供更高质量的音频并扩展到编码不同的声音类型,包括干净的语音、嘈杂和混响语音、音乐, 和环境声音。SoundStream 是第一个处理语音和音乐的神经网络编解码器,同时能够在智能手机 CPU 上实时运行。它能够使用单个训练模型在广泛的比特率范围内提供最先进的质量,这代表了可学习编解码器的重大进步。

从数据中学习音频编解码器

SoundStream 的主要技术成分是一个神经网络,由编码器、解码器和量化器组成,所有这些都经过端到端的训练。编码器将输入的音频流转换为编码信号,使用量化器对其进行压缩,然后使用解码器将其转换回音频。SoundStream 利用神经音频合成领域最先进的解决方案,通过训练鉴别器,计算对抗性和重建损失函数的组合,使重建的音频听起来像未压缩的原始音频,从而提供高感知质量的音频输入。经过训练后,编码器和解码器可以在单独的客户端上运行,以通过网络高效传输高质量的音频。

file

使用残差矢量量化学习可扩展的编解码

器 SoundStream 的编码器生成可以采用无限数量值的矢量。为了使用有限数量的比特将它们传输到接收器,必须用来自有限集(称为码本)的接近向量替换它们,这一过程称为向量量化。这种方法适用于大约 1 kbps 或更低的比特率,但在使用更高的比特率时很快就会达到其极限。例如,即使比特率低至 3 kbps,假设编码器每秒产生 100 个向量,也需要存储超过 10 亿个向量的码本,这在实践中是不可行的。

在 SoundStream 中,我们通过提出一个新的残差矢量量化器 (RVQ) 来解决这个问题,该量化器由多个层组成(在我们的实验中多达 80 个)。第一层以中等分辨率量化码向量,接下来的每一层都处理前一层的残差。通过将量化过程分成几层,可以大大减少码本大小。例如,每秒 100 个向量,速度为 3 kbps,并使用 5 个量化层,码本大小从 10 亿增加到 320。此外,我们可以分别通过添加或删除量化层来轻松增加或减少比特率。

由于传输音频时网络条件可能会发生变化,理想情况下,编解码器应该是“可扩展的”,以便它可以根据网络状态将其比特率从低变为高。虽然大多数传统编解码器都是可扩展的,但以前的可学习编解码器需要专门针对每个比特率进行训练和部署。

为了规避这个限制,我们利用 SoundStream 中量化层数控制比特率的事实,并提出了一种称为“量化器丢失”的新方法。在训练期间,我们随机删除一些量化层来模拟不同的比特率。这促使解码器在传入音频流的任何比特率下表现良好,从而帮助 SoundStream 变得“可扩展”,以便单个训练模型可以在任何比特率下运行,表现与专门针对这些比特率训练的模型一样好。

file

3 kbps的最先进音频编解码器SoundStream 的性能优于 12 kbps 的 Opus,并接近 9.6 kbps 的 EVS 质量,同时使用的比特数减少了 3.2 至 4 倍。这意味着使用 SoundStream 编码音频可以提供类似的质量,同时使用的带宽量要低得多。此外,在相同的比特率下,SoundStream 的性能优于基于自回归网络的当前版本的 Lyra。与已经针对生产用途进行部署和优化的 Lyra 不同,SoundStream 仍处于试验阶段。未来,Lyra 将整合 SoundStream 的组件,以提供更高的音频质量并降低复杂性。

file

联合音频压缩和增强

在传统的音频处理管道中,压缩和增强(去除背景噪声)通常由不同的模块执行。例如,可以在发送端应用音频增强算法,在压缩音频之前,或在接收端,在音频解码之后。在这样的设置中,每个处理步骤都会导致端到端延迟。相反,我们设计 SoundStream 的方式是,压缩和增强可以由同一模型联合执行,而不会增加整体延迟。在以下示例中,我们展示了可以通过动态激活和停用去噪(5 秒不去噪、5 秒去噪、5 秒不去噪等)将压缩与背景噪声抑制相结合。

结论

每当需要传输音频时,无论是在流式传输视频时还是在电话会议期间,都需要有效的压缩。SoundStream 是改进机器学习驱动的音频编解码器的重要一步。它优于最先进的编解码器,如 Opus 和 EVS,可以按需增强音频,并且只需要部署一个可扩展的模型,而不是多个。

SoundStream 将作为下一个改进版 Lyra 的一部分发布。通过将 SoundStream 与 Lyra 集成,开发人员可以在他们的工作中利用现有的 Lyra API 和工具,从而提供灵活性和更好的音质。我们还将发布它作为单独的 TensorFlow 模型进行实验。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多