星期二, 九月 12, 2006

关于Lame 的参数 -q

-q 这个参数的确是跟质量有关的,但跟音质是没有必然的正比关系,007 的例证也多多少少说明了这个问题。在Lame 的命令行帮助里(Lame --longhelp),显示的相关信息如下:

Noise shaping & psycho acoustic algorithms:
-q = 0...9. Default -q 5
-q 0: Highest quality, very slow
-q 9: Poor quality, but fast
-h Same as -q 2. Recommended.
-f Same as -q 7. Fast, ok quality
可见,-q 是跟Noise shaping 和算法(准确的来讲是huffman encoding)有关的,不可否认,这这多多少少影响到音质的好坏。

现在再来看下官方的文档是如何: ^_^

==================================================
algorithm quality selection
==================================================
-q n

Bitrate is of course the main influence on quality. The higher the
bitrate, the higher the quality. But for a given bitrate,
we have a choice of algorithms to determine the best
scalefactors and huffman encoding (noise shaping).

-q 0: use slowest & best possible version of all algorithms.

-q 2: recommended. Same as -h. -q 0 and -q 1 are slow and
may not produce significantly higher quality.

-q 5: default value. Good speed, reasonable quality

-q 7: same as -f. Very fast, ok quality. (psycho acoustics are
used for pre-echo & M/S, but no noise shaping is done.

-q 9: disables almost all algorithms including psy-model. poor quality.

从上面红色的文字可见,0 和1 并不一定会产生出最高的质量。

在HydrogenAudio 论坛里也见到过相关的帖子,主要是关于-q0、-q1、-q2、-q3 的问题。在他们的意见里,-q0 和-q1 都是不建议的,因为可能会使压出来的MP3 产生一个明显的噪声(他们那里称之为Ringing),这个问题好像会发生在Lame 3.97 或者更高的版本中。对于High Bitrates 的MP3,他们的建议是用-q3 或者-q2(但似乎-q2 有时也会产生那种噪声)。

其实-q 产生的区别主要是在20kHz以上的频段里,那些已经是人听不到的频率了(当然,听不到并不代表感觉不到,但也见仁见智了 ^_^),对这段频率是否保留,我是持保留态度的——但如果是制作320k MP3的话,当然是鼓励保留的,因为在这Lame 极限频率下,增加这频段也不会增大文件的大小 ^_^

相关的帖子链接:http://www.besgold.com/bbs/viewthread.php?tid=42832&page=1&extra=page%3D1#pid1533345

没有评论: