发新话题 reply
打印

推荐一个编码器LAME,做HIFI级MP3 (二)

四、压缩编码参数

  有了WAV就可以开始压缩MP3了,3.87版的LAME分DLL和EXE版。dll版不能直接执行,是提供给一些抓CD软件做外挂MP3编码程序的,这样LAME的压缩过程会简单很多(但我不推荐你用DLL版,EXE版一样可提供给lame的SHELL做MP3外挂程序)。而可直接执行的EXE版是我最常用的且编码质量也略好于DLL版,所以在这里做重点介绍。LAME.EXE是一个Command Line模式的程序,必需要在WINDOWS的MSDOS下运行,直接执行并不方便,你下一次指令只能够压缩一个MP3,而且因为其演算法十分复杂,使的压缩速度较慢,如想对设置有所改变的话也只能靠在执行命令后加不同的参数来实现。LAME的参数有好几十个之多,下面我就把最常用的参数给大家简单的介绍一下。

  LAME 基本命令行格式: lame [参数选项] <输入文件名> [<输出文件名>]

  1.CBR编码时的基本参数

  CBR是最常用的的MP3编码方式,其编码流量可在32kbps-320kbps中选择。一般来说,过去压MP3最常用的是128kbps,但我认为以128k编码的MP3流量实在是太小了,不足以保留高质量的声音,用来放随身听也许还不错,在电脑上听就不怎么样了。所以,如果你想做HIFI水准的MP3,我不推荐你用CBR模式,除非你用320Kbps(最高质量MP3)

  [-b] 指定编码流量。可以使用的流量如下:
  32 40 48 56 64 80 96 112 128 160 192 224 256 320
  不管你用哪一种流量大小,为了节省空间,LAME被判断为静音的部分,会自动采用最小的流量。

  [-h] 高品质编码模式,启动某些可以增进品质的运算,但是会降低一些速度(建议使用)。这个选项在 VBR 压缩模式中是预设开启的。

  [-f] 快速编码模式,但会降低品质(预设)。用了这个参数后,LAME的编码质量就和一般的编码器差不多了,但相应的编码速度要快上不少,做MP3网站的朋友也许需要用到这个参数。

  [-q] 指定频率资料量化时的精确度,范围也是为0-9,和前面的[-V]参数一样,数字越低质量越好。
推荐CBR编码最佳质量命令行:lame.exe -b320 -h -q0 (图三)



  图三

  2.VBR编码时的基本参数

  VBR编码是LAME做的最好的一部分,可为你提供最佳的音质/流量比,最最强烈推荐!一般来说,用最佳VBR编码时,平均流量在210kbps左右。

  [-V] 指定VBR的压缩品质,范围为0-9(数字越小品质越高),预设值为4。

  [-b] 指定流量变动的下限,预设为32Kbps。

  [-B] 指定流量变动的上限,预设为320Kbps。

  [-q] 见CBR编码参数

