A、優秀成熟的編碼——MP3
MP3作為目前最為普及的音頻壓縮格式,為大家所大量接受,各種與MP3相關的軟件產品層出不窮,而且更多的硬件產品也開始支持MP3,我們能夠買到的VCD/DVD播放機都很多都能夠支持MP3,還有更多的便攜的MP3播放器等等,雖然幾大音樂商極其反感這種開放的格式,但也無法阻止這種音頻壓縮的格式的生存與流傳。MP3發展已經有10個年頭了,他是MPEG(MPEG:Moving Picture Experts Group) Audio Layer-3的簡稱,是MPEG1的衍生編碼方案,1993年由德國Fraunhofer IIS研究院和湯姆生公司合作發展成功。MP3可以做到12:1的驚人壓縮比并保持基本可聽的音質,在當年硬盤天價的日子里,MP3迅速被用戶接受,隨著網絡的普及,MP3被數以億計的用戶接受。MP3編碼技術的發布之初其實是非常不完善的,由于缺乏對聲音和人耳聽覺的研究,早期的mp3編碼器幾乎全是以粗暴方式來編碼,音質破壞嚴重。隨著新技術的不斷導入,mp3編碼技術一次一次的被改良,其中有2次重大技術上的改進。
VBR:MP3格式的文件有一個有意思的特征,就是可以邊讀邊放,這也符合流媒體的最基本特征。也就是說播放器可以不用預讀文件的全部內容就可以播放,讀到哪里播放到哪里,即使是文件有部分損壞。雖然mp3可以有文件頭,但對于mp3格式的文件卻不是很重要,正因為這種特性,決定了MP3文件的每一段每一幀都可以單獨的平均數據速率,而無需特別的解碼方案。于是出現了一種叫VBR(Variable bitrate,動態數據速率)的技術,可以讓MP3文件的每一段甚至每一幀都可以有單獨的bitrate,這樣做的好處就是在保證音質的前提下最大程度的限制了文件的大小。這種技術的優越性是顯而易見的,但要運用確實是一件難事,因為這要求編碼器知道如何為每一段分配bitrate,這對沒有波形分析的編碼器而言,這種技術如同虛設。正是如此,VBR技術并沒有一出現就顯得光彩奪目。
聽覺模型的導入:專家們通過長期的聲學研究,發現人耳存在遮蔽效應。聲音信號實際是一種能量波,在空氣或其他媒介中傳播,人耳對聲音能量的多少即響度或聲壓最直接的反應就是聽到這個聲音的大小,我們稱它為響度,表示響度這種能量的單位為分貝(dB)。即使是同樣響度的聲音,人們也會因為它們頻率不同而感覺到聲音大小不同。人耳最容易聽到的就是4000Hz的頻率,不管頻率是否增高或降低,即使是響度在相同的情況下,大家都會覺得聲音在變小。但響度降到一定程度時,人耳就聽不到了,每一個頻率都有著不同的值。

