LAME - декодирование и кодирование аудио файла
Я использовал lame для декодирования из mp3-файла в raw-файл pcm или для кодирования в mp3 из raw 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 постоянно растет, но я не знаю, как это сделать, поэтому я не уверен, что это причина.
1 ответ
MP3 - это кодек с потерями. Вы будете терять качество каждый раз, когда кодируете другое поколение.