QUOTE(uart @ May 20 2007, 00:56)

Interesting. Tell me buzzy, how did you measure the "lowpass-width" to tell that those last two were the same? Or did you mean that they were litereally the same in terms of a binary file compare?
To be honest, I just looked at the byte size, as the odds of it being exactly the same seemed very unlikely given the complexity of an encode. But I just did a file compare, too, to confirm that they were identical. The key point, again, is that it's not clear what arguments these switches can take, so it's good to test them to be sure they are doing what was intended.
UPDATE - I've had to revise what I posted here, this is my current guess (!):
--lowpass-width switch syntax/arguments It seems that
lowpass-width might interpret inputs as a % of the lowpass frequency, rather than as a khz number. For example, --lowpass-width 10 creates a width of 10% of the lowpass frequency. (So some of the seemingly unusual things noted above in this thread are understandable, such as why lowpass-widths of .5 or 1 get rounded to the same result because it's interpreted as 1%.)
It seems to accept various integer values - I've tried it with 1, 2, 3, 5, 10, 15, and 20, and the resulting variations in file size seem to indicate that it's working as expected. Not everything worked - 25 seemed to give the same result as 20 for lowpass 19. I didn't try any decimals (such as 7.5), no real point in that.
This part of the longhelp is a little misleading, if you ask me:
--lowpass-width <freq> frequency(kHz) - default 15% of lowpass freq
Something more like this would be more useful:
--lowpass-width <number> % of lowpass frequency - default 15 (%)
Though I'm not sure when the default kicks in, and I wouldn't rely on it.
What may be most interesting is that if you use lowpass without the width switch, you get a width of zero, not the supposed 15% default. See the illustration below - the no width example.
How --lowpass-width works (?!)Lowpath width seems to create a band below the frequency set with the --lowpass switch, over which the sound is phased in.
It seems to provide a way to have a less dramatic cutoff than the typical lowpass would have.
So, for example, instead of having a sharp cutoff at 16khz, you might use a lowpass of 17khz and a lowpass-width of 6% to have something of a phased transition from 16 to 17.
See the illustrations below.
How it's best used in practice is an open question.
IllustrationsHere's an illustration of an original wav file and several decoded wav files from various encodes. The encoded files were -V 0 --vbr-new --lowpass 19 encodes (the high lowpass of that preset gives a little more room to play around with the spectral graphs). The various graphs show the same four seconds of music for:
- the original wav file
- a -V 0 --lowpass 19 encode with no --lowpass-width - it's a fairly sharp cutoff
- the same with --lowpass-width of 1 - not much effect, though maybe the surprise is that there's clearly some effect even at such a low number
- --lowpass-width of 10
- --lowpass-width of 20
A couple things to note -
- the peaks in the lower graph do correspond to the peaks in the original, which seems intuitively a good thing
- as you might guess, the corresponding file sizes get smaller as you move down the graph.
Again, the most surprising thing perhaps is that it seems that when the lowpass switch is used without the width switch, there is no width, not the supposed default of 15%.
The other curious thing that seems to be happening is that it's affecting the frequencies well below where it should - compare the bottom 2-3 graphs in the lower part of what's shown. For example, if the width is a %, even at 20% x 19 = 3.8 khz - then you'd think it wouldn't be affecting the frequencies below 15k at the left side - but it seems to be.
My first reaction is - Why not just document this a little bit and save everybody a lot of time? My second reaction is - given that it's not clear enough what lowpass-width is doing, it may be something that's not very usable in practice.
I'll leave more detailed interpretation for later posts or for others to add.