当然,以编程方式处理它是更明智的SO方式,例如SoX和静音/填充效果。毕竟,任何沉默都与任何其他沉默一样,试图压缩它是一种浪费的努力。
话虽如此,我对此有点好奇,所以我比较了不同编解码器在压缩纯数字静音方面的表现。
我创建了两个测试文件。第一个是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
Run Code Online (Sandbox Code Playgroud)
使用的编解码器:
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)
Run Code Online (Sandbox Code Playgroud)