See the attached image.
top: original signal
middle: cbr 320 (clip occurs when signal is between 0 and -1.6 dBFS)
bottom: vbr q0 (no clip)
Notice: only left channels of stereo files are displayed
Generated using:
sox -V3 -r 44100 -b 24 -n -c 2 x.wav synth 10 sin 10+22000 remix 1p-1 channels 2
sox -V3 x.wav -C .01 xv.mp3
sox -V3 x.wav -C 320.01 xc.mp3
sox -M x.wav xc.mp3 xv.mp3 -n remix 1 3 5 spectrogram -z 124 -x 880 -y 229
Performed the same test on my pc.
(created x.wav)
Then encoded using the latest lame svn6437 :
first, CBR
then, VBR
The only noticeable difference is that statement "polyphase lowpass filter disabled" during vbr encoding. Instead, a different statement "Using polyphase lowpass filter, transition band: 20094 Hz - 20627 Hz" gets printed during cbr encoding.
Is there any chance, that this issue is fixed too, after solving issue 496?
Still same behaviour using lame svn-r6448.
Spectrogram attached.
Just tuned the lowpass frequency when encoding CBR at 320 kbps and I got a different spectrogram.
The patch is simple as this:
Hope this helps.
In that case the low-pass filter is sensitive to samples with a high amplitude (or near the clip).
It is interesting that for -V0 low-pass filter was completely disabled.
BTW, I was reencoding samples in the NPR listening test and from the spectrogram it seems that the clipped or nearly-clipped samples show bad behaviour due to improper lowpass filter also on 128kbps bitrate. The filter is just configure for a lower frequency there.
More: http://mr.ieero.com/pub/npr-aq-test/ (ignore -in_test.png graphs there)
Script for graphs: http://mr.ieero.com/pub/npr-aq-test/mkgraphs.sh.txt
Lame used for graphs: 3.99.5
Explanation for attached graph:
- first graph ... 128kbps CBR
- second graph ... 320kpbs CBR
- third grap ... original WAV