可以看到這條曲線基本成一個V字型,當頻率超過15000Hz時,人耳的會感覺到聲音很小,很多聽覺不是很好的人,根本就聽不到20000Hz的頻率,不管響度有多大。當人耳同時聽到兩個不同頻率、不同響度的聲音時,響度較小的那個也會被忽略,例如:在白天我們很難聽到電腦中散熱風扇的聲音,晚上卻成了噪聲源,根據這種原理,編碼器可以過濾掉很多聽不到的聲音,以簡化信息復雜度,增加壓縮比,而不明顯的降低音質。這種遮蔽被稱為同時遮蔽效應。但聲音A被聲音B遮蔽,如果A處于B為中心的遮蔽范圍內,遮蔽會更明顯,這個范圍叫臨界帶寬。每一種頻率的臨界帶寬都不一樣,頻率越高的臨界帶寬越寬。
頻率(Hz) |
臨界帶寬(Hz) |
頻率(Hz) |
臨界帶寬(Hz) |
50 |
80 |
1850 |
280 |
150 |
100 |
2150 |
320 |
350 |
100 |
2500 |
380 |
450 |
110 |
3400 |
550 |
570 |
120 |
4000 |
700 |
700 |
140 |
4800 |
900 |
840 |
150 |
5800 |
1100 |
1000 |
160 |
7000 |
1300 |
1170 |
190 |
8500 |
1800 |
1370 |
210 |
10500 |
2500 |
1600 |
240 |
13500 |
3500 |
根據這種效應,專家們設計出人耳聽覺心理模型,這個模型被導入到mp3編碼中后,導致了一場翻天覆地的音質革命,mp3編碼技術一直背負著音質差的惡名,但這個惡名現在已經逐漸被洗脫。到了此時,一直被埋沒的VBR技術光彩四射,配合心理模型的運用便現實出強大的誘惑力與殺傷力。
長期來,很多人對MP3印象不好,更多人認為WMA的最佳音質要好過MP3,這種說法是不正確的,在中高碼率下,編碼得當的MP3要比WMA優秀很多,可以非常接近CD音質,在不太好的硬件設備支持下,沒有多少人可以區分兩者的差異,這不是神話故事,盡管你以前盲聽就可以很輕松區分MP3和CD,但現在你難保證你可以分辨正確。因為MP3是優秀的編碼,以前被埋沒了。
B、制作利器——LAME
要制作出高音質的MP3靠以前廣為流傳的MP3編碼器是不行的。我們強烈推薦使用LAME,為什么文章前段著重寫了一些看似無關的技術性文字描述,因為這些就是LAME與一般MP3編碼器與眾不同的地方,她支持幾乎所有能夠采用到MP3編碼中的技術,包括我們花了不少筆墨描述的東西。LAME支持CBR(固定碼率)和VBR(動態碼率,還有一個效果不是很出眾的ABR),LAME是MP3史上具有里程碑意義的軟件,LAME是一個Command line程序,象DOS程序一樣需要手工輸入,而且參數及其復雜,但可很方便的供其他程序調用,LAME同時也提供了一個DLL版本,但我們認為不如EXE版本的好,所以忽略不提。不要被LAME復雜的參數所嚇倒,下面的文章中我們會提示如何操作來達到一勞永逸的效果。我們需要粗略的了解一下LAME的參數。
LAME其實真正要用到的參數就幾個而已。
VBR壓縮級別參數:[-V] 指定VBR的壓縮品質,范圍為0-9(數字越小品質越高),預設值為4。
碼率參數:[-b] 指定流量變動的下限,預設為32Kbps。[-B] 指定流量變動的上限,預設為320Kbps。注意 -b 和-B 的大小寫差異。如果使用在CBR編碼模式中,[-b]所指定的碼率就是固定碼率大小,可供指定的碼率大小可以為:16 24 32 40 48 56 64 80 96 112 128 160 192 224 256 320。
高品質編碼模式參數:[-h] 高品質編碼模式。這個選項在 VBR 壓縮模式中是預設開啟的。CBR編碼模式中是關閉的。
精度參數:[-q] 指定頻率資料量化時的精確度,范圍是為0-9(數字越小品質越高),預設值為2。如果在使用-q 0參數是覺得編碼速度慢得過份,請使用默認值。如果編碼的曲子是鋼琴或者小提琴、古箏二胡這類細節很豐富的樂器獨奏,我們推薦你就是耐著性子也要用-q 0參數,雖然慢點,但值得。
聲道模式參數:[-m] 立體聲壓縮模式,細分參數分別有 s:Stereo j:Joint Stereo f:Force ms_stereo m:Mono。當使用VBR編碼并把品質設為4-9和使用CBR編碼流量小于160 Kbps時,預設為j(Joint Stereo)。其余時候預設為s(Stereo)。
通過長期的使用,我們給出2個參數使用建議。
CBR 模式編碼的推薦參數:-b -m s -h ( 為碼率數值)。VBR 模式編碼推薦參數:-V 0。
在新版本的LAME中(3.90后),LAME提供了全新的--alt-preset系列預置參數,這組參數最大的好處就是不用再去記憶那些繁多的參數,而提供最佳化的選擇。
CBR模式:
--alt-preset insane 320kbps CBR模式,音質最好,體積最大。
VBR模式:
--alt-preset extreme 平均Bitrate范圍在192~256kbps之間,音質接近insane,體積小了一些,但比 -V 0 編碼效率要低。
--alt-preset系列參數提供比老參數更優秀的音質,但編碼效率卻低了很多,您需要更強勁的CPU支持才行,而相對比老參數提高相對不是很多,在乎您的取舍了,筆者傾向使用老參數。
了解這么多就足夠了,我們接著做下列的工作。
C、制作流程——強強組合
C.1 一條龍的制作方式——從CD到MP3
很多工具都提供了將CD直接壓縮到MP3的功能,但我們仍舊推薦使用Exact Audio Copy,Exact Audio Copy最大的特點就是可以精確捕捉音軌。很多人認為將CD捕捉為WAV文件這個過程是無損的,其實錯了。
C.1.1 選擇抓軌模式
EAC 支持3種抓軌模式:安全(Secure),快速(Fast)和爆發(Burst)。在安全模式模式下,對于每一段音頻數據至少讀取兩次,如果兩次不一樣,則繼續讀取直到有50%以上的采樣是完全相同的為止,不過最多只讀取82次,這樣就會得到完全正確的或最佳結果,當光驅支持精確流(accurate stream)特性時可以確保這一點。如果光驅對于音頻數據進行緩沖(Cache),情況就會變得復雜起來,因為后面每一次讀取數據都是第一次的緩沖,是從Cache中讀出的,當然是一致的。EAC通過重新初始化光驅來避免這一點。由此可見,安全模式是比較慢的。C2級錯誤檢測是EAC采用的又一種光驅特性。光驅有C1,C2兩種錯誤檢測方法,如果在讀取音頻流時,發現C1和C2校驗錯誤,那么將重新讀取數據.EAC可以使用快速模式效果是相同的。而爆發模式不進行任何的檢測和校正,只是速度快。因此在選擇抓軌模式之前,我們必須檢測光驅的信號讀取的相關信息。
選擇菜單 EAC/Drive Options,選擇Extraction Method標簽。點擊Detect Read Features...按鈕。開始進行檢測。

