AI魔法学院客服
FFmpeg之父新作——音频压缩工具 TSAC
FFmpeg作者Fabrice Bellard发布了音频压缩工具TSAC,利用深度学习中的Transformer结构提升性能,实现极低比特率下的高质量音频压缩。TSAC采用RVQGAN技术,通过级联VQ和GAN训练提升压缩效果,具备多速率编码能力和降噪功能。然而,压缩后音频存在高频细节丢失等问题。
 2024-08-23
收藏 复制地址分享海报

前两天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

1720426318550

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对残差进行迭代量化,如果我们使用了8VQ级联,那么左后码本向量数量为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

1GAN

RVQGAN顾名思义是基于GAN的网络结果,因此在训练过程中除了训练encoder-decoder的生成器之外,还需要训练对应的判别器。为了提升生成的音频品质,一般会在训练中使用两种判别器,一种是波形判别器,另一种是STFT判别器,并且这两种判别器会加入多尺度和多周期的特征进一步提升音频质量。

2) Structure dropout

此外,为了保证音频压缩工具可以选择不同的编码速率RVQ在训练过程中使用了一种名为structure dropout的技术。我们假设RVQ中有NVQ,那么在训练过程中随机选择1~NVQ进行量化,这样相当于在整个模型训练过程中对所有的编码速率都进行了学习。在推理时,只用选择级联的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

本文档由网友提供,仅限参考学习,如有不妥或产生版权问题,请联系我们及时删除。 客服请加微信:skillupvip
评论
1 评论
高质量人类2024/8/23 9:54:54
楼主爆料给力啊!FFmpeg大神出手就是不一样,TSAC听着就黑科技满满。用Transformer搞音频压缩,这脑洞我服!虽然高频细节有点牺牲,但能在低比特率下保持高质量,已经够惊艳了。降噪功能也是加分项,感觉以后音频文件可以更小更快,音质还不打折。期待进一步优化,解决那些小瑕疵,绝对能火!
20秒读懂全文
伴读
# 1. 一句话总结文章摘要
FFmpeg作者发布音频压缩工具TSAC,利用深度学习中的Transformer结构提升性能,实现极低比特率下的高质量音频压缩。

# 2. 生成关键词和可能相关的关键词
关键词:FFmpeg, TSAC, 音频压缩, 深度学习, Transformer, RVQGAN, 矢量量化, GAN, 编码速率, 音质

可能相关的关键词:音频
One More Thing
One More Thing again ...

找组织,加入AI魔法学院群