LAME——解码和编码音频文件

LAME -- decoding and encoding audio file

我使用 lame 从 mp3 文件解码为原始 pcm 文件或从原始 pcm 编码为 mp3。

问题是当我使用一个测试时。0.pcm 文件,一遍又一遍地进行编码和解码(生成 0.mp3、1.mp3、2.mp3,...和测试。1.pcm, test.2.pcm ....),虽然所有.pcm文件或所有.mp3文件的大小保持不变,但内容不同。我试听了这些音频文件,发现99.mp3的音量比1.mp3小很多。

我使用的脚本如下:

 #!/bin/bash
 num=
 last=0
 now=1
 for((i=0;i<num;i++));do
     lame -r -b 64 -s 16000 -m m test.$last.pcm $last.mp3 
     lame --decode --mp3input -t -m m -s 16000 $last.mp3 test.$now.pcm 
     last=$now
     now=$[now+1]
 done

原始测试。0.pcm只有1个通道,采样频率为16k。

一些日志如下,除了重播增益外,它们都是一样的:

input:  97.mp3  (16 kHz, 1 channel, MPEG-2 Layer III)
output: test.98.pcm  (16 bit, Microsoft WAVE)
skipping initial 1105 samples (encoder+decoder delay)
skipping final 47 samples (encoder padding-decoder delay)
Frame#    49/49      64 kbps

Assuming raw pcm input file
LAME 3.100 64bits (http://lame.sf.net)
polyphase lowpass filter disabled
Encoding test.98.pcm to 98.mp3
Encoding as 16 kHz single-ch MPEG-2 Layer III (4x)  64 kbps qval=3
    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
    49/49    (100%)|    0:00/    0:00|    0:00/    0:00|   88.200x|    0:00
----------------------------------------------------------------------------------------------------------
   kbps       mono %     long  %
   64.0      100.0       100.0
Writing LAME Tag...done
ReplayGain: +46.1dB

注意到ReplayGain在不断增加,但我对mp3的编码方式一无所知,不知道是不是这个原因。

MP3 是一种有损编解码器。每次编码另一代时,您都会失去质量。