FFmpeg之父新作——音频压缩工具 TSAC
发布时间:2024年08月24日
前两天FFmpeg作者Fabrice
Bellard在个人主页发布了一款音频压缩工具TSAC。根据官网介绍,TSAC可达到非常低的比特率,例如44.1 kHz采样率下的码率可以达到单声道 5.5
kb/s 或立体声 7.5 kb/s,具有良好的感知质量。具体来说,TSAC可以将3.5分钟的立体声歌曲压缩为192KB 的文件。其原理和我们之前介绍的突破压缩极限的AI语音编解码器类似,使用深度学习网络进行压缩,TSAC这里引入Transformer结构来提升性能。我们先看下效果,然后介绍下其原理。
我们看下官网给出流行歌曲的例子进行分析,首先听起来整体上是比较接近的,但是经过压缩后还原的音频,伴奏和人声混在了一起,没有一轨一轨清晰的感觉,有点像混音没有做好。仔细观察频谱发现,压缩后的音频高频细节有一些丢失,导致了听起来有模糊的感觉。本人也不是专门的乐评人就先评价到这里了。
,时长00:44
Fabrice Bellard在主页介绍TSAC是基于descript-audio-codec制作,并在其中加入Transformer模块提升压缩性能。其原型是High-Fidelity
Audio Compression with Improved RVQGAN这篇论文,下面我们看下其原理。
RVQ
在介绍RVQ之前我们先揭示矢量量化(VQ)的一个弊端。举个例子,我们考虑一个目标比特率R = 6000bps的编解码器。当使用的步长因子M = 320 时,采样率 fs = 24000 Hz 的每秒音频在编码器的输出帧数S = 75。这对应于分配给每个帧的r = 6000/75 = 80位。如果使用普通的向量量化器,这就需要最终的码本向量个数为N = 2^80,这显然是不切实际的。RVQ算法整体其实并不困难,本质是级联了多个VQ模块,未量化的输入向量通过第一个 VQ 并计算量化残差。然后通过一系列附加的N-1 VQ对残差进行迭代量化,如果我们使用了8个VQ级联,那么左后码本向量数量为2^(80/8)=1024,这远小于VQ的码本向量数目。RVQ流程如下所示:
RVQGAN
RVQGAN的网络结构和SoundStream类似,是一种encoder-decoder的形式。
首先基于卷积的encoder将波形提取成音频特征隐变量,然后隐变量被名为残差矢量量化(Residual Vector Quantization, RVQ)的方法量化成向量。这个过程有点像传统的音频编解码器对编码参数进行量化的过程。正是由于RVQ的介入使得数据量急剧减少。
最后解码器将量化后的矢量进行解码即可恢复音频。此外,SoundStream这里还有一个降噪的开关,可以在压缩过程中提供降噪效果。由于TSAC加入了Transformer模块,虽然Fabrice Bellard没说加在可能EnCodec更为接近TSAC的结构。
Training tricks
1)GAN
RVQGAN顾名思义是基于GAN的网络结果,因此在训练过程中除了训练encoder-decoder的生成器之外,还需要训练对应的判别器。为了提升生成的音频品质,一般会在训练中使用两种判别器,一种是波形判别器,另一种是STFT判别器,并且这两种判别器会加入多尺度和多周期的特征进一步提升音频质量。
2) Structure dropout
此外,为了保证音频压缩工具可以选择不同的编码速率RVQ在训练过程中使用了一种名为structure dropout的技术。我们假设RVQ中有N个VQ,那么在训练过程中随机选择1~N个VQ进行量化,这样相当于在整个模型训练过程中对所有的编码速率都进行了学习。在推理时,只用选择级联的VQ个数就可以切换不同的码率。
3) Periodic activation function
为了在生成器中学习到周期性,设计了一个snake激活函数,其定义为
参考文献:
[1]. https://bellard.org/tsac/
[2]. https://arxiv.org/pdf/2306.06546.pdf
[3]. https://github.com/facebookresearch/encodec
[4]. https://arxiv.org/pdf/2107.03312.pdf
[5]. https://arxiv.org/pdf/2206.04658.pdf
[6]. https://arxiv.org/pdf/2210.13438.pdf
[7]. https://zhuanlan.zhihu.com/p/688229464
出自:https://mp.weixin.qq.com/s/6Kn-t5dy1NDc1wDSItugqQ
如果你想要了解关于智能工具类的内容,可以查看 智汇宝库,这是一个提供智能工具的网站。
在这你可以找到各种智能工具的相关信息,了解智能工具的用法以及最新动态。
光点红是一款 AI 写作助手,主要功能是可以快速生成个性化、吸引人的小红书博文内容。