推荐VBR编码最佳质量命令行:lame.exe -V0 -q0

  3.ABR编码时的基本参数

  前面提到过,ABR是LAME独有的编码方式,可提供和CBR一样大小但音质更好,因为他是使用先进的VBR编码方式来压缩CBR。ABR和CBR一样,可指定平均流量大小。

  [--abr] 不指定品质,而指定想要的平均流量,LAME就会像编码VBR一样自动在不同时候使用不同的流量大小,但会把最终文件大小保持到你指定的大小,流量许可的范围是8-320,可以使用这个范围内的任一个整数。

  [-b] 见VBR编码参数

  [-B] 见VBR编码参数。

  我不建议你使用该参数,因为ABR和CBR一样,可以使用“Bit Reservoir”功能,一个CBR编码的128KbpsMP3,在某些时段可以使用到320Kbps来压缩。而VBR并不使用“Bit Reservoir”,因此需要允许使用320Kbps的流量上限才能达到与CBR相同的弹性。 (“Bit Reservoir”,這是一個MP3压缩规范中的功能,主要是在CBR编码和ABR编码中发挥作用。原理是:如果压缩程序在压缩某一段资料时,认为不必要使用指定的流量时(例如指定的是256Kbps而压缩程序认为此时使用192Kbps就够了),压缩程序就会把多出来的流量(在前面那个例子中就是256Kbps-192Kbps=64Kbps)放到 "Bit Reservoir" 中储存起来。若当后面的某段资料是大动态部分,指定的流量大小不足以满足压缩需要时,就可以从“Bit Reservoir”中提取储存的流量出来使用,使流量超过原本指定大小的限制。

  [-h] 见CBR编码参数

  [-q] 见VBR编码参数

推荐ABR编码最佳质量命令行:lame.exe --ABR 320 -h -q0

  4、此外还有一些共通的参数:

  [-m] 立体声压缩模式,分别有 [-ms] Stereo [-mj] Joint Stereo [-mf] Force ms_stereo [-mm] Mono
当使用VBR编码并把品质设为4-9和使用CBR编码流量小于160 Kbps时,预设为Joint Stereo。其余时候预设为 Stereo。

  Stereo: 单纯双声道立体声模式,在此种压缩模式中,LAME 将不会计算双声道之间的资料相关性,但是会协调分配双声道的资料流量,自动分配较多的流量给复杂的声道使用。
  Joint Stereo: 当压缩立体声文件时,LAME还会利用到左右声道之间可能出现的冗余来压缩。大部分立体声录音的左右声道都很相似,使用联合立体声编码可以大大减小文件的体积。这意味着在保持完美立体声效果的同时,文件体积可以变得更小。(话虽如此,但是我不建议你使用此参数,不为什么,就因为我听起来不如-ms好,但若你无需太好的品质和想要更小的体积,倒是可以加上此参数)
  Force: 强迫所有的 frame 全部使用 M/S Joint Stereo 编码,速度可以增快很多,但不建议使用。
  Mono: 单声道编码模式。

  [-t] 将LAME编码的MP3解码成Wav文件。

  [-k] 保留所有频率。

  LAME在编码时,为了把资料流量保留给最重要的频段,提高压缩出来的品质,LAME会自动随著所选用的流量指定高低通滤波器的数值。一般来说,小于196kbps的MP3充分应用了听觉遮罩原理而截除了一些16000HZ以上的不敏感频率(你不会听出来什么不同的,因为听觉遮罩在此时会发挥作用。简单来说,人的耳朵听不到与同频率较强音频信号一道的较弱音频信号。这种现象通常称作听觉遮罩,较强的信号盖住了较弱的信号。LAME在压缩时,首先分析一个声音文件的频谱,然后把它分成一系列的频带。频带中较弱的信号被区分开来并被量化,以减小用来替代原音频文件的数据的大小。因为被量化的那些频带位于同频率范围较强信号的“阴影”之下,所以量化过程中产生的噪声并不会被人耳所察觉。看起来很复杂是吧,那就举个简单易懂的例子,你在家里也许能听到钢针掉到地上的声音,但如果你是在汽车或火车上,你还能听到吗?你一定会说是汽车声把针掉地上的声音掩盖了,对了,这就是听觉遮罩原理的体现)。如果你是完美主义者,需要保留所有频率,就可以加这个参数来实现。但是!注意!如果你所设定的流量大小不足以保留全部频率,可能会造成无法预料的鸣响以及失真,请小心使用!

  比较重要的LAME参数就是上面这些了,当然LAME不止这几个参数,在短歌行有一篇LAME使用/参数说明表,上面有所有LAME参数的介绍,可上网的朋友可以去看一看。

五、外壳应用

  是不是感觉好复杂?呵呵,没关系,如果你不想用这些并不方便的DOS命令,就用LAME的SHELL程序(第三方外壳程序)好了,SHELL程序就是为一些不满用DLL版做抓CD软件的MP3外挂程序做出来的MP3质量而开发的可用EXE版做外挂的软件。 我所知的LAME的SHELL程序有三个,分别是Lamer1.0版 (图四)、RazorLame1.1版(图五)、以及WinLAMEr1.1版(图六)。三个软件大同小异,用过以后感觉WinLAMEr和RazorLame好用一些,下面就具体谈一谈这两个SHELL程序的使用。


  
图四



  图五

  RazorLame的界面简单明了,方便使用,要设定的地方也并不多;在 Options -> General 之中,指定 LAME.exe的位置,然后就可以在其他的页面调节各种压缩的参数。如果想试试一些实验性(尚未正式公布)的参数,或者懒得慢慢检查每一页的设定,可以直接在 Options -> Advanced 中把写好的参数填入 Custom Options 中,并选取 Only use custom options 即可。Options -> Advanced 里面,有一个 Delete source file after encoddddd 的选项,选取之后,编码完成的WAV文件会被自动删除,很是方便。需要注意的一点是,在Options -> audio processing中的OUTPUT SAMPLING FREQUENCY输出频率选项中一定要选定44.1KHZ,否则RazorLame就会以32Khz来输出从而使音质劣化。



  图六

  至于WinLAMEr,和RazorLame相比除了界面有所不同外,操作起来大同小异。在主界面中打开Add Wav FIile选定需要压缩的WAV文件后再选择LAME‘!!就可以压缩了。SETdddddS菜单中,各种设置选项一目了然,和RazorLame一样首先需要在LOCATION OF LAME.exe中指定 LAME.exe的位置。下面的选项分别的bitrate - CBR编码时的流量选择(32-320),OUTPUT - 立体声压缩模式选择(建议设为STEREO)。右面的SECONDARY SETdddddS就是对具体的品质做设置了,我建议你只勾选IMPROVED QUALITY(改良的压缩品质)和下面的PSYCHO ACOUSTICS(LAME的心理音响模型)这两项。压缩VBR和ABR的选项在下面的VARIABLE BITRATE SETdddddS中。其中的设置大家可以结合我上面的LAME参数表来选择,我就不多说了。

六、随想

  好了,LAME的具体应用也就写的差不多了,还有点篇幅,就谈谈在使用LAME后的一些感受吧。数码技术一日千里,发展的极为迅速。作为在上个世纪80年代就诞生了的MP3,在面对诸多21世纪的新数码格式如WMA,VQF,AAC(MP3的法定继承人),OGG等,依然能靠自身的技术更新而在技术和市场上广泛领先,实在是让人佩服不已。如今MP3在互联网和随身听上的广泛应用,使人不得不对它的明天更为看好。在PCHOME和ITPOWER,很多MD玩家一说到MP3就是垃圾音质,真是非常片面,在没有对一件事物完整的了解前就对它做出完全否定的意见,只能让人觉得是井底之蛙。其实如果真的要比压缩格式的优劣,MD所用的ATRAC是比不过MP3的,MD只不过是因为MD碟片容量大,回放质量好,实现最佳质量容易而领先MP3随身听。假如市面上出现SONY等随身听老厂出品的以8CM光盘为载体的可刻录MP3随身听,那MD的优势就大大的打折扣了,我想,从技术上来说,要实现这样的MP3随身听并不难,就看有厂商们会不会那么做了。至于LAME,到现在为止还在不停的修正和推出新版(LAME是由一大票业余软件者合作开发的),它倒底能做到怎样的程度,让人非常期待,中国也有那么高水平的业余软件者就好了。

  你还在等什么?赶快去体验LAME给你带来的这场MP3革命吧!相关软件请到这里下载。
http://www.audio100.com/cgi-bin/softbug/newsoft.cgi?user=softbug


转自短歌行,作者:S菜鸟
分享到:
学习 学习  楼主辛苦啦
发新话题