2017-11-22 10 views
0

私は、mp3ファイルからraw pcmファイルへのデコードや、raw pcmからのmp3へのエンコードに、ラメを使用しました。LAME - オーディオファイルのデコードとエンコード

質問1つの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チャンネルのみを持っており、サンプリングFREQは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のエンコード方法に関する知識がないので、これがある場合、私はわかりません理由。

答えて

2

MP3は損失の多いコーデックです。あなたは別の世代をエンコードするたびに品質を失うことになります。

+0

それは元に戻すことができないということですか? @Brad – Feng

+0

@Fengはい、損失の多いコーデックの本質です。とにかくこれをやっているのはなぜですか? – Brad

+0

これは以前は分かりませんでしたが、オーディオファイルがどこに戻ってこないのか不思議に思っていました。私が正しいかどうかを確認するためのテストとして作成しました。とにかくありがとうございました。 @ブラッド – Feng

関連する問題