本例中采用的光驅不進行數據緩沖,支持精確流模式和C2錯誤信息校正,這對捕捉音軌是非常有利的。如果您測試出來發現光驅不支持精確流模式,那么,遺憾的告訴您,在您無法確定光驅的詳細參數之前,您無法獲得最好的音軌,但不是沒有解決辦法,稍后介紹。檢測結果出來后,點擊Apply按鈕,EAC會自動選擇最適合您的抓軌模式。最佳的抓軌模式是需要測試才知道的,不是看到別人怎么設置自己就怎么設置。EAC給出的設置都是音質至上的,一切為了音質出發。如果您需要高速的抓軌速度,請選擇爆發(Burst)模式,這個模式下,可以實現非常快速的捕捉,但和普通的抓軌工具無異了,音質無法得到保證,尤其是高頻信息。

這個是最適合本例中使用的光驅的抓軌設置了。如果在后來抓軌工作中,速度慢得無法忍受,請嘗試關閉 Drive is capable of retrieving C2 error informations。
C.1.2 檢測光驅的偏差值
如果您的光驅不支持精確流,也不是無藥可救。由于每一臺光驅,都有其特定的偏移值,在讀取CD信號時可能產生非常非常小的數據偏移錯誤,假設你要光驅讀取第100000位的信號,而光驅確可能讀取到99999位的信號,利用采樣偏移(Sample Offset)技術,收集了幾百張常見的CD,在每張CD的特殊位置讀取了一些字節,建立了一個CD特征庫,如果你也正好有這個版本的CD,你就可以使用他們,通過EAC進行比較,以得到你自己的光驅的特征偏移,注意同一種CD可能有多種版本。
在光驅中放入一張CD,最好是廣為流傳的發燒級正版CD,因為EAC需要通過這張CD的索引進行數據查詢分析,給出一個偏差值。本例中使用的CD是Loreena McKennitt的The Book Of Secrets。選擇菜單 EAC/Drive Options

選擇Offset/Speed 標簽,點擊 Detect read sample offset correcion...按鈕。檢測開始。

