Help - Search - Members - Calendar
Full Version: Downcoding mp3 CBR is worse then encoding directly
Hydrogenaudio Forums > Lossy Audio Compression > MP3 > MP3 - General
Alexxander
When I have a high rate CBR mp3 file encoded with Lame (for example 320 kbps) and I transcode it with Lame to a lower rate CBR mp3 file (for example 128 kbps) only some data is stripped off or actually all the information is reencoded?

In other words: do I get the same results when doing these two actions?
1. convert wav -> Mp3 CBR 320 kbps -> Mp3 CBR 128 kbps
2. convert wav -> Mp3 CBR 128 kbps

Or does step 1. result in a music file with more distortion?

For those who wonder the reason of this question: I want to avoid ripping again audio CDs, I have no wav files on hard disc. I have mp3 CBR 320 kbps music and want to put some music on a portable player without reripping.

Thx in advance.
Digga
QUOTE(Alexxander @ Nov 25 2004, 06:41 PM)
In other words: do I get the same results when doing these two actions?
1. convert wav -> Mp3 CBR 320 kbps -> Mp3 CBR 128 kbps
2. convert wav -> Mp3 CBR 128 kbps
no.
1. is called transcoding. search the forums.
QUOTE
For those who wonder the reason of this question: I want to avoid ripping again audio CDs, I have no wav files on hard disc. I have mp3 CBR 320 kbps music and want to put some music on a portable player without reripping.
if you use your portable in a noise surrounding, there's a good chance you won't hear the difference btw 1. and 2. ...depends on your hearing. use this only for this reason though, not for archiving.
Jojo
it also depends how the 320kbps files were encoded. for instance whether they use Joint Stereo or not (Joint Stereo is of course better than Stereo) --preset insane would be the best 320kbps setting. However, no matter what setting you used, there will always be a difference...so ripping it again from CD or a lossless source will give you best results.
Lyx
Transcoding downwards always means completely reencoding, which in turn means lower quality than if you encoded straight to the target-bitrate.

The only exceptions are:
- the source/target format is the same and supports "bitrate-peeling" (however, i don't know of any - vorbis "theoretically" supports it, but i dont think it was ever implemented)
- the source format is lossless

- Lyx

P.S.: Transcoding upwards of course is always stupid because it degrades quality while increasing filesize.
shadowking
Let me put it in a different way:

Wav: lossless

320k mp3: has noise + artifacts, but they are too low to perceive.

mp3 trascoded from mp3 = noise and artifacts added on top of noise and artifacts. Artifacts may become audiable.
Digga
QUOTE(shadowking @ Nov 26 2004, 03:32 PM)
320k mp3: has noise + artifacts, but they are too low to perceive.
...for most people on most samples.
XMyth
I can see why you asked this question because it's not clear at first that it is necessarily the case that going from 320kbps -> 128kbps is necessarily lower quality than CDDA -> 128kbps.

The reason one would think it MAY not make a difference is if in the MP3s if the encoder would somehow know where in the WAV the "lost" parts went and would know that it's already compressed it that much in those places and ot just additionally compress further till you achieve the desired lower bitrate..... I hope that was clear...anyhow, the compression doesn't work like that. I'm sure if you were thinking something as abstract as what I just posted then you can certainly think of other scenarios (without reading a technical writeup on MP3 unless you wish) of where the above situation wouldn't be possible....

However, I've got a question and I think/hope I already know the answer...


Everyone talked about "transcoding"....which, judging by LAME's command line settings it seems to be capable of that. Is transcoding better than not transcoding?

I mean, would this:

CDDA -> 192 MP3 ->(lame --mp3input) 128 MP3

provide better results than

CDDA -> 192 MP3 -> WAV -> 128 MP3

? With that switch, does LAME truly transcode (go directly from MP3 to MP3) or are you just telling LAME that it needs to convert the input MP3 to WAV before it encodes it to a 128kbps MP3?
beto
there's no difference between the two regarding downgrading quality. it's still transcoding AFAIK.
Jojo
QUOTE(XMyth @ Nov 26 2004, 01:30 PM)
I mean, would this:

CDDA -> 192 MP3 ->(lame --mp3input) 128 MP3

provide better results than

CDDA -> 192 MP3 -> WAV -> 128 MP3
*

no! It's the same.
dreamliner77
Yes it is... (Lame must decode the mp3 input to .wav, even if you don't "see" it)
indybrett
QUOTE(Alexxander @ Nov 25 2004, 12:41 PM)
In other words: do I get the same results when doing these two actions?
1. convert wav -> Mp3 CBR 320 kbps -> Mp3 CBR 128 kbps
2. convert wav -> Mp3 CBR 128 kbps
*


Step 1 is bad. Don't do it.

Do step 2.

If you need more clarification, search the forums on transcoding.
XMyth
Thanks digga, jojo and dreamliner.

My confusion stemmed from reading "transcoding" to mean going *DIRECTLY* from one format to another instead of the broader defintion here which is "going from one format to another". All is clear now, thanks.
SebastianG
QUOTE(XMyth @ Nov 26 2004, 01:30 PM)
I mean, would this:

CDDA -> 192 MP3 ->(lame --mp3input) 128 MP3

provide better results than

CDDA -> 192 MP3 -> WAV -> 128 MP3

?  With that switch, does LAME truly transcode (go directly from MP3 to MP3) or are you just telling LAME that it needs to convert the input MP3 to WAV before it encodes it to a 128kbps MP3?
*


There are 2 things that will decrade quality if you do it with the intermediate WAV state.
1) PCM samples have to be quantized to 16 bit (*) (which introduces quantization noise)
2) Due to the non-perfect reconstruction property of the PQMF filterbank the quality will be degraded while converting the subband samples to PCM samples and back again

AFAIK LAME circumvents 'problem 1' by computing with 32 bit float samples but I guess 'problem 2' is still present (although it does not have to).

However these artefacts (which get introduced by the two problems) are negligible compared to the quantization process within the encoder.

(* = it depends on your decoder.. Foobar can also produce 24 bit WAV files and LAME accepts those files. This way the quantization effect is negligible)


SebastianG
ssamadhi97
QUOTE(SebastianG @ Nov 28 2004, 01:17 PM)
(* = it depends on your decoder.. Foobar can also produce 24 bit WAV files and LAME accepts those files. This way the quantization effect is negligible)
*

(sort of OT, but: by default foobar w/ clienc pipes 24 bit pcm data directly into lame.exe rather than creating a temporary wav file anyway)
SebastianG
QUOTE(ssamadhi97 @ Nov 28 2004, 04:39 AM)
QUOTE(SebastianG @ Nov 28 2004, 01:17 PM)
(* = it depends on your decoder.. Foobar can also produce 24 bit WAV files and LAME accepts those files. This way the quantization effect is negligible)
*

(sort of OT, but: by default foobar w/ clienc pipes 24 bit pcm data directly into lame.exe rather than creating a temporary wav file anyway)
*


yes, thanks, I havn't thought of that... I referenced Foobar as a decoder. As such it enables you to create 24 bit wave files with its diskwriter.


SebastianG
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.