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: When should you use joint stereo over normal stereo? (Read 15202 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

When should you use joint stereo over normal stereo?

when and at what bitrates shud joint stereo be used

heard it is just for low bitrates, if so where to the point shud u use joint and where to a point just use normal stereo

wud it be used as high as 256 mp3, then after at 320 use normal stereo

or am i missing somethin

whats the deal?

When should you use joint stereo over normal stereo?

Reply #1
Normal joint stereo (default) is recommended for all bitrates.

Quote
joint stereo
In this mode, the encoder will make use of correlation between both channels. The signal will be matrixed into a sum ("mid"), computed by L+R, and difference ("side") signal, computed by L-R, and more bits are allocated to the mid channel.
This will effectively increase the bandwidth if the signal does not have too much stereo separation, thus giving a significant gain in encoding quality. In joint stereo, the encoder can select between Left/Right and Mid/Side representation on a frame basis.

Using mid/side stereo inappropriately can result in audible compression artifacts. To much switching between mid/side and regular stereo can also sound bad. To determine when to switch to mid/side stereo, LAME uses a much more sophisticated algorithm than that described in the ISO documentation, and thus is safe to use in joint stereo mode.
🇺🇦 Glory to Ukraine!

When should you use joint stereo over normal stereo?

Reply #2
what about lame presets

preset standard
extreme
insane

they all use joint stereo

or are these presets encoded specifically for joint stereo

When should you use joint stereo over normal stereo?

Reply #3
Joint stereo is not only recommended, but default. Thus, it's used unless you specify otherwise, which you shouldn't. It's recommended and default for a reason. If you need more information, there are countless past topics on this, as well as information on the Knowledgebase and Wikipedia. People must try to search instead of making others repeat themselves.

When should you use joint stereo over normal stereo?

Reply #4
i have searched but theres nowt wrong in asking,

i am using cdex with preset insane for best quality

so that must be the most i can get out of it

When should you use joint stereo over normal stereo?

Reply #5
presets:
insane = -b 320
extreme = -V 0 --vbr-old
standard = -V 2 --vbr-old

As you see, some presets enables old VBR algoritm which is not recommended for latest LAME versions.
Also presets don't use any stereo mode switches so thay use default Joint Stereo mode
🇺🇦 Glory to Ukraine!

When should you use joint stereo over normal stereo?

Reply #6
Are you sure that presets still use vbr-old? I know that adding "fast" was previously necessary to enable vbr-new, but logic suggests that since it's default now, this would be redundant. Anyway, simple -V and -b switches are now equivalent to and effectively recommended over presets, as the OP would have realised if he'd read the wiki.

When should you use joint stereo over normal stereo?

Reply #7
Quote
Presets do not enable vbr-old.

Actually they do.

When should you use joint stereo over normal stereo?

Reply #8
Quote
Are you sure that presets still use vbr-old?

I'm 100 % sure that it is true for lame 3.98.2/3/4 (verified with EncSpot & foobar2000 bitcomparator)
🇺🇦 Glory to Ukraine!

When should you use joint stereo over normal stereo?

Reply #9
Upon consulting the wiki as per my own advice (which tastes strangely like humble pie), I saw that. Although presets are now technically redundant, this seems to me to be worth changing since vbr-new is now the recommended mode.

When should you use joint stereo over normal stereo?

Reply #10
i am using cdex with preset insane for best quality

If you are aiming for best quality, you shouldn't use a lossy codec at all. Use FLAC (or any other lossless codec) to store your music. If you need a lossy encode (e.g. for portable use) you can always transcode it quickly using foobar2000. When you have a lossless archive, you don't need to worry about any possible artefacts - You can always make a new encode if you encounter any. To date I haven't been able to hear an artefact using LAME -v5 during casual listening.
Can't wait for a HD-AAC encoder :P

When should you use joint stereo over normal stereo?

Reply #11
Quote
Are you sure that presets still use vbr-old?
I'm 100 % sure that it is true for lame 3.98.2/3/4 (verified with EncSpot & foobar2000 bitcomparator)
This is not the case with LAME 3.98.4 [downloaded from Rarewares]. Here are three different encodes of the same track:

Code: [Select]
C:\tmp>lame --verbose -V 2 rts.wav rts-default.mp3
LAME 3.98.4 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 18671 Hz - 19205 Hz
Encoding rts.wav to rts-default.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=2)

