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: A Way to tell if a track is in mono? (Read 27444 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

A Way to tell if a track is in mono?

Reply #25
I've seen a lot of mono releases nowadays use different noise shapers in both channels. This will fail any bit-comparison mono test, although one could argue the sound quality of such a scheme is superior to bit-exact tracks.

A channel subtract should identify these tracks as having a very constant noise-shaped difference signal, probably no higher than -60 to -70dbFS, and not varying in spectral content. An averaged spectral comparison between the two channels ought to work too (should come out to some ridiculously low spot deviation between the two channels, like +-0.01db).

A Way to tell if a track is in mono?

Reply #26
Even without using Audacity or Audition, if one is encoding a mono file using LAME.exe, it can be seen as ~100% MS in the DOS window, when on the default joint stereo mode.

The benefit can be seen when encoding using VBR, as greynol posted earlier.  No need to downmix to mono when using default JS, but no improvement in bitrate on CBR 320.

I have "The Beatles - 1" and "Elvis Presley - 30 #1 Hits" CDs with several mono tracks, and encoded them to my favorite -V2 setting with no need to downmix the wav file to mono before encoding.  LAME VBR is intelligent enough to determine the bitrate computation for two identical channels from the CD.
"Listen to me...
Never take unsolicited advice..."

A Way to tell if a track is in mono?

Reply #27
I've seen a lot of mono releases nowadays use different noise shapers in both channels. This will fail any bit-comparison mono test, although one could argue the sound quality of such a scheme is superior to bit-exact tracks.

Could you do so? I don't understand why such a method would be superior to bit exact tracks...

Quote from: Rio link=msg=6657082 date=
...no improvement in bitrate on CBR 320.

Strange, isn't it?

LAME VBR is intelligent enough to determine the bitrate computation for two identical channels from the CD.

Just because that's always told it isn't necessarily true: as I have shown, the jont stereo mode bitrate for two identical channels is ~20% higher than of the mono mode. IMHO that's quite a difference.

A Way to tell if a track is in mono?

Reply #28
Just because that's always told it isn't necessarily true: as I have shown, the jont stereo mode bitrate for two identical channels is ~20% higher than of the mono mode. IMHO that's quite a difference.
Ah, but which is "correct"?

btw, Gabriel explained that it's because mono is processed as-is, while the sum channel is L+R/sqrt(2) - so in stereo mode the whole signal looks 1.4x louder, which affects the ath processing, hence more bits are used.

I've got to say it one more time: which is "correct"?

Cheers,
David.

A Way to tell if a track is in mono?

Reply #29
Thanks guys for making my life much easier! You guys are awesome thanks for the knowledge

A Way to tell if a track is in mono?

Reply #30
Could you do so? I don't understand why such a method would be superior to bit exact tracks...
Because encoding a high-res mono source to two noise-shaped 16-bit channels is (more or less) equivalent to a single 17-bit noise-shaped channel. Assuming you do the downmix properly, you're getting 6db for free.

A Way to tell if a track is in mono?

Reply #31
btw, Gabriel explained that it's because mono is processed as-is, while the sum channel is L+R/sqrt(2) - so in stereo mode the whole signal looks 1.4x louder, which affects the ath processing, hence more bits are used.

Hmmm... Doesn't that introduce the danger of clipping? Applying replaygain will fix it, but does that mean that we should NOT be recommending in general to encode mono material as JS stereo?

A Way to tell if a track is in mono?

Reply #32
Could you do so? I don't understand why such a method would be superior to bit exact tracks...
Because encoding a high-res mono source to two noise-shaped 16-bit channels is (more or less) equivalent to a single 17-bit noise-shaped channel. Assuming you do the downmix properly, you're getting 6db for free.

But can you count on the playback system to sum these as a "virtual single-channel 17-bit system"?

I would be worried about listeners actually hearing left-right differences, or even worse, people using surround-systems where the difference-channel is routed to the surround speakers.

-k

A Way to tell if a track is in mono?

Reply #33
Ah, but which is "correct"?

I'd say it's "correct" if the targeted VBR quality level is the same as for real stereo content. Either the joint stereo bitrate on mono content is too high or the mono bitrate is too low... from Gabriels explanation I guess it's the former.

Because encoding a high-res mono source to two noise-shaped 16-bit channels is (more or less) equivalent to a single 17-bit noise-shaped channel.

Ok, got it. Now please show me a 50s master tape with a dynamic range above 96db 

A Way to tell if a track is in mono?

Reply #34
@northpack: i stated no improvement over CBR 320 for mono tracks. would you suggest to the OP to encode using CBR 160-192 -mm just to decrease bitrate?

while there is the obvious increase in bitrate for VBR JS vs Mono encoding, what i mean by LAME intelligently computes bitrate is that it would bring it down compared to a dual stereo track.  what is 20% increase in bitrate than to worry about which tracks to downsample to mono? Taking such additional step, i believe, is not equitable to the bloat in bitrate.
"Listen to me...
Never take unsolicited advice..."

A Way to tell if a track is in mono?

Reply #35
btw, Gabriel explained that it's because mono is processed as-is, while the sum channel is L+R/sqrt(2) - so in stereo mode the whole signal looks 1.4x louder, which affects the ath processing, hence more bits are used.

Hmmm... Doesn't that introduce the danger of clipping? Applying replaygain will fix it, but does that mean that we should NOT be recommending in general to encode mono material as JS stereo?
No, it doesn't mean that at all. That's the internal representation. The output is L and R, and L=(M+S)/sqrt(2) - so you get back the same level you started with. mp3s never clip internally* - there's bucket loads of headroom.

* - unless you abuse mp3gain to introduce many tens of dB above digital full scale - and even then, it's not actually clipping you get.

Cheers,
David.

A Way to tell if a track is in mono?

Reply #36
Ah, but which is "correct"?

I'd say it's "correct" if the targeted VBR quality level is the same as for real stereo content. Either the joint stereo bitrate on mono content is too high or the mono bitrate is too low... from Gabriels explanation I guess it's the former.
I put the smiley because whichever answer you gave, I can argue against it.

e.g.

the mono threshold must be correct - because the stereo threshold implicitly takes account of binaural unmasking which can't happen with a 100% mono recording - so it's right that true mono can have 3dB more noise and still be encoded transparently.

or...

the stereo threshold must be correct - because otherwise if you take a mono track and pan it fractionally left, it's still the same music, but supposedly we need a 3dB lower noise floor to encode it transparently?! And if you take a stereo track and progressively narrow the stereo separation, there's apparently a moment between almost mono and really mono where the noise floor for transparent encoding jumps 3dB!? This makes no sense. Therefore the truth must be that the tunings for stereo are correct, and are still correct when the stereo content happens to be mono. The "stereo" tunings are just re-used in mono (single channel) mode, but without the scale factor that was used during the tuning and testing of stereo, and so are 3dB wrong.

Take your pick! I remain on the fence as to which is "correct"... but encoding mono as joint stereo (unless it's something that needs proper audio restoration) is easier - no point checking that tracks are really mono just to save some bitrate that might theoretically be needed anyway!

YMMV - I think the single channel mono encoding sounds fine too. I just don't see the point of encoding CDs that way.

Cheers,
David.

A Way to tell if a track is in mono?

Reply #37
If it is mono then it should null out of you convert the file to a stereo file, reverse polarity on one the two channels and then sum them together to a mono track again. Correct me if I'm wrong. Regards

A Way to tell if a track is in mono?

Reply #38
If it is mono then it should null out of you convert the file to a stereo file, reverse polarity on one the two channels and then sum them together to a mono track again. Correct me if I'm wrong. Regards

You're right, though there's no need to convert to stereo since tracks ripped from CD are always two channel.  You might want to re-read this discussion since we went over this already.

A Way to tell if a track is in mono?

Reply #39
There's really no need to worry about that with regards to encoding to mp3 as joint-stereo will take care of this with a minimal increase in size.
As greynol said, there is no reason to encode your mp3 as mono if you are using VBR encoding (which I hope you are). If you encode to VBR with joint stereo then your file will be essntially the same size as a mono VBR file, and will have the same quality.
Encode mono (both channels the same) CDs as joint stereo, just like stereo CDs. By making the mono tracks really mono, you'll save a little space, but ...

more than 20%


A Way to tell if a track is in mono?

Reply #40
I remember that discussion. Nowhere does it say anything about a 20% increase in size, however.

That's from my experience.


Greynol, I think you can find this information here.

Quote from:  link=msg=0 date=0
For truly mono content, use -m m, which will automatically down
sample your input file to mono.  This will produce 30% better results
over -m j.

A Way to tell if a track is in mono?

Reply #41
I don't think that bumping 1- or 4-year old threads is very useful.

A Way to tell if a track is in mono?

Reply #42
It is not useful when the situation has changed, but this is not the case as the quoted information from sourceforge is current, as of 29 june 2010 and my testings you linked to have been made with the newest version of lame (3.98.4, released march 2010) and the problem is still there.

There is no use starting a new thread when the exact same discussion is already here on the forum and doesn't need to be repeated. You don't need 100 threads on the same topic. That's what the search function is for (which users are conveniently admonished for not using when older threads DO exist on the same topic).

And it's good that the answer is here for future reference (for other forum users and google searchers).

Besides, this discussion is off-topic and we should leave moderation to the moderators.

 

A Way to tell if a track is in mono?

Reply #43
There is no use starting a new thread when the exact same discussion is already here on the forum and doesn't need to be repeated. You don't need 100 threads on the same topic. That's what the search function is for (which users are conveniently admonished for not using when older threads do exist on the same topic).

Then why did you start a new thread?

This is a rhetorical question in order to point out the irony.  I thank you for the correction you gave earlier.

The discussion will be closing now.