Lame爲一款mp3編碼軟件,可以實現.wav文件轉換爲.mp3格式的文件。該軟件支持編解碼。
% lame [參數] <輸入文件名>[<輸出文件名>]
如需查詢更多參數,可輸入下列命令:
# lame --longhelp
=======================================================================
固定碼率的例子:
=======================================================================
固定碼率聯合立體聲 128kbps編碼:
% lame sample.wav sample.mp3
固定碼率聯合立體聲 128kbps編碼,較高質量:(推薦)
% lame -h sample.wav sample.mp3
快速編碼,較低質量(無噪音修整)
% lame -f sample.wav sample.mp3
=======================================================================
動態比特率的例子:
=======================================================================
LAME具有兩種動態比特率編碼:ABR和VBR。
ABR(平均碼率)是一種動態比特率編碼。其他MP3編碼器、Vorbis和ACC經常使用這種編碼。其碼率由一些度量所決定(比如,信息源中可感知的平均信息量、或者僅爲編碼表中某些設定參數所必需的碼率),而不是基於實際上編碼/量化誤差的計算值。ABR編碼質量至少不會比CBR編碼質量差,甚至要比CBR編碼質量好:
ABR: (--abr <x>
表示在x kbps附近取一個平均碼率進行編碼。)
lame -h --abr 128 sample.wav sample.mp3
VBR(可變碼率)是真正的動態比特率形式。在此形式下,每幀的編碼都會先以推測的允許遮蔽運算爲基準,對量化誤差進行修正。然後,再根據修正後的量化誤差決定該幀的碼率。目前,正在大規模開發VBR。
在過度壓縮的情況下,VBR編碼得到的音頻會出現問題,所以,VBR編碼的碼率不得低於112kbps。以下代碼將會在那些難編碼的幀中,使LAME提升其編碼碼率,但是也會導致在易編碼的幀中,使LAME不會優化其編碼碼率:
可變碼率(VBR):(使用-V以調整質量/文件大小)
% lame -h -v -b 112 sample.wav sample.mp3
=======================================================================
低碼率
=======================================================================
在較低碼率,(比如每聲道24kbps),推薦使用與低通濾波相結合的16kHz採樣率。與其它商業編碼器一樣,LAME會自動採用上述方式編碼。但是,如果覺得低通濾波太多(或者不夠),則需要試着調整低通濾波的裁取值以及通頻帶的寬度(通過使用--resample,--lowpass和--lowpass-width等參數)。
=======================================================================
流媒體
=======================================================================
% cat 輸入檔名 | lame [參數] - - >
輸出
=======================================================================
包含的腳本(在'misc'子目錄中)
使用lame編碼多個文件:
bach腳本:mlame
運行"mlame -?"以查看其用法說明。
sh腳本:auenc 運行auenc以查看其用法說明。
sh腳本:mugeco.sh
Pearl腳本可重編碼mp3文件和保存id3標籤:
lameid3.pl
Windows腳本:
lame4dos.bat
Lame.vbs (以及一個HTML前端:LameGUI.html)
=======================================================================
參數指南:
=======================================================================
下面將對編碼參數進行詳細解說。
編碼質量相關參數:
-m m/s/j/f/a 選擇模式
-k 禁止所有濾波
-d 允許使用編碼區塊模式區分不同的聲道
--athonly 忽略psy模式輸出,僅使用來自ATH的遮蔽運算。
--voice (作廢參數,使用--preset voice代替)
--noshort 不使用短區塊
-q n 內部的算法質量設定 0-9
0 = 最慢的算法,但是可能會提供最高的質量
9 = 最快的算法,質量低下
-h 等同於 -q2
-f 等同於 -q7
固定碼率(CBR)
-b n 設定碼率(8,16,24,……,320)
--freeformat 編碼成Free-Format
格式的檔案。
可變碼率(VBR)
-v VBR
--vbr-old 使用舊的可變碼率(VBR)壓縮算法(默認)
--vbr-new 使用新的可變碼率(VBR)壓縮算法
-V n 指定VBR編碼質量(0=最高質量,9=最低質量)
-b n 指定碼率變動下限(8,16,24,……,320)
-B n 指定碼率變動上限(8,16,24,……,320)
-F 限定最低碼率
-t 禁止寫入含VBR信息的標籤
--nohist 禁止顯示VBR碼率柱狀圖
--abr n 指定想要的平均碼率
實驗性參數(不推薦):可能會使輸出音質變得更好,也可能會變得更差:
-X n 使用不同的質量算法(在比較量化的時候)
-Y
-Z
操作上的參數:
-r 指定輸入文件爲raw PCM格式
-s n 以kHz爲單位,指定輸入文件的採樣率(適用於輸入文件爲raw PCM格式的情況)
--resample n 以kHz爲單位,指定輸出文件的採樣率
--mp3input 輸入文件爲MP3文件。使用mpglib/mpg123解碼
--ogginput 輸入文件爲Ogg Vorbis文件。使用libvorbis解碼
-x 輸入文件的交換字節
--scale <arg> 將PCM輸入放大<arg>倍
--scale-l <arg> 以<arg>爲倍數放大0聲道(左)輸入(放大PCM數據)
--scale-r <arg> 以<arg>爲倍數放大1聲道(右)輸入(放大PCM數據)
-a 將立體聲輸入文件混音爲單聲道MP3文件
-e n/5/c 去加重
-p 添加CRC錯誤保護
-c 將編碼得到的文件標記爲受版權保護的
-o 將編碼得到的文件標記爲拷貝
-S 不顯示進程報告和VBR柱形圖
--strictly-enforce-ISO 嚴格遵守ISO MPEG規格
--replaygain-fast 快速計算RG值,但是會有些許錯誤(默認)
--replaygain-accurate 更精確地計算RG值並找出採樣的峯值
--noreplaygain 禁止分析回放增益
--clipdetect 允許執行--replaygain-accurate,並顯示編碼中是否出現削波和整個數值範圍的波形如何
--decode 指定輸入文件爲MP3文件,並將其解碼爲wav
-t 當使用--decode時,禁止寫入WAV文件頭
(解碼爲raw pcm格式,原生endian格式(使用-x以交換))
--ogg 使用Ogg Vorbis(.ogg)編碼,而不是MP3編碼
ID3標籤:
--tt <title> 音頻/歌曲標題(在id3v1中,此標籤最多爲30字符)
--ta <artist> 音頻/歌曲藝術家(在id3v1中,此標籤最多爲30字符)
--tl <album> 音頻/歌曲專輯(在id3v1中,此標籤最多爲30字符)
--ty <year> 音頻/歌曲出版年代(從1到9999)
--tc <comment> 用戶自定義文本(在id3v1中,此標籤最多爲30字符;在v1.1中則爲28字符)
--tn <track> 音頻/歌曲音軌編碼(從1到255,創建v1.1標籤)
--tg <genre> 音頻/歌曲流派(列表中的名稱或數值)
--add-id3v2 強制添加id3v2標籤
--id3v1-only 只添加id3v1標籤
--id3v2-only 只添加id3v2標籤
--space-id3v1 將空格添加入id3v1標籤,而不是添加null
--pad-id3v2 將額外的128字節添加入id3v2標籤
--genre-list 按字母順序顯示排列好的ID3流派列表,然後退出
注意:除非出現以下情況,否則將不會添加id3v2標籤。
1. 某輸入字段不適合id3v1標籤(例如,標題字符長度大於30個字符);
2. 使用了'--add-id3v2'或'--id3v2-only'參數;
3. 輸出被重定向爲標準輸出流。
OS/2特殊參數:
--priority <type> 設定程序優先權
尚未詳述的參數:
--nores 禁止使用bit reservoir
--noath 禁止使用ATH
--athlower <n db> 將ATH降低n db
--athshort 在編碼短區塊時,只使用ATH進行運算
--cwlimit <freq> 指定音調的計算範圍
--disptime
--notemp 禁止進行暫時遮蔽運算
--lowpass
--lowpass-width
--highpass
--highpass-width
=======================================================================
按照字母順序對全部參數進行詳細解說
=======================================================================
=======================================================================
混音
=======================================================================
-a
將立體聲輸入文件混音爲單聲道輸出。
僅在輸入文件爲raw PCM立體聲時,才需要使用此參數。(因爲LAME不能確定輸入文件的聲道數。)爲了將立體聲PCM輸入文件編碼爲單聲道,可使用"lame
-m s -a"
對於WAV和AIFF輸入文件,使用"-m m"參數的話,無論輸入文件是單聲道還是立體聲,LAME都只會輸出單聲道MP3文件。
=======================================================================
平均碼率編碼(aka Safe VBR)
=======================================================================
--abr n
使用指定的n kbps作爲平均碼率進行編碼,允許每幀之間的大小互不相同。n可以取值爲8至320 kbps之間的任何一個整數。
=======================================================================
僅使用ATH
=======================================================================
--athonly
此參數將使LAME忽略psy模式輸出,僅使用來自ATH的遮蔽運算。(聽力的絕對極限)
不推薦使用--athonly。設計此參數的原意是測試不同的ATH曲線。
=======================================================================
碼率
=======================================================================
-b n
對於MPEG-1(採樣率爲32,44.1和48 kHz)
n = 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320
對於MPEG-2和MPEG-2.5(採樣率爲8,11.025,12,16,22.05和24
kHz)
n = 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160
習慣使用的碼率:默認爲128 kbps MPEG1,80 kbps MPEG2。
當使用可變碼率(VBR)編碼時,-b參數則指定了碼率變動下限。使用此參數可有效防止LAME VBR對文件進行過度壓縮。因爲在過度壓縮的情況下,心理聲學模式上的小缺陷會導致輸出文件的失真。
=======================================================================
碼率變動上限
=======================================================================
-B n
也可查看參數"-b",獲得n的允許取值範圍。
在使用VBR/ABR時,指定碼率變動上限。
不推薦使用-B。事實上,一個128Kbps
的 MP3 資料流,因爲可以使用 Bit Reservoir,所以有一些frame其實可以使用到與 320Kbps frame
相同大小的空間。而ABR/VBR模式則將bitreservoir的影響降到最低,因此需要允許使用 320Kbps
大小的 frame 才能達到與 CBR相同的彈性。
=======================================================================
版權
=======================================================================
-c
將編碼得到的文件標記爲受版權保護的
=======================================================================
檢測削波
=======================================================================
--clipdetect
允許執行--replaygain-accurate,並顯示編碼中是否出現削波和整個數值範圍的波形如何。
如果MP3解碼器明顯禁止了LAME的構造(in the build of LAME),那麼此參數就失去作用了。
也可查看: --replaygain-accurate
=======================================================================
控制區塊類型
=======================================================================
-d
允許左右聲道分別使用不同的區塊類型。一般情況下,不允許使用此參數編碼。因爲好像FhG編碼器也不允許使用此參數編碼。如果有人經過編碼後發現加上-d參數能使輸出音質變好,請告訴我。([email protected])
=======================================================================
mpglib解碼功能
=======================================================================
--decode
此參數是使用LAME的mpg123/mpglib界面,將MP3文件解碼爲WAV文件。輸入文件可以是編碼支持的任何格式,包括.mp3(layers
1, 2 and 3)和.ogg。
如果已經使用-t(禁止寫入WAV文件頭),LAME將不會輸出原生endian格式的raw
PCM(使用-x以交換類型)。
如果MP3解碼器明確禁止了LAME的構造(in the build of LAME),那麼此參數就失去作用了。
=======================================================================
去加重
=======================================================================
-e n/5/c
n = (none, 默認)
5 = 0/15 微秒
c = citt j.17
此參數就只是在比特流中設定一個標記。如果你有一個PCM輸入文件,並且此文件中有被放大的上述類型的(被廢棄的)加重,那麼可以使用LAME設定此標記。然後在播放時,MP3解碼器應該會在輸出時去加重,儘管大部分解碼器都會忽略此標記。
更好的解決辦法是,在編碼之前,就使用別的軟件進行去加重操作,然後在編碼時不要添加-e參數。
=======================================================================
快速編碼模式
=======================================================================
-f
等同於 -q 7。
不推薦。如果不追求輸出音質只追求編碼速度的話,可以使用此參數。此參數禁止噪音修整,並且在分配比特和檢測前回聲時纔會使用心理聲學。
=======================================================================
嚴格限定VBR碼率的變動下限
=======================================================================
-F
嚴格限定VBR碼率的變動下限。不使用此參數的話,在靜音部分,LAME將會忽略VBR碼率的變動下限。
=======================================================================
free format比特流
=======================================================================
--freeformat
在此參數下,LAME將輸出固定碼率的free format比特流。使用此參數後,用戶還必須使用 -b
在8-640kbps之間指定一個整數作爲碼率。
大部分解碼器不支持free format比特流。而且,大多數支持free format比特流的解碼器支持的最高碼率僅爲320 kbps。
支持free format比特流的解碼器:
支持的最高碼率
MAD 640 kbps
"lame --decode" 550 kbps
Freeamp: 440 kbps
l3dec: 310 kbps
=======================================================================
高質量
=======================================================================
-h
對編碼質量進行改進。等同於 -q 2。
=======================================================================
保持所有頻率
=======================================================================
-k
保持所有頻率。(禁止所有濾波器)
在編碼過程中,LAME會自動運用各種不同類型的低通濾波器。這是因爲大量資料流量會在高頻率中被消耗掉,而這些資料流量本應該被使用在較低的較重要的頻率中。而-k會禁止LAME使用所有濾波器。不推薦。
=======================================================================
模式:
=======================================================================
-m m 單聲道
-m s 立體聲
-m j 聯合立體聲
-m f 強制使用中側立體聲
-m d 雙(獨立)聲道
-m i 強度立體聲
-m a 自動
單聲道(MONO)是單聲道輸入文件的默認模式。如果對立體聲輸入文件指定編碼參數爲"-m m",那麼將會把立體聲信號平均爲單聲道信號。
立體聲(STEREO)
聯合立體聲(JOINTSTEREO)是固定碼率編碼碼率不超過128kbps的立體聲文件的默認模式。在更高的固定碼率編碼中,默認模式爲立體聲。在VBR編碼中,當VBR_q
>4時,聯合立體聲爲默認模式;當VBR_q< =4時,立體聲爲默認模式。可以通過在命令行中指定模式,以修改上述默認模式。
使用聯合立體聲意味着編碼器可以使用(以幀爲單位)正規的立體聲(對左右聲道獨立編碼)或者中側立體聲。在中側立體聲模式下,分別對中央聲道(L+R)和兩側聲道(L-R)進行編碼,並且將較多的資料流量分配給中央聲道。如果源信號沒有太高的立體分離度(stereoseparation),那麼中側立體聲模式可以有效地增加帶寬。
中側立體聲(Mid/Side Stereo)基本上就是增加帶寬的手段。在128 kbps下,中側立體聲的作用還是比較明顯的。但是到了更高碼率的時候,它就沒什麼作用了。
對於真正的單聲道,可以使用"-m m"進行編碼。此參數會自動將輸入文件編碼爲單聲道文件。在此情況下,"-m m"比"-m j"做得更好。
不適當地使用中側立體聲會導致聽得見的壓縮失真。頻繁地在中側和正規立體聲之間切換的話,也會使輸出音質變差。爲了確定切換至中側立體聲的時間,LAME所使用的算法比ISO文件中所描述的要精密複雜得多。
強制使用中側立體聲也就是在所有的幀中強制使用中側立體聲進行編碼。僅在確定輸入文件的每一幀的立體分離度都很小的情況下,才能使用此參數。
雙聲道(DUAL CHANNELS) LAME尚未支持此模式。
強度立體聲(INTENSITY STEREO)
自動(Auto)
自動選擇(當輸入文件爲立體聲時)
8 kbps 單聲道
16- 96 kbps 強度立體聲(如果不能使用強度立體聲,則使用聯合立體聲。)
112-128 kbps 聯合立體聲 -mj
160-192 kbps -mj 帶有可變的中側上下限
224-320 kbps 獨立立體聲 -ms
=======================================================================
MP3輸入文件
=======================================================================
--mp3input
輸入文件爲MP3文件。在重編碼此文件之前,LAME會先將其解碼。因爲MP3是一種有損格式,所以一般情況下不推薦使用此參數。但是,在把高碼率MP3變爲低碼率MP3時,此參數還是很有用的。如果輸入文件名後綴爲".mp3",則會被LAME識別爲MP3文件。對於標準輸入或者文件名後綴不爲".mp3"的MP3文件,則需要將其文件名後綴改爲".mp3"。
=======================================================================
禁止顯示柱狀圖
=======================================================================
--nohist
默認情況下,正在創建VBR mp3的時候,LAME會顯示一個碼率柱狀圖。此參數可以禁止LAME顯示柱狀圖。
=======================================================================
禁止分析回放增益
=======================================================================
--noreplaygain
默認情況下,回放增益分析功能是開啓的。此參數可以關閉此功能。
也可查看: --replaygain-accurate, --replaygain-fast
=======================================================================
不使用短區塊
=======================================================================
--noshort
在每一幀的編碼中都使用長區塊。不推薦。此參數僅爲測試使用。
=======================================================================
非原創
=======================================================================
-o
將編碼得到的文件標記爲拷貝
=======================================================================
保護CRC錯誤
=======================================================================
-p
開啓CRC錯誤保護。
是的,LAME真的能正確地運行此項功能。但是,此功能在每一幀都會額外消耗16比特的資料流量,而本來這些流量應該被用在編碼上。
=======================================================================
選擇算法質量
=======================================================================
-q n
碼率當然是影響音質的最大因素。高碼率也就意味着好音質。但是對於特定碼率,我們則可以選擇算法以獲得最好的標度因子(scalefactors)和huffman編碼(修正噪音)。
-q 0: 在所有算法中,此算法最慢,但是有可能獲得最好的音質。
-q 2: 推薦。等同於 -h。-q 0和-q 1都很慢,並且在音質方面相對於-q 2也可能沒有明顯的提高。
-q 5: 默認值。編碼速度不錯,獲得的音質也還比較合理。
-q 7: 等同於 -f。編碼速度很快。音質還過得去。(禁止噪音修整,並且在分配比特和檢測前回聲時纔會使用心理聲學。)
-q 9: 禁止包含psy模式在內的所有算法。音質很差。
=======================================================================
輸入文件爲raw pcm
=======================================================================
-r
指定輸入文件爲raw PCM格式。使用此參數的同時,必須在命令行中指定採樣率和單聲道/立體聲/聯合立體聲。如果不使用此函數,LAME則會對輸入文件運行幾次fseek(),以尋找WAV和AIFF文件頭。
如果LAME被編譯爲使用LIBSNDFILE,則不支持此參數。
=======================================================================
更精確地計算RG值並找出採樣峯值
=======================================================================
--replaygain-accurate
允許在不工作時(on the fly)解碼。在已經解碼的數據流上,計算"Radio"回放增益。找出採樣的峯值,並將其儲存到文件中。
回放增益分析數據並不會影響已經壓縮好的數據流的內容。它只是一個儲存在音頻文件頭的數值。下列網址詳細列出了回放增益的用途和所使用的算法:http://www.replaygain.org/
默認情況下,LAME在輸入文件上執行用戶自定義音量縮放之後,再執行回放增益分析。因爲有損壓縮/解壓縮輸出模進(sequence)與開始的輸入數據有所不同,所以此項操作會出現輕微錯誤。使用--replaygain-accurate時,在不工作時解碼MP3流,並且在解碼後的數據流上執行分析。雖然在理論上來說,這種模式能獲得更精確的結果,但是它也有幾個缺點:
* 經過對輸入數據和解碼後數據的回放增益數值進行測試,兩者的差異一般不超過0.5dB。儘管人耳所能分辨的最小音量差異爲1.0dB左右。
* 在不工作時解碼,這步操作明顯使編碼所需時間加長。
明顯的好處則有:
* 使用--replaygain-accurate,可以確定採樣的峯值,並且能將其儲存在文件中。採樣的峯值有助於解碼器(播放器)避免出現名爲'clipping'的負面影響。'clipping'會導致聲音失真。
僅計算"Radio"回放增益。計算所得的數值被儲存在LAME標籤中。執行回放增益分析時,將會把文件的音量調整爲參考音量值——89dB。
注意:3.95版本中的參考音量值爲83dB。3.95.1版本中的參考音量值則爲89dB。
如果MP3解碼器明確禁止了LAME的構造(in the build of LAME),那麼此參數就失去作用了。(注意:如果編譯LAME時沒有MP3解碼器,LAME則會在執行用戶自定義音量縮放之後,在輸入文件上執行回放增益分析)
也可查看: --replaygain-fast, --noreplaygain, --clipdetect
=======================================================================
快速計算RG值
=======================================================================
--replaygain-fast
在執行用戶自定義音量縮放,或者重採樣之後,計算輸入數據流的"Radio"回放增益。
回放增益分析數據並不會影響已經壓縮好的數據流的內容。它只是一個儲存在音頻文件頭的數值。下列網址詳細列出了回放增益的用途和所使用的算法:http://www.replaygain.org/
僅計算"Radio"回放增益。計算所得的數值被儲存在LAME標籤中。執行回放增益分析時,將會把文件的音量調整爲參考音量值——89dB。
注意:3.95版本中的參考音量值爲83dB。3.95.1版本中的參考音量值則爲89dB。
也可查看: --replaygain-accurate, --noreplaygain
=======================================================================
以kHz爲單位,指定輸出文件的採樣率
=======================================================================
--resample n
n = 8,11.025,12,16,22.05,24,32,44.1,48
指定輸出文件的採樣率。如必要的話,重採樣輸入文件。
如果沒有指定此參數,在追求最大壓縮率的情況下,LAME有時會自動進行重採樣。(比如說,將44.1 kHz的輸入文件編碼爲32kbps。)爲了防止出現上述操作,必須使用--resamle參數,把輸出採樣率設定爲與輸入採樣率相同的數值。這樣的話,LAME就不會執行額外的計算操作了。
=======================================================================
以kHz爲單位,指定輸入文件的採樣率
=======================================================================
-s n
n = 以kHz爲單位的採樣率
當輸入文件爲raw PCM時,需要加上此參數。否則LAME將會根據輸入文件的文件頭信息決定採樣率。
如有必要的話,LAME會自動把輸入文件重採樣爲某個支持的MP3採樣率。
=======================================================================
無提示操作
=======================================================================
-S
不顯示進程報告和VBR柱形圖
=======================================================================
按比例增加音量
=======================================================================
--scale <arg>
將PCM輸入放大<arg>倍。此參數只能放大PCM數據。(在將其轉換爲浮點數據之後)
<arg> > 1: 增加音量
<arg> = 1: 無效果
<arg> < 1: 減少音量
請謹慎使用此參數。因爲當解碼所得的值大於32728時,大多數MP3解碼器將會截短數據。
=======================================================================
嚴格遵守ISO MPEG規格
=======================================================================
--strictly-enforce-ISO
在此參數作用下,LAME將會把幀的總大小限定爲7680比特。這將會導致在高碼率部分浪費大量的資料流量。
=======================================================================
禁止VBR標籤
=======================================================================
-t
禁止寫入含VBR信息的標籤。(僅在使用-v時纔有效。)此標籤儲存在MP3文件的第0幀。此標籤可以使播放器將文件識別爲VBR,並開始查找和計算VBR文件的播放時間。
當使用了'--decode'(將WAV解碼爲MP3),此參數將禁止寫入WAV文件頭。輸出文件格式爲raw
PCM,原生endian格式。使用-x以交換字節。
=======================================================================
可變碼率(VBR)
=======================================================================
-v
開啓VBR。使用VBR有多種方式。我個人喜歡使用VBR。VBR文件大小一般會稍大於128
kbps文件。因爲在VBR編碼模式下,在難編碼的幀中需要消耗更多的資料流量。下列代碼指定VBR的最小碼率進行編碼:
lame -v -b 112 input.wav output.mp3
如果覺得編碼後得到的文件太大了,可使用-V n。n = 0...9。
lame -v -V n -b 112 input.wav output.mp3
以下代碼可以在VBR編碼模式下獲得最高的壓縮率:
lame -v input.wav output.mp3
lame -v -V n input.wav output.mp3 (用於調整輸出音質/文件大小)
=======================================================================
指定VBR編碼質量
=======================================================================
-V n
n = 0...9。指定VBR_q值。
默認值n = 4,最佳音質n = 0,最佳壓縮率n = 9。
不推薦使用n>=5的數值(音質低下)。
如果想繼續增加壓縮率,使用ABR可獲得更好的輸出音質。
VBR_q是怎麼起作用的?
VBR_q值影響LAME在心裏聲學上的兩個基本參數:
a) 人耳聽力的絕對極限
b) 信噪比的採樣
VBR_q值越低,注入的量化噪音也就會越低。
注意沒有完美的psy模式。所以,即使psy模式聲稱編碼後的文件不會出現聽得見的失真,但是人們還是經常能聽到編碼後的文件出現失真。因此,在指定一個比較小的碼率下限進行編碼時,即使使用了-V 0參數,也可能會出現過度壓縮和聽得見的失真。因此,聽起來,使用-V
0還不如使用256 kbpsCBR進行編碼。比如說,psy-model聲稱,在1 kHz的頻寬內,人耳不會察覺到20dB的失真,所以LAME
VBR-V0在此頻寬內會儘可能提升壓縮率,並會產生最大值爲20dB的失真。使用256 kbpsCBR編碼時,LAME則最多會產生2dB的失真。如果psy模式是正確的,上述兩種編碼所輸出音質應該是一樣的。如果psy模式是錯誤的,那麼VBR-0編碼會使輸出音質變差。
=======================================================================
聲音編碼模式
=======================================================================
--voice
實驗性的聲音編碼模式參數。對44.1 kHz輸入文件進行調整。
--voice參數已經作廢了。可使用--preset voice代替此參數。
=======================================================================
交換字節
=======================================================================
-x
輸入文件的交換字節(與--decode一起使用的話,則是輸出文件的交換字節)。使用此參數可找出little endian/big endian類型的問題。如果輸入文件發出的聲音像是隨機噪聲,那麼可以先試試這個參數。
=======================================================================
控制OS/2程序優先權
=======================================================================
--priority <類型>
(僅適用於OS/2)
設定LAME在IBMOS/2下運行時的程序優先權。設定此參數有助於避免在編碼過程中系統變慢或者失去響應。通過設定LAME在較低的程序優先權下運行,可使系統能夠有更多的資源用於更新基本處理(如繪製窗口、登記鍵盤/鼠標的轉態過程,等等)。如果是使用0-2的優先權,那麼運行LAME對系統的影響就會降到最低了。
有效參數有:
0 = 低 (IDLE, delta = 0)
1 = 中等 (IDLE, delta = +31)
2 = 標準 (REGULAR, delta = -31)
3 = 高 (REGULAR, delta = 0)
4 = 最高 (REGULAR, delta = +31)
注意:如果使用'--priority'而不帶任何<類型>參數的話,LAME會自動使用'--priority
0'。
實現批處理的shell腳本:
#! /bin/bash
#convert .wav files to .mp3 files in linux
for file in *.wav;
do
{
lame --quiet "$file" `basename $file .wav`.mp3; # attention to the blankspace
}
done