misc:

        scaling: 1
        ch0 (left) scaling: 0
        ch1 (right) scaling: 0
        huffman search: best (outside loop)
        experimental Y=0
        ...

stream format:

        MPEG-1 Layer 3
        2 channel - joint stereo
        padding: all
        variable bitrate - VBR mtrh (default)
        using LAME Tag
        ...

psychoacoustic:

        using short blocks: channel coupled
        subblock gain: 1
        adjust masking: -4.4 dB
        adjust masking short: -1.8 dB
        quantization comparison: 9
        ^ comparison short blocks: 9
        noise shaping: 1
        ^ amplification: 2
        ^ stopping: 1
        ATH: using
        ^ type: 4
        ^ shape: 2 (only for type 4)
        ^ level adjustement: -0.2
        ^ adjust type: 3
        ^ adjust sensitivity power: 1.000000
        ^ adapt threshold type: 2
        experimental psy tunings by Naoki Shibata
          adjust masking bass=0 dB, alto=0 dB, treble=0 dB, sfb21=4.5 dB
        using temporal masking effect: no
        interchannel masking ratio: 0
        ...

    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
 14945/14945 (100%)|    0:19/    0:19|    0:19/    0:19|  20.463x|    0:00
 32 [  11] %
 40 [    0]
 48 [    0]
 56 [    0]
 64 [    0]
 80 [    0]
 96 [    1] %
112 [  16] %
128 [  27] %
160 [ 2685] %%%%********************
192 [ 7571] %%%%%%%%%%%%%%%%%%%%%%*********************************************
224 [ 2562] %%%%%%%%%**************
256 [ 1539] %%%%**********
320 [  533] %%***
-------------------------------------------------------------------------------
  kbps        LR    MS  %    long switch short %
  202.6      29.4  70.6        96.1  2.3  1.7
Writing LAME Tag...done

C:\tmp>lame --verbose -V 2 --vbr-old rts.wav rts-old.mp3
LAME 3.98.4 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 18671 Hz - 19205 Hz
Encoding rts.wav to rts-old.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=2) qval=3

misc:

        scaling: 1
        ch0 (left) scaling: 0
        ch1 (right) scaling: 0
        huffman search: best (outside loop)
        experimental Y=0
        ...

stream format:

        MPEG-1 Layer 3
        2 channel - joint stereo
        padding: all
        variable bitrate - VBR rh
        using LAME Tag
        ...

psychoacoustic:

        using short blocks: channel coupled
        subblock gain: 1
        adjust masking: -2.2 dB
        adjust masking short: -3.5 dB
        quantization comparison: 9
        ^ comparison short blocks: 9
        noise shaping: 1
        ^ amplification: 1
        ^ stopping: 1
        ATH: using
        ^ type: 4
        ^ shape: 2 (only for type 4)
        ^ level adjustement: -0.28
        ^ adjust type: 3
        ^ adjust sensitivity power: 1.000000
        ^ adapt threshold type: 2
        experimental psy tunings by Naoki Shibata
          adjust masking bass=0 dB, alto=0 dB, treble=0 dB, sfb21=5.25 dB
        using temporal masking effect: yes
        interchannel masking ratio: 0
        ...

    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
 14945/14945 (100%)|    0:29/    0:29|    0:29/    0:29|  13.227x|    0:00
 32 [  12] %
 40 [    0]
 48 [    0]
 56 [    1] %
 64 [    0]
 80 [    0]
 96 [    1] %
112 [    6] *
128 [  54] %
160 [ 2372] %%*************************
192 [ 5950] %%%%%%%%%%%********************************************************
224 [ 4288] %%%%%%%%%%%%%%***********************************
256 [ 2081] %%%%********************
320 [  180] %**
-------------------------------------------------------------------------------
  kbps        LR    MS  %    long switch short %
  206.1      17.2  82.8        98.3  1.0  0.6
Writing LAME Tag...done
ReplayGain: -5.4dB

C:\tmp>lame --verbose -V 2 --vbr-new rts.wav rts-new.mp3
LAME 3.98.4 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 18671 Hz - 19205 Hz
Encoding rts.wav to rts-new.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=2)

misc:

        scaling: 1
        ch0 (left) scaling: 0
        ch1 (right) scaling: 0
        huffman search: best (outside loop)
        experimental Y=0
        ...

stream format:

        MPEG-1 Layer 3
        2 channel - joint stereo
        padding: all
        variable bitrate - VBR mtrh (default)
        using LAME Tag
        ...