測試結果為+2463。點擊Apply按鈕。這個數值就會填寫到Use Read sample offset correction欄中,這個檢測過程是比較重要的,也是EAC與眾不同的地方。在進行這個測試的時候,請盡量使用正版的、知名的發燒碟,而不要使用港臺的CD,在這個檢測數據庫中有數百張CD的對比數據,您一定可以找到一張適合測試的。如果EAC無法檢索到這張CD的信息,那么將無法獲取光驅的偏差值。
C.1.3 文件名的管理
我們經常看到Track01、Track02這類命名的MP3,當這種命名方式的MP3放在一起的時候,就會覺得混亂得可以。EAC 可以完美的解決這個問題,EAC支持自定義音軌捕捉到WAV時的命名格式,你可以設置為:專輯名_音軌號_歌曲名.mp3 或者 作者名_專輯名音軌號_歌曲名.mp3等方式。
在插入一張CD后,我們可以看到:

可以看到歌曲名就是Track加音軌號。其實我們只需要選擇菜單Database/Get CD information Form/Remote freedb,EAC就會自動從網絡上獲取這張CD的信息,然后重新命名這些歌曲名,作者信息和CD信息都會將被更新。本例中更新后的結果為:

CD名、歌曲名等信息全被自動更新了,我們可以省卻很多輸入的時間,而且不會出錯。現在很多CD都可以被檢索到,如果你購買的CD無法查閱到信息,那么你只有選擇痛苦的手工修改信息了,絕對不推薦使用Track01這樣的名字。當然,在獲取這些信息的時候,你必須保證電腦處于上網的狀態。在初次使用這個功能的時候,EAC可能報告無法獲取該CD的信息,因為你缺少一個注冊的E-mail地址。選擇菜單EAC/Freedb / database Options。

在 Your E-mail address中填入你的郵箱地址然后確定即可。
EAC可以自定義捕捉后的文件的名稱命名規則。選擇菜單EAC/EAC Options,選擇Directories標簽。

設置文件輸出文件夾。然后繼續選擇filename標簽。

在Naming scheme中填入命名規則即可。%T 代表歌曲名、%N 代表音軌號、%A 代表CD作者名、%C 代表專輯名,其他得幾個基本用不到,無須理會。Use various artist naming scheme 中可以填入另外一種的命名規則,當被選中時即生效。在長期的實踐過程中,我們認為專輯名+下劃線+作者名+下劃線+音軌號+歌曲名的方式是非常方便實用的,您只需填入:%C %A %N %T,如果您希望把制作的曲子存放在服務器上,我們應該盡量避免使用空格,所以建議選中Replace spaces by underscores,空格將被下劃線代替。EAC提供的這種命名方式很方便也很實用,推薦各位積極采用。

這張圖呈現的就是使用命名規則后文件排列的效果。是不是更加一目了然?
C.1.4 掛接LAME
EAC提供了眾多編碼器的接口,其中就有我們推崇的LAME。選擇菜單EAC/Compression Options。選擇External Compression標簽。

選擇 Use external program for compression。在Parameter passing scheme 下拉列表框中選擇LAME MP3 Encoder。Program ,including path,used for commpression 中 輸入 LAME.exe的路徑。Additional command line options 中輸入LAME的參數。CBR 模式編碼的推薦參數:-b 320 -m s -h。VBR 模式編碼推薦參數:-V 0,在一般情況下我們更推薦使用VBR模式,LAME的優勢也在VBR模式可以充分體現。選上High quality。當輸入了自定義參數后,Bitrate下拉列表說定義的項目將被忽略。為了更好的保存文件信息,選上Add ID3 tag。如果無須保存無損的WAV文件,請選擇Delete WAV after commpression。
如果你希望更好的保存歌曲信息到MP3文件,請繼續把這段看完。點擊Offset標簽。

在Write following text into ID3 Tag comment field 欄中填入你想使用的備注文字。本例中使用了“Audio100.com 天籟試聽”的備注文字。繼續點擊ID3 Tag標簽。

所有選項全部選上即可。

