Help - Search - Members - Calendar
Full Version: restrictions for bitrate/frequency combinations ?
Hydrogenaudio Forums > Lossy Audio Compression > MP3 > MP3 - Tech
chrizoo
There is one point, I never really understood .... why do most (all?) mp3 encoders restrict the bitrate/frequency combinations ?
Example:
http://onlinehelp.avs4you.com/Appendix/Fil...mbinations.aspx

Why can't I encode 44100 Hz stereo at a bitrate of 96 kbps for example ??
stephanV
Erm, you can.
chrizoo
Not according to the table I linked to above.
My lame converters don't let me either ...

This was just an example anyway. You can replace 96 kbps with 80 or 64 in my OP.
stephanV
QUOTE (chrizoo @ Oct 19 2009, 10:20) *
Not according to the table I linked to above.
My lame converters don't let me either ...

This was just an example anyway. You can replace 96 kbps with 80 or 64 in my OP.

Here
CODE
lame -b 64 --resample 44.1

works fine.

If you really should want to do this is another question.
pdq
QUOTE (chrizoo @ Oct 19 2009, 03:05) *
There is one point, I never really understood .... why do most (all?) mp3 encoders restrict the bitrate/frequency combinations ?
Example:
http://onlinehelp.avs4you.com/Appendix/Fil...mbinations.aspx

Why can't I encode 44100 Hz stereo at a bitrate of 96 kbps for example ??

The table that you linked to is highly misleading, if not outright wrong, and should probably be disregarded.
rpp3po
QUOTE (chrizoo @ Oct 19 2009, 09:05) *
Why can't I encode 44100 Hz stereo at a bitrate of 96 kbps for example ??


That restriction is there to protect users from their own ignorance. What sane use case would require what you are asking for?
pdq
QUOTE (rpp3po @ Oct 19 2009, 08:54) *
QUOTE (chrizoo @ Oct 19 2009, 09:05) *
Why can't I encode 44100 Hz stereo at a bitrate of 96 kbps for example ??


That restriction is there to protect users from their own ignorance. What sane use case would require what you are asking for?

Encoding mono (or nearly mono) material with joint stereo would be a valid use case. Of course, in addition to specifying the bitrate, you should also force a higher lowpass frequency, else the higher bitrate would be wasted.
chrizoo
QUOTE (stephanV @ Oct 19 2009, 08:43) *
CODE
lame -b 64 --resample 44.1

Many thanks!!

I'm just a bit worried about the resampling parameter. If my source is already in 44.1 won't there be any resampling at all?
And how can I be sure about that?
I know, it's a very bad comparison, but just for the sake of argument: If you have a 128 kbps mp3 file, you can re-encode it a *second* time to 128 kpbs, so I'm a bit worried, that this forced resample parameter would force resampling even if the frequency matches the source.
chrizoo
QUOTE (pdq @ Oct 19 2009, 12:25) *
The table that you linked to is highly misleading, if not outright wrong, and should probably be disregarded.

Why so? I have seen *lots* of tables like this on the Internet. Hm ... I guess those tables reflect the predefined settings the encoder defaults to rather than a complete impossibility to combine those frequency/bitrate parameter combinations, right ?
chrizoo
QUOTE (rpp3po @ Oct 19 2009, 12:54) *
QUOTE (chrizoo @ Oct 19 2009, 09:05) *
Why can't I encode 44100 Hz stereo at a bitrate of 96 kbps for example ??

That restriction is there to protect users from their own ignorance. What sane use case would require what you are asking for?


I'm sorry to say this to a developper (who - as such - certainly has a lot of experience), but when you imply that users resorting to these settings are "ignorant" and "insane", you should be a little more tolerant in my view. And on top of that, audio quality is subjective.

I, for one, do find that 44.1/96 sounds better than 32/96.
chrizoo
QUOTE (pdq @ Oct 19 2009, 13:17) *
Of course, in addition to specifying the bitrate, you should also force a higher lowpass frequency, else the higher bitrate would be wasted.

Good idea, thank you. Would you, by any chance, know about a table specifying the lowpass frequencies lame defaults to at given bitrates (and/or other params) ?
Mike Giacomelli
QUOTE (chrizoo @ Oct 19 2009, 11:53) *
QUOTE (pdq @ Oct 19 2009, 12:25) *
The table that you linked to is highly misleading, if not outright wrong, and should probably be disregarded.

Why so? I have seen *lots* of tables like this on the Internet.



