静音不会影响文件大小的音频格式

Audio format where silence would not affect file size

我正在寻找一种音频格式,在这种格式中,开头几小时的静音不会影响整体文件大小。有谁知道要使用哪一个以及我必须使用什么设置?到目前为止,我尝试了 m4a、ogg 和 mp3,但没有成功。开头有 4 小时无声的音频样本会导致某些格式的文件大小为 400 MB。

当编码器遇到超过一秒左右的静音时,您可能会考虑将编码器破解为 "pause"。可以破解任何编解码器来执行此操作,但在开始进行此类更改之前,您需要了解它们的工作原理...

另一种选择是通过删除 "extra" 个无声帧的程序来传输 MP3 编码器的输出。这可能不是整体工作(尽管您仍然需要了解 MP3 框架和 Layer III 位库的工作原理)。

当然,以编程方式处理它是更明智和 SO 的方式,类似于 SoX 和 silence/pad 效果。毕竟,任何一点沉默都等同于其他任何一点沉默,试图压缩它有点浪费精力。

话虽如此,我自己对此有点好奇,所以我尝试比较了不同编解码器在压缩纯数字静音方面的表现。

我创建了两个测试文件。第一个是 44.1kHz 16 位 30 分钟长的立体声 WAVE 文件,其中包含 -10.66 dBFS RMS 的不相关棕色噪声。第二个文件是相同的,只是填充了 210 分钟的沉默,使总持续时间为 240 分钟(或 4 小时)。接下来,我将文件编码为各种有损和无损编解码器,并查看填充文件和未填充文件之间的大小差异,以衡量静音编码的效率。

 codec    noise  noise.silence      diff  ratio
   wav    317.5         2540.0    2222.5    8.0
he-aac     14.6          116.5     101.9    8.0
vorbis     36.4          237.1     200.7    6.5
   mp3     38.2          217.2     179.0    5.7
  opus     27.0           81.6      54.6    3.0
   tta    213.8          544.1     330.3    2.5
   aac     54.0          131.7      77.7    2.4
    wv    211.3          444.1     232.8    2.1
  alac    212.5          393.7     181.2    1.9
  flac    211.5          404.8     193.3    1.9
   als    209.7          384.2     174.5    1.8
   ofr    209.3          356.9     147.6    1.7

使用的编解码器:

Lossless
wav:    WAVE
tta:    True Audio v3.4.1
wv:     WavPack v4.80.0 (wavpack -x)
alac:   Apple Lossless
ofr:    OptimFROG v5.100 (ofr --preset 2)
als:    MPEG-4 Audio Lossless Coding v23 (mp4alsRM23 -a -b -o50)
flac:   Free Lossless Audio Codec v1.3.1 (flac -8)

Lossy vbr
mp3:    LAME MP3 v3.99.5 (lame -h -V2)
opus:   Opus v1.1.2 (opusenc --bitrate 128 --framesize 40)
aac:    Advanced Audio Codec v2.0 (afconvert -f 'm4af' -d aac -q 127 -s 3 -u vbrq 100)
vorbis: Vorbis aoTuV b5.5 (oggenc -q 5)

Lossy cbr
he-aac: High-Efficiency AAC v1 (afconvert -f 'm4af' -d aach -q 127 -s 0 -b 64000)

如果您将音频文件编码为 .wav 格式,根据第 56-60 页的“多媒体编程接口和数据规范 1.0”,您可以编码一个“LIST”而不是通常的单个“数据”块" 'wavl' 类型的块交替使用“data”和“slnt”块。有关晦涩(和错误)规范的解释,请参阅有关 WAV 格式的维基百科页面。