主題: LAME問與答
查看單個文章
舊 2006-04-02, 05:04 PM   #2 (permalink)
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

LAME MP3編碼器簡易使用菜鳥手冊
很多朋友都問,為什麼短歌行網站提供的MP3試聽曲目音質比普通的128kbps MP3要好?為什麼壓縮碼率還會不斷變化,其實這都要歸功於「LAME」這個優秀的MP3編碼器。關於LAME的一些技術概念,我們在這裡就不重複了,感興趣的朋友可以參考《LAME問與答》一文,我們這裡著重向菜鳥網友們,一步步傳授何使用這個工具,製作出屬於我們自己的高品質MP3音樂。

首先我們下載到的「LAME」都只有一個EXE文件,需要通過複雜的指令行來控制它的工作,對於菜鳥們而言顯得非常不便,所以我們還需要為它搭配一個「外殼」。目前最為常用,也最為優秀的LAME外殼程序是RazorLame 1.1.5。高品質MP3壓縮的核心是LAME,而控制調整則都需要通過RazorLame來完成。

http://www.audio100.com/4/images/70_1.jpg

RazorLame 1.1.5的主介面

開啟RazorLame 1.1.5之後,我們首先要確定LAME壓縮引擎的位置,這樣才能正常工作。方式很簡單,點擊Edit表單下的Options在隨之出現的對話視窗第一項「LAME」中,填入或者選項LAME編碼器所在的正確位置。通過這個選項,我們也就可以隨時更換不同版本的LAME編碼器。在這裡我們必須重申一點,對於LAME而言,並不是版本越新,編碼品質就越好,不同的版本有各自不同的優缺點,大家在選項的時候請注意每個版本的詳細介紹。

http://www.audio100.com/4/images/70_2.jpg

在這裡選項LAME編碼器的位置

第二步便是進行LAME編碼參數的設定,選項Edit表單下的LAME Options就可以進入設定介面,這裡的選項要比前面複雜得多,菜鳥們肯定是一頭霧水!好在LAME引入了APX預置參數的編碼方式,讓用戶無需進行繁瑣的設定,而且套用非常簡單。點擊LAME Options中的Expert標籤,在「custom options」後面的方項中填入預置參數便可以了。最好在下放的「Only use custom options」選項前打勾,讓其加粗顯示,這樣LAME就完全按照「custom options」中所制定的方式對WAV文件進行編碼。

http://www.audio100.com/4/images/70_3.jpg

填入APX預置參數

那麼APX預置參數究竟有哪些呢?按照LAME開發者的推薦並經過廣大發燒友的實踐,對於不同版本的LAME有不同的推薦選項。目前比較受推崇的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參數。

OK,設定完畢後按OK驗證並儲存。隨後您就可以找出硬碟中已經抓好的WAV文件,對它們進行編碼操作了。試試看吧!您也可以製作出音質一流的MP3音樂。RazorLame還能夠支持MP3反編碼哦,也就是MP3=>WAV,這也是LAME的一大功能。

LAME: Lame Ain't MP3 Encoder
RazorLame: Frontend for LAME
--------------------------------------------------------------------------------Tiberius 的 LAME 使用/參數說明


使用 RazorLame
http://www.dearhoney.idv.tw/MP3/Encoder/Tiberius20001119/razorlame.gif
http://www.dearhoney.idv.tw/MP3/Encoder/Tiberius20001119/gen_set.gif
http://www.dearhoney.idv.tw/MP3/Encoder/Tiberius20001119/expert_set.gif

因為 LAME 是一個文字模式的程式,直接執行並不方便,下一次指令又只能夠壓縮一個檔案,因此使用前導程式輔助可以說是必要的事情。

RazorLame 的界面簡單明瞭,方便使用,要設定的地方也並不多;在 Options -> General 之中,指定 LAME 執行檔的位置,然後就可以在其他的頁面調節各種壓縮的參數。如果想試試一些實驗性(尚未正式公佈)的參數,或者懶得慢慢檢查每一頁的設定,可以直接在 Options -> Advanced 中把寫好的參數填入 Custom Options 中,並選取 Only use custom options 即可。

Options -> Advanced 裡面,有一個 Delete source file after encoding 的選項,選取之後,編碼完成的 WAV 檔會被自動移除;蠻方便的。

這裡是 RazorLame 設定對照 LAME 參數的表格,可以對照以下的參數說明查閱各項設定值的資料。

General 頁面
-b Bitrate -m Mode
Advanced 頁面
-h -f --voice Optimization -p Include CRC-Checksums
-o Copy -c Copyrighted
VBR 頁面
-v Enable Variable Bitrate (VBR) -B Maximum VBR Bitrate
-V Quality -t Disable writing of the VBR tag
-F Strictly enforce minimum bitrate --abr Use ABR instead of VBR, Target bitrate for ABR
Expert 頁面
--athonly --noath ATH Control -d Allow block types to differ between channels
-k Disable all filtering --nores Disable bit reservoir
--noshort Disable short blocks --strictly-enforce-iso Comply as much as possible to ISO MPEG spec
Audio Processing 頁面
--highpass Highpass filtering frequency --highpass-width Width of Highpass filter
--lowpass Lowpass filtering frequency --lowpass-width Width of Lowpass filter
--resample Output sampling frequency



--------------------------------------------------------------------------------

LAME 參數說明

以下的中文解釋,是直接翻譯 LAME 3.87 的線上說明得來的,都只是一些概念性的解說;個別參數的詳細說明翻譯部分參照 Scorpio 網友在數位音訊處理討論區所貼的 LAME 常用參數用法 這一篇文章,在這裡要對他表達謝意。

以下斜體的部分,表示可以帶入後面說明的其他選項,而說明中粗體字的部分就是這些多重選項的預設值。

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 內建設定 (--preset) 參考表

phone phon+ lw mw-eu mw-us sw fm voice radio tape hifi cd studio
--resample 8 11 11 11 16 11 32 24
--highpass 0.125 0.1
--lowpass 3.4 4 4 4 7.5 4 15 12 15 18 18
--lowpass-width 0 0 0 0 0 0 0 0 0 0.9 0.9
--noshort yes yes no no no no no yes no no no no no
-mm -mm -mm -mm -mm -mm -mj -mm -mj -mj -mj -ms -ms
-h -h -h
-b 16 24 24 24 40 24 112 56 128 128 160 192 256
VBR 模式時增加的參數:
-V 6 4 3 3 3 3 3 4 3 3 2 1 0
-b 8 16 16 16 24 16 80 40 96 112 128 192 160
-B 24 32 56 56 112 56 256 112 256 256 320 320 320

舉例:如果輸入 lame --preset hifi a.wav,則效果跟 lame --lowpass 18 --lowpass-width 0.9 -mj -h -b 160 完全相同。
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次