psychoacoustic:

        using short blocks: channel coupled
        subblock gain: 1
        adjust masking: -4.4 dB
        adjust masking short: -1.8 dB
        quantization comparison: 9
        ^ comparison short blocks: 9
        noise shaping: 1
        ^ amplification: 2
        ^ stopping: 1
        ATH: using
        ^ type: 4
        ^ shape: 2 (only for type 4)
        ^ level adjustement: -0.2
        ^ adjust type: 3
        ^ adjust sensitivity power: 1.000000
        ^ adapt threshold type: 2
        experimental psy tunings by Naoki Shibata
          adjust masking bass=0 dB, alto=0 dB, treble=0 dB, sfb21=4.5 dB
        using temporal masking effect: no
        interchannel masking ratio: 0
        ...

    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
 14945/14945 (100%)|    0:19/    0:19|    0:19/    0:19|  20.347x|    0:00
 32 [  11] %
 40 [    0]
 48 [    0]
 56 [    0]
 64 [    0]
 80 [    0]
 96 [    1] %
112 [  16] %
128 [  27] %
160 [ 2685] %%%%********************
192 [ 7571] %%%%%%%%%%%%%%%%%%%%%%*********************************************
224 [ 2562] %%%%%%%%%**************
256 [ 1539] %%%%**********
320 [  533] %%***
-------------------------------------------------------------------------------
  kbps        LR    MS  %    long switch short %
  202.6      29.4  70.6        96.1  2.3  1.7
Writing LAME Tag...done
ReplayGain: -5.4dB

C:\tmp>fsum *.mp3

SlavaSoft Optimizing Checksum Utility - fsum 2.52.00337
Implemented using SlavaSoft QuickHash Library <www.slavasoft.com>
Copyright © SlavaSoft Inc. 1999-2007. All rights reserved.

; SlavaSoft Optimizing Checksum Utility - fsum 2.52.00337 <www.slavasoft.com>
;
; Generated on 05/22/10 at 08:48:19
;
55bfce3f3de63fa9a645b750b192267a *rts-default.mp3
55bfce3f3de63fa9a645b750b192267a *rts-new.mp3
e1619c7fba9f501eff0c758ffc5734db *rts-old.mp3
In fact, I'm fairly certain that the default VBR method was changed from RH to MTRH with 3.97 or 3.98 [if not earlier]. I seem to recall that MTRH is not only faster, but provided better results in many cases, hence the switch.

When should you use joint stereo over normal stereo?

Reply #12
lvqcl was referring to presets, e.g. --preset standard is equivalent to -V2 --vbr-old. VBR-new must be activated by adding fast before the preset name. I understand the original reason for this, but it may be worth amending the behaviour, since VBR-new is now default. That said, as if to add to the confusion, the latest alphas have yet another VBR mode!

When should you use joint stereo over normal stereo?

Reply #13
lvqcl was referring to presets, e.g. --preset standard is equivalent to -V2 --vbr-old. VBR-new must be activated by adding fast before the preset name.

I must say this foot-in-mouth dish is quite nourishing, too    Silly me for not carefully reading the posts. You're all absolutely right, of course.

When should you use joint stereo over normal stereo?

Reply #14
That said, as if to add to the confusion, the latest alphas have yet another VBR mode!


Could you tell me where to find more about this?

When should you use joint stereo over normal stereo?

Reply #15
Quote
When should you use joint stereo over normal stereo?

In terms of LAME, the joint-stereo mode will use both stereo and joint-stereo at its discretion. It's kind of a win-win situation over pure stereo or pure joint-stereo. (Can't speak of other MP3 encoders doing this the same.)
"Something bothering you, Mister Spock?"

When should you use joint stereo over normal stereo?

Reply #16
Quote
When should you use joint stereo over normal stereo?

In terms of LAME, the joint-stereo mode will use both stereo and joint-stereo at its discretion. It's kind of a win-win situation over pure stereo or pure joint-stereo. (Can't speak of other MP3 encoders doing this the same.)


If I'm not mistaken, what you meant to say is:

"In terms of LAME, the joint stereo mode will use both left/right stereo and middle/side stereo at its discretion. It's kind of a win-win situation over pure left/right stereo or pure middle/side stereo."

Joint stereo allows LAME to switch between L/R and M/S on a frame-by-frame basis. Frames are not encoded in "joint stereo mode", because joint stereo is just the name for the decision ability, not the content of the decisions.