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: -k? (full bandwidth) (Read 14599 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

-k? (full bandwidth)

Reply #25
It surely would make more sense for the LAME developers to simply drop the -k switch from the stable/mainstream releases of LAME.

There is absolutely no reason to use the -k switch with a limited format such as MP3 and there is no sense continuing this discussion either.


I strongly disagree.  A switch that can be and is used for testing purposes being removed just because the general consensus is that it results in inferior quality overall?
(UDial cannot be properly encoded without -k  )

Downsampling a stereo signal to mono will reduce quality.  Why not drop support for downsampling to mono too?

Obviously I mean that very sarcastically.

The best course of action is simply to update the description of the switch in the help file that comes with most lame compiles, such that is CLEARLY STATES that it will merely disable all lowpass(or highpass) filtering, which in almost all cases results in worse quality.

The switch is there, and I enjoy having options.  Leave it as is.

-k? (full bandwidth)

Reply #26
Quote
A switch that can be and is used for testing purposes being removed

But we suggest this for non-testing builds!

However, I do agree with respect to your suggestion of updating LAME's documentation. That could really do with being done . . . simplifying and clarifying the process of using LAME, and hopefully educating n00bs and discouraging them from asking if adding every obscure and arcane switch will "1mpr0ve meh f1lessz!".

</rant>

-k? (full bandwidth)

Reply #27
The best course of action is simply to update the description of the switch in the help file that comes with most lame compiles, such that is CLEARLY STATES that it will merely disable all lowpass(or highpass) filtering, which in almost all cases results in worse quality.

It's done since several years. People simply don't read the doc.

-k? (full bandwidth)

Reply #28
Can an MP3 encoder feeded with a full bandwidth audio (i.e. -k switch) make a decision based on a given -V value whether to encode or not hi-frequency part of audio? Surely, full-bandwidth processing is an extra and in the most cases unnecessary work, but I'm just curious what are the other reasons (may the psychical model fail, etc.)?

-k? (full bandwidth)

Reply #29
Can an MP3 encoder feeded with a full bandwidth audio (i.e. -k switch) make a decision based on a given -V value whether to encode or not hi-frequency part of audio? Surely, full-bandwidth processing is an extra and in the most cases unnecessary work, but I'm just curious what are the other reasons (may the psychical model fail, etc.)?
I think this is closely related to the question I asked at the end of page 1, which seems to have been overlooked.

Mp3 encoders work by splitting the sound up into its frequency components, and throwing away the ones that won't be heard. Is the lowpass filtering in Lame done at this stage? Or is it a separate filter that's applied 1st?

Can anyone enlighten us?

-k? (full bandwidth)

Reply #30
It would make the most sense if it was lowpassed before anything else is done.

-k? (full bandwidth)

Reply #31
It would make the most sense if it was lowpassed before anything else is done.

OK, it's clear  . What is unclear is why may ringing artifacts occur with VBR and the -k option?

-k? (full bandwidth)

Reply #32
It would make the most sense if it was lowpassed before anything else is done.

If the lowpassing can be done at the next stage anyway, it doesn't make more sense, at least not for any obvious reason. If you know of a reason why it makes more sense please say, but really I am looking for an answer from someone who *knows* what it does.

-k? (full bandwidth)

Reply #33
The lowpass is not just a decorative thing. Disabling the lowpass is really disabling the lowpass.
It does not means that every high freq will survive, as there is still the adaptative quantization and the ATH is considered, but it will clearly decrease quality.

-k? (full bandwidth)

Reply #34
The lowpass is not just a decorative thing. Disabling the lowpass is really disabling the lowpass.
It does not means that every high freq will survive, as there is still the adaptative quantization and the ATH is considered, but it will clearly decrease quality.

I think that is relevant to Egor's question, but it doesn't answer mine.

My understanding of what Lame does is it splits the audio signal into it's component frequencies and throws out the ones that cannot be heard (using the ATH curves, and other stuff).

If it is doing that, is the lowpassing done as part of this split? i.e. are the frequency components above a certain level thrown away at this stage?

Or is the lowpassing done as a separate filter before hand? (and if so why?)

Please tell me if I am misunderstanding something.

-k? (full bandwidth)

Reply #35
Think: you have a loud drum hit gets cut to 13 kHz.
If you use masking from before lowpassing, you'll get ringing - the masking frequency went away.

Another case - you have a very quiet HF tick that gets lowpassed to 13 kHz.
It disappears entirely, but ATH still thinks there's some quiet sound and PE estimator ups allocated bits.

-k also disables the highpass filter, possibly encoding useless very low frequencies and DC noise.
ruxvilti'a

-k? (full bandwidth)

Reply #36
My understanding of what Lame does is it splits the audio signal into it's component frequencies and throws out the ones that cannot be heard (using the ATH curves, and other stuff).

If it is doing that, is the lowpassing done as part of this split? i.e. are the frequency components above a certain level thrown away at this stage?

Or is the lowpassing done as a separate filter before hand? (and if so why?)


Lame, as most encoders, is mostly not removing parts of the frequency spectrum, but decreasing precision in some frequency bands. The only hard-removed freqs are at the lowpass stage.
Our lowpass is done before quantization, otherwise it's hard to have a transition band...