聽音樂經常會碰到一種問題,由於個人習慣的關係,常會把不同專輯的歌,混合在同一個播放清單中,這樣一起播放比較方便。但每首歌呈現出來的聲音大小都不一樣,於是某些歌變得相對小聲或是相對大聲,這時為了讓每首歌盡量一樣大聲,所以必須經常性的手動調整聲音的大小。Replay Gain就是用來解決這種惱人的問題,筆者會在本文中介紹實作的方法。
關於Replay Gain的技術資訊,在Wikipedia英文版或中文版有更詳盡的說明,本文中並不針對技術層面做太多解釋。簡單來說,先使用軟體計算每首歌響度和期望響度的差值,而期望響度通常設為89dB聲壓,即得到增益(Gain),然後再分別存至每個檔案的metadata中。當遇到支援Replay Gain的播放程式時,會先檢查音樂檔案中的metadata是否包含Replay Gain訊息,若偵測到則會自動調整播放程式的音量輸出,使音量增加或減少至指定響度。
整個過程中,只是在音樂檔的metadata中附加Replay Gain訊息,並未對原始聲音做任何調整。這意味著若不再使用此功能,或想還原成原來的響度時,也只需清除metadata中的Replay Gain訊息。傳統方法中,需要重新編碼聲音檔案,此時對原始的聲音資訊已經造成傷害;若想要復原成先前的狀態也不可能,因為原始的聲音資訊已經不存在。
使用此功能時,必須要有軟體的支援才行,若軟體不認得Replay Gain的metadata時,則Replay Gain不會起任何作用。目前在Windows中,foobar2000和Winamp有支援此功能,而foobar2000在官方安裝檔內就有包含具有此功能的Plug-in,Winamp則需要額外安裝外掛程式來支援此功能。foobar2000可以播放和製作Replay Gain所需的資訊,且支援音軌增益(Track Gain)和專輯增益(Album Gain)兩種模式,再加上程式本身體積小、執行速度快、介面簡單,使得它成為筆者最常用的音樂播放軟體。Winamp需透過外掛的支援,且似乎只有播放功能而沒有製作功能,筆者對Winamp較無研究,所以這部分有待其它人補充。
接下來筆者用foobar2000來實作此功能,過程極為簡單!本例使用v0.9.1版,各版本的操作方法大致上相同,新版或舊版的選項有些許出入的部分,請自行修正成相對應的選項。
首先開啟foobar2000,並放入您會同時一起聽的歌曲。放置完成後,按下Ctrl+A全選所有歌曲,或只選擇您想要處理的歌曲,再按下右鍵並選擇下圖選擇的選項。在本例中是一起處理所有的歌曲,也就是音軌增益(Track Gain)模式,您可以自行測試其它選項。
Fig. 1: Scan per-file track gain (Click to enlarge)
若您的歌曲本身含有別人先前寫入的Replay Gain資訊,則會看到下圖的對話框,若您需保留先前資訊的按「否」,而本例選擇寫入新資訊則需按「是」。若原先歌曲未含Replay Gain資訊,則不會出現此對話框。
Fig. 2: ReplayGain info already existed (Click to enlarge)
接著會出現下圖的視窗,中間顯示目前整體處理的進度。下排的文字從左至右,分別是經過的時間、估計完成所需的總時間、目前一秒相當於幾倍的播放速度,如71倍的意思是1秒的時間等於讀取71秒的音樂。
Fig. 3: ReplayGain scan in progress (Click to enlarge)
處理完成後會看到下圖的視窗,裡面會列出處理的結果。其中Gain和Peak值會出現在Album或Track,決定在之前選擇的模式。按下Update file tags後,Replay Gain資訊會寫入至相對應的檔案中。
Fig. 4: Scan result (Click to enlarge)
軟體操作的部分到這裡結束,再來就是您享受成果的時候了。在不同的曲子間切換時,聽聽看有沒有和之前不一樣呢?
Friday, February 09, 2007
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment