LAME是目前最好的MP3編碼引擎。LAME(mitiok.ma.cx)編碼出來的MP3音色純厚、空間寬廣、低音清晰、細節表現良好,它獨創的心理音響模型技術保證了CD音頻還原的真實性,配合VBR和ABR參數,音質幾乎可以媲美CD音頻,但文件體積卻非常小。對于一個免費引擎,LAME的優勢不言而喻。
VBR(Variable Bitrate)動態比特率。也就是沒有固定的比特率,壓縮軟件在壓縮時根據音頻數據即時確定使用什么比特率,這是以質量為前提兼顧文件大小的方式,推薦編碼模式;
ABR(Average Bitrate)平均比特率,是VBR的一種插值參數。LAME針對CBR不佳的文件體積比和VBR生成文件大小不定的特點獨創了這種編碼模式。ABR在指定的文件大小內,以每50幀(30幀約1秒)為一段,低頻和不敏感頻率使用相對低的流量,高頻和大動態表現時使用高流量,可以做為VBR和CBR的一種折衷選擇。
CBR(Constant Bitrate),常數比特率,指文件從頭到尾都是一種位速率。相對于VBR和ABR來講,它壓縮出來的文件體積很大,而且音質相對于VBR和ABR不會有明顯的提高。
比較受推崇的LAME版本主要有3.90.2和3.90.3兩個。3.90.2的推薦參數為:--alt-preset standard -Z,3.90.3的推薦參數則為:--alt-preset standard。以前大家最常用的--alt-preset extreme也是一個很好的選擇。用這三個參數編碼的MP3均為VBR、joint stero(聯合立體聲)格式,能夠取得容量與音質的最佳平衡點。如果想獲得最佳的音質,而不惜容量大小的話,則可使用--alt-preset insane參數。
————————————————————————————————
LAME 命令行格式: lame [選項] <輸入檔名> [<輸出檔名>]
檔案輸入選項
-r
指定輸入檔案是 Raw PCM 格式 (。PCM 檔案)。
-x
強迫來源檔案的位元組順序 (byte-order) 調換(壓縮跨平臺的檔案時使用)。
如果壓縮出來的檔案是雜音,可以試試看這一個選項。
-s sfreq
指定來源檔案的取樣頻率(單位為 KHz),預設為 44.1 KHz。
只有在輸入檔案為 PCM 格式時才需要使用,其余情形會自動從檔頭判斷。
--mp1nput
輸入的檔案是 MP1 格式(利用內建的 mpglib 解碼成 Wave 檔案,下同)。
--mp2input
輸入的檔案是 MP2 格式。
--mp3input
輸入的檔案是 MP3 格式。
--ogginput
輸入的檔案是 Ogg Vorbis 格式。
動作模式選項
-m mode
mode : (s) Stereo (j) Joint Stereo (f) Force ms_stereo (m) Mono
當使用的 VBR 品質為 4-9 或者 CBR <= 160 Kbps 時,預設為 Joint Stereo。
其余時則預設為 Stereo。
Stereo: 單純雙聲道立體聲模式,在此種壓縮模式中,LAME 將不會計算雙聲道之間的資料相關性,但是會協調分配雙聲道的資料流量,自動分配較多的 Bit 給復雜的聲道使用。
Joint Stereo: 在這個壓縮模式下,LAME 會利用雙聲道之間的資料相關性進行演算。左右聲道資料類似時,會利用 M/S (Mid/Side) 編碼技術,計算中央聲道 (L+R) 和兩側聲道差異 (L-R) 的值,并且會分配較多的 Bit 給中央聲道,增加資料記錄頻寬。
不當的使用 Joint Stereo 模式可以造成人耳可辨的壓縮失真,太多在 Stereo <-> Joint Stereo 之間的切換也不好聽。為了決定何時要在兩種模式之間切換,LAME 使用了比 ISO 文件復雜許多的演算法進行判別,因此可以放心使用 Joint Stereo 模式。
Force: 強迫所有的 frame 全部使用 M/S Joint Stereo 編碼,速度可以增快很多,但是不建議使用。
Mono: 單聲道編碼模式。
-a
將立體聲檔案混音成單聲道後編碼。
混音的演算法是將左右聲道加總後,衰減 6dB。
這個選項只有在輸入檔案為 PCM 格式時才需要,其他情形會從檔頭自動判斷。
要將立體聲的 PCM 檔案編碼成單聲道時,可以使用 "-m s -a",對於 WAV 或 AIFF 檔案,不管是立體聲或是單聲道輸入, 使用 "-m m" 都會編碼成單聲道模式。
-d
允許各聲道有不同的編碼區塊模式 (block type)
-S
不要印出執行進度和 VBR Bitrate 使用率圖表
--disptime seconds
每隔 seconds 秒印出一次執行進度
--ogg
編碼成 Ogg Vorbis 檔案
--freeformat
編碼成 Free-Format 格式的檔案。
下了此參數後,可以使用 -b 參數,指定壓縮成任何 8 以上的整數 Bitrate,但是大部分的 Player 均不支援這種格式的播放。
支援的 Player 列表:
FreeAmp: 440 Kbps max
in_mpg123: 560 Kbps max
l3dec: 310 Kbps max
LAME: 560 Kbps max
--decode
輸入 MPEG 或 OGG 檔案,解碼成 Wave 檔。
-t
解碼成 Wave 檔案時,不寫入檔頭資訊。
--comp arg
自動調整 Bitrate,盡量接近 arg 的壓縮百分比率。
--scale arg
將輸入的聲音資料,放大 arg 倍之後編碼。
--athonly
只使用 ATH (Absolute Threshold of Hearing) 作遮罩運算。
這個選項使 LAME 忽略掉心理音響學模型 (Psycho-acoustic Model) 的輸出結果,只采用絕對聽覺底限作壓縮的判斷。
在高 Bitrate 的情形下或許可以增進音質,或者是拿來進行實驗。
--noath
不使用 ATH 進行遮罩運算,只使用心理音響模型。
--athlower arg
將 ATH 的底限降低 arg dB
--raise-smr arg
0 <= arg <= 1
調節 SMR 參數。
--short
使用短區塊。
--noshort
不使用短區塊。
--voice
(實驗性)人聲編碼模式。
--preset type
type : phone, phon+, lw, mw-eu, mw-us, sw, fm, voice, radio, tape, hifi, cd, stereo
使用一些預設的編碼參數,可以輸入 --preset help 獲得詳細資料。
固定 Bitrate 模式 (CBR) 選項
-h
高品質模式,啟動某些可以增進品質的運算,但是會降低一些速度(建議使用)。
這個選項在 VBR 壓縮模式中是預設開啟的。
-f
快速模式,但會降低品質(預設)。
雜音成型 (Noise Shaping) 將會被關閉,但是心理音響模型還是會被用來計算 Bit 分配和 Pre-Echo 偵測。
-b bitrate
指定壓縮的 Bitrate。可以使用的 Bitrate 如下:
MPEG Layer 1 (32K, 44.1K, 48K): 32 40 48 56 64 80 96 112 128 160 192 224 256 320
MPEG Layer 2 (16K, 22.05K, 24K): 8 16 24 32 40 48 56 64 80 96 112 128 144 160
預設值 MPEG1 為 128Kbps,MPEG2 為 80Kbps。
不管做哪一種設定,為了節省空間,被判斷為靜音的部分,會自動采用最小的 Bitrate。
平均 Bitrate 模式 (ABR) 選項
--abr bitrate
不指定品質,而指定想要的平均 Bitrate,LAME 會自動使用不同的 frame 大小。 bitrate 許可的范圍是 4-310,可以使用這個范圍內的任一個整數。
同時可以使用 -b 和 -B 指定變動范圍的上下限,像是 lame --abr 123 -b 64 -B 192 a.wav a.mp3 將會限制可以使用的 frame 大小范圍在 64-192 Kbits 之間。
使用 -B 是不建議的。 一個 128Kbps 的 MP3 資料流,因為可以使用 Bit Reservoir,所以有一些 frame 其實可以使用到與 320Kbps frame 相同大小的空間。 VBR 并不使用 Bit Reservoir,因此需要允許使用 320Kbps 大小的 frame 才能達到與 CBR 相同的彈性。
可變 Bitrate 模式 (VBR) 選項
-v
使用 VBR 模式。
--vbr-old
使用舊的 VBR 壓縮演算法。
--vbr-new
使用新的 VBR 壓縮演算法(預設)。
-V quality
指定 VBR 的壓縮品質,范圍為 0-9 (數字越小品質越高),預設值為 4。
-b bitrate
指定 Bitrate 變動的下限,預設為 32 Kbps。
-B bitrate
指定 Bitrate 變動的上限,預設為 320 Kbps。
-F
強迫遵守 -b 的限制,適合無法解碼低 Bitrate 的 MP3 隨身聽使用。
不啟動這一個選項,當輸入為類比靜音(強度低於 ATH)時,將會忽略最低 Bitrate 的限制,使用壓縮格式中的最低 Bitrate。
-t
不寫入 Xing VBR 檔頭,會造成時間總長顯示不正確以及搜尋功能失效等問題。
--nohist
壓縮檔案時,不顯示 VBR Bitrate 使用率圖表。
MP3 檔頭/資料流選項
-c
標記檔案為有版權 (copyrighted)。
-o
標記檔案為非原始檔 (non-original)。
-p
錯誤保護,會在每個 frame 占用 16bit 進行 CRC 編碼(可能減損音質)。
--nores
不使用 Bit Reservoir 功能(會嚴重減損 CBR 音質)。
濾波器選項
-k
保留住所有頻率。
壓縮時,為了把資料流量保留給最重要的頻段,提高壓縮出來的品質,LAME 會自動隨著所選用的 Bitrate 指定高低通濾波器的數值。 如果把頻寬設定的比預設值還要大的話,可能會造成無法預期的鳴響以及失真,小心使用!
--lowpass freq
設定低通濾波器的起始點為 freq KHz
高於這個頻率的聲音會被截除。
--lowpass-width freq
設定低通濾波器的寬度,預設為 15% 的 --lowpass 頻率。
--highpass freq
設定高通濾波起始點為 freq KHz
低於這個頻率的聲音會被截除。
--highpass-width freq
設定高通濾波器的寬度,預設為 15% 的 --highpass 頻率。
--resample freq
輸出檔案的取樣頻率。
--cwlimit freq
計算音色到指定的頻率。
————————————————————————————————
LAME開發者精心調配出了-ap參數,它是一組代碼級參數(也就是說沒有微調參數可以實現與它相同的功能)。使用這種新的預置參數標準既可以壓縮出更高品質的MP3,又可以避免我們陷入微調參數的迷宮中:)
-ap 參數列表
最高品質參數:
--alt-preset insane或者--alt-preset cbr 320
320k CBR,音質最好,文件體積最大
VBR參數:
1.--alt-preset extreme
220-270k左右的VBR,音質與上面參數相仿,但文件體積小25%,推薦此參數
2.--alt-preset fast extreme
音質比上面參數稍微差一些
3.--alt-preset standard
180-220k左右的VBR,在音質和文件大小之間比較好的平衡
4.--alt-preset fast standard
音質比上面參數稍微差一些
5.--alt-preset standard -Y
雖然品質稍差,但文件體積非常小
ABR參數:
--alt-preset <Bitrate>
(可用Bitrate:80、96、112、128、160、192、224、256、320)
CBR參數:
--alt-preset cbr <Bitrate>
(可用Bitrate:80、96、112、128、160、192、224、256、320)
如果有較好的例如無損的音源,只是用來隨身聽聽
我基本上推薦這個參數
--alt-preset standard - %d
轉自:http://blog.csdn.net/piaopiaopiaopiaopiao/article/details/9099909