Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: [DOUBLEPOST] Distortion From Joint Stereo (LAME) (Read 2929 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

[DOUBLEPOST] Distortion From Joint Stereo (LAME)

I’ve just registered to share my experience with you. I’ll TRY to be concise.

I’ve experienced some MASSIVE distorsion on high tunes, encoding some Metal songs that require high bitrate to sound good. After MANY try, I know what causes this distorsion : the Joint Stereo (JS) process (I use LAME 3.93 + RazorLame 1.1.5).

JS is supposed to be better than True Stereo (TS). Theorically. Indeed, JS encodes 2 channels, middle (M) and side (S) instead of left (L) and right ( R). Demonstration :
If M=(L+R)/2 and S=(L-R)/2 , then it's easy to get the L and R channel back :
M+S=(L+R+L-R)/2 = 2L/2=L and M-S=(L+R-(L-R))/2=(L+R-L+R)/2=2R/2=R
The trick is : you encode M on one side, and on the other, the more L and R are similar, the less the S channel will need bits to be properly encoded (ex: if L=R (=Mono), the needed space for S channel is zero !)
Conclusion : if you compare 2 files with the same size, the bits gained on similarities between L and R channel on the file encoded with JS enable an overall better encoding quality over the file encoded with TS.

Again, this is theory. Here what happen to me practically :
Sample encoded in 320kbps and TS (archive quality, 1.77Mo). Very close to the WAV sample.
Sample encoded with the --alt-preset standard, in JS (195kbps, 1.07Mo). You can hear the distorsion of high tunes even with a crappy sound board like mine !
Sample encoded with the --alt-preset standard -V 3, in JS (176kbps, 0.98Mo). In this file, I’ve lowered a bit the quality of the encoding (standard is ‘-V 2’). The overall quality should be good but the distorsion is now HUGE. 
You can imagine what happens if I lower again the quality !!
Now let’s encode the sample in TS.
Sample encoded with the --alt-preset standard -V 4 –m s, in TS (188kbps, 1.04Mo). See? This file was encoded in lower quality (‘only’ -V4), yet, there is  no more distortion !! 

Finally, here is a comparison of JS/TS encoding at lower bitrate :
Sample encoded @128kbps with JS (727ko).
Sample encoded @128kbps with TS (727ko).
There is no need to be a sound engineer to get the difference.

To end this test, here is a few remarks:
I’ve tried to encode in JS with the previous version of LAME (3.92), but I got the same result.
I’m not an expert, so tell me where I’m wrong or what could get this thing work good.
I’ve always been a convinced Lame user. I’m not THAT convinced now. But I’m not sure what to do. Continue in TS with Lame or change for something new. Any advice?
Finally, excuse my english, I’m just french!

[DOUBLEPOST] Distortion From Joint Stereo (LAME)

Reply #1
Don't double post.