LAME декодирование и кодирование аудиофайла

Я использовал lame для декодирования из mp3-файла в необработанный файл PCM или кодирования в mp3 из необработанного PCM.

Вопрос в том, когда я использую один файл test.0.pcm, выполняя кодирование и декодирование снова и снова (генерируя 0.mp3, 1.mp3,2.mp3,... и test.1.pcm, test.2. pcm ....), хотя размер для всех файлов .pcm или всех файлов .mp3 остается одинаковым, но содержимое отличается. Я попытался прослушать эти аудиофайлы и обнаружил, что громкость 99.mp3 намного меньше, чем 1.mp3.

Сценарий, который я использую, выглядит следующим образом:

 #!/bin/bash
 num=$1
 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

Оригинальный test.0.pcm имеет только 1 канал и частоту дискретизации 16k.

Некоторые журналы выглядят следующим образом, все они одинаковы, за исключением Replay Gain:

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, поэтому я не уверен, что это причина.


person Feng    schedule 22.11.2017    source источник


Ответы (1)


MP3 - это кодек с потерями. Вы будете терять качество каждый раз, когда кодируете новое поколение.

person Brad    schedule 23.11.2017
comment
То есть вы имеете в виду, что это необратимо? @Брэд - person Feng; 24.11.2017
comment
@Feng Да, это сама природа кодека с потерями. Зачем ты вообще это делаешь? - person Brad; 24.11.2017
comment
Я не знал этого раньше, мне просто было любопытно, почему аудиофайл не может вернуться туда, где он был, и я сделал это в качестве теста, чтобы увидеть, прав я или нет. В любом случае, спасибо. @Брэд - person Feng; 24.11.2017