這就是使用后的實際效果,能夠完美支持ID3v1,但對ID3v2支持不是很好。也許是我使用EAC版本有點小bug。當設置完成后,點擊確定保存設置。
當上面4個步驟全部設置好了后,EAC最重要的設置也宣告完成,其他部分的設置使用默認設置即可。放一張CD進去,選擇好要編碼的曲目,然后點擊左邊工具欄中的MP3按鈕,CD到MP3的過程將自動完成,連命名都省去了,雖然第一次使用有點麻煩,都以后使用就不需要再辛苦了。用EAC+LAME非常方便,最重要的是,音質可以得到很高的保證。最好的抓音軌工具和最好的MP3編碼器的組合至今還找不到可以匹敵的對手。
C.2 WAV到MP3的解決之道

在LAME 3.90正式版中,就附帶了一個RazorLame 1.1.5的外殼控制程序,這也是LAME小組推薦使用的外殼程序。這個程序本身不存在太多設置,程序設計得很巧,你感覺不到后臺運行的LAME.EXE。這個程序提供了大量現成的LAME參數配置文件供調用。
選擇菜單Edit/LAME Options。點擊General標簽。

選擇use below,設置自定義的輸出文件夾。繼續點擊Expert標簽。

選擇only use custom options。在Custom options中填入需要的參數,前面的文章中推薦過2組參數,同樣適用于這里。點擊 Load options可以載入設置文件,但我們不推薦。設置完成后點擊OK按鈕。
RazorLame具有標準應用程序的界面,其他加載文件的操作就不多說了。加載好文件后,點擊工具欄中的Encode按鈕就開始進行編碼了,Decode 按鈕則實現MP3轉化到WAV的操作,是一個逆過程。
D、完美的播放
目前運用最廣泛的MP3播放器就是Winamp,但也不少人反映Winamp的回放音質不是很好。相對Microsoft Windows Media Player來說,Winamp在音質方面是要差不少,但Winamp有正確顯示VBR時間長度和文件信息的能力。而Microsoft Windows Media Player對VBR的MP3支持不夠好。似乎很難抉擇,其實很簡單。Winamp的功能的實現都是靠插件實現的,如果音質不好,我們可以找一個好的來替換Winamp自帶的MP3解碼插件。MAD插件就是我們需要的。這個插件有著更高的解碼精度,和Winamp自帶的相比,有更好的細節表現,各項表現更接近CD音質。MAD插件有點霸道,要使MAD生效,先要刪除以前老的MP3解碼插件,Winamp自帶的插件名稱為in_mp3.dll,位于Plugins文件夾下,刪除后,將MAD插件Copy到這個文件夾下,重啟Winamp就可以生效了。
進入Winamp的插件設置模塊。

Resolution項目中請不要選擇大于16bits的選項,除非你確定你的聲卡有24bits甚至32bits的回放能力,要么你會看到一個報錯的警告提示框。Channels 選項中請選擇Normal,這才是原汁原味的聲道設置。如果希望看到播放VBR MP3時跳動的bitrate數值,則要取消Display average bit rate選項。MAD的設置很簡單,就這么多而已,設置完成后,重啟一下Winamp,你會聽到比以前好很多的聲音。在目前聽過的MP3播放器當中,Winamp+MAD的組合是非常優秀的,支持VBR MP3很完善,可以正確顯示文件時間長度,進度條也不會亂跳動。MAD唯一的美中不足就是不支持ID3v2,不過這不影響什么,對大部分人來說,ID3v1已經非常足夠了。
E、其他事項
如果你制作MP3是為了放到硬件的MP3播放器上播放,你就必須考慮文件名和碼率的問題了。不少MP3播放器沒有采用專用的解碼芯片,而是使用以前的VCD解碼芯片的改進IC,受限于VCD音頻流碼率224k的限制,這樣的機型無法播放224k以上碼率的的MP3,而且這類機器不少。所以在這種情況下,我們推薦使用CBR方式編碼MP3,推薦碼率為224k。還有不少機器無法讀取中文名的,因此在命名時請注意回避使用中文。如果能支持VBR MP3 和 大于224k的碼率,基本就無需太多顧慮,現在這種機器越來越多了,不少帶MP3功能的VCD/DVD都可以支持得不錯。