QUOTE
lame -b 64 --resample 44.1


Because of the code in the second quote I just posted.

QUOTE (chrizoo @ Oct 19 2009, 11:53) *
I'm just a bit worried about the resampling parameter. If my source is already in 44.1 won't there be any resampling at all?


Its an example meant to prove a point. Obviously using that with 44.1kHz audio makes no sense.

QUOTE (chrizoo @ Oct 19 2009, 11:53) *
Would you, by any chance, know about a table specifying the lowpass frequencies lame defaults to at given bitrates (and/or other params) ?


http://wiki.hydrogenaudio.org/index.php?ti...cal_information
pdq
QUOTE (chrizoo @ Oct 19 2009, 11:49) *
I'm just a bit worried about the resampling parameter. If my source is already in 44.1 won't there be any resampling at all?
And how can I be sure about that?
I know, it's a very bad comparison, but just for the sake of argument: If you have a 128 kbps mp3 file, you can re-encode it a *second* time to 128 kpbs, so I'm a bit worried, that this forced resample parameter would force resampling even if the frequency matches the source.

If you specify --resample with the same sample rate as the source, lame simply takes that as a requirement to NOT change the sample rate. There is no resampling, and the file will only be encoded once.
chrizoo
QUOTE (Mike Giacomelli @ Oct 19 2009, 17:24) *
Because of the code in the second quote I just posted.

Right!

QUOTE
Obviously using that with 44.1kHz audio makes no sense.

Sure it does make sense, because without using it, it won't stay at 44.1 (in this case).

QUOTE

excellent, thank you!!
sld
QUOTE (chrizoo @ Oct 20 2009, 00:17) *
I, for one, do find that 44.1/96 sounds better than 32/96.

I'm not here to flash you the TOS#8, but am wondering if your end-goal is "quality as close as possible to the original source". It is quite easy to create files that sound better. It seems, then, that you prefer having some frequencies above 16 kHz with additional artifacting below it to having no frequencies above 16 kHz but with relatively less artifacting below it.
chrizoo
QUOTE (pdq @ Oct 19 2009, 17:32) *
QUOTE (chrizoo @ Oct 19 2009, 11:49) *
I'm just a bit worried about the resampling parameter. If my source is already in 44.1 won't there be any resampling at all?
And how can I be sure about that?
I know, it's a very bad comparison, but just for the sake of argument: If you have a 128 kbps mp3 file, you can re-encode it a *second* time to 128 kpbs, so I'm a bit worried, that this forced resample parameter would force resampling even if the frequency matches the source.

If you specify --resample with the same sample rate as the source, lame simply takes that as a requirement to NOT change the sample rate. There is no resampling, and the file will only be encoded once.


Very attentive and logical explanation, helping me a lot, thank you!
chrizoo
QUOTE (sld @ Oct 19 2009, 17:39) *
QUOTE (chrizoo @ Oct 20 2009, 00:17) *
I, for one, do find that 44.1/96 sounds better than 32/96.

[...] It is quite easy to create files that sound better. It seems, then, that you prefer having some frequencies above 16 kHz with additional artifacting below it to having no frequencies above 16 kHz but with relatively less artifacting below it.

That's a very good analysis of yours.

But, to be honest, I'm ashamed to say that at the moment I'm in the middle of figuring out that there must have been some inadequacies in my encodings. Because I compared the results again and find them virtually identical (I don't have a good aural sense), and 44.1/96 certainly does not sound any better than 32/96 to me anymore.

I don't know what went wrong beforehand, but whenever I had to encode something to less than 44.1 kHz the sound was extremely dull/muffled (don't know the correct term in English), as if at least the upper 50% of the audible spectrum were cut off ...
That's why I wanted to avoid anything <44.1 kHz at all costs !!

I don't know where this error could have come from, as I was using lame (most recent versions) and never had any custom parameters ...

QUOTE
am wondering if your end-goal is "quality as close as possible to the original source"

well, that's everyone's goal, I guess (if you leave aside the quality/filesize trade-off)
but other than that my goal was rather to avoid this horrible upper frequency loss at <44.1 kHz (which now seems to have been the result of some error)
pdq
I'm not sure why you would have picked such a low bitrate as 96 kbps, as you are pretty much guaranteed to end up with artefacts or loss of high frequencies or both, but if you really need to then you are better off with either VBR or ABR instead of CBR. Either one should give you noticeably better quality at that bitrate. I recommend that you do some listening tests for yourself.
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-2009 Invision Power Services, Inc.