MusePack and ReplayGain

討論MP3、WAV、MIDI、WMA甚至其他數位音訊的播放、製作、轉換等。

版主: DearHoney

Tiberius
文章: 931
註冊時間: 2001-01-03 08:00

MusePack and ReplayGain

文章 Tiberius » 2002-06-08 21:20

(本文章 v1.06 2003/01/13 PM 02:10)

MusePack

MusePack (.MPC) 其實就是之前在版上討論過的 MpegPlus (.MP+)。
(更名的原因據說是擔心被誤以為是標準 MPEG 壓縮法的一種)

這是目前公認音質最好的有損聲音壓縮格式,由網路上的高手開發而成。經過許多人耳測試調整的結果,目前在 128Kbps 等級的資料率就能夠達成一般人/一般設備無法聽出與原本 CD 差異的境界。

跟 AAC 比較起來,有著演算法複雜度低,撥放與壓縮時 CPU Usage 不高的優點,同時也因為程式編寫上容易微調音質,在目前的情況下據稱效果比 AAC 更好。同時它不若 AAC 有對一般使用者不利的授權合約。 (據說現在只要使用「沒有數位版權保護」的 AAC 編碼器或撥放器,像是 Psytel AAC Encoder 跟 Winamp Plugin,就違反了七十多條授權合約與專利)

缺點?因為不是大公司搞的,所以不要期望有隨身聽的撥放支援,除非哪天有隨身聽製造業者能夠讓一般使用者自行修改韌體。

多說無益,請抓 mppenc 自行測試看看。建議參數:
mppenc --xtreme <輸入檔名> [<輸出檔名>]
(輸出檔案的平均 Bitrate 約在 160~220Kbps 之間)

順道介紹其他的內建音質組態,與它們的輸出平均 Bitrate:

--telephone 最爛 32-48Kbps
--thumb 稍低 (網路廣播) 58-86Kbps
--radio 普通 (MP3 品質) 112-152Kbps
--standard 高品質 (預設) 142-184Kbps
--xtreme 極高品質 168-212Kbps
--insane 極高品質 232-268Kbps
(以頻譜響應好看而不是以聆聽感受為最佳化目標,所以不要拿來壓一般音樂做存檔用途,這樣沒有意義)
--braindead 極高品質 232-278Kbps
(嘗試壓縮 22.050KHz 以下的所有訊號,可以解回成 Wave 再壓成其他格式而幾乎不受損害)

Gapless Mode

撥放 MPC 時,若使用 Winamp 2.80,輸出裝置選擇 "Crossfading DirectSound output (out_ds.dll)",並啟動其設定頁面中的 Gapless Mode,則原始 CD 上兩首中間無間隔的曲目就不會被中斷了。聆聽演奏會/現場演唱錄音等等的效果很棒!

抓音軌軟體與 mppenc 都不必修改任何的設定值,因為這是 MusePack 原生支援的功能。\r

ReplayGain

ReplayGain 是一個控制 MusePack 訊號重播增益的工具程式,附在 mppdec 的壓縮檔內一同散佈。

問題: 不是所有的 CD 都錄製得一樣大聲,因此壓縮出來的 MPC 檔案也一樣。雖然在音樂情境上的需要使得某些曲子比其他曲子大聲,但是整張 CD 的平均響度卻跟製作這張 CD 的錄音師有比較大的關係,而跟這張 CD 整體所要帶來的感情效果沒有關係。如果一切響度都按照每張 CD 原始資料壓縮的話,每當我們隨機更換不同張 CD 的曲目聆聽之時,就得去轉動音量旋鈕一次。

解決: 使用一個程式讀取每個音樂檔,並且計算這個音樂檔案的平均響度,與標準響度 (83dB SPL, 根據 SMPTE RP 200 標準) 的差異值。將這個數值儲存在檔案中,使撥放軟體有機會可以藉此調整撥放時的音量。 (同時不支援的撥放軟體就會按照原始音量撥出,不傷害到壓縮後檔案的音質!)

使用方法很簡單。

假設你把同一張 CD 的 MPC 放在同一個資料夾裡頭 ...
(這個放法很重要,因為 ReplayGain 必須知道「哪些檔案屬於同一張 CD」才有辦法計算整張 CD 的平均值)
將 mppdec.exe 與 replaygain.exe 解出並放到 PATH 裡頭,進入這個資料夾並輸入:
replaygain --auto *.mpc
此時將會看到 ReplayGain 處理每一個檔案,並且顯示出每個檔案的平均響度與標準響度的差值,且最後會顯示出這張 CD 平均響度與標準響度的差值。

接下來必須設定 Plugin,否則所有曲目都將依照原始音量撥放。

進入 Winamp ".mpc Musepack plugin 0.xx (in_mpc.dll)" 的設定視窗,左邊有一個 ReplayGain settings 的欄位,並選定任何一個帶有 ReplayGain album based 或 ReplayGain title based 的選項即可。

或者,就照以下的圖片依樣畫葫蘆吧。
圖檔

Album Based ? Title Based ? 差異處在哪裡?

若選擇 Title based 的話,則「所有曲目都會撥放得一樣大聲」。這會破壞掉一片 CD 原本想帶給你的感覺 (想想看整片 CD 的所有曲目都變得一樣大聲?) 卻很適合像是在電台撥放這種場合時使用。

如果用 Album Based 的話,則一片 CD 裡頭,原本的曲目相對音量大小會被維持住,但是 CD 與 CD 間的音量差異會被消除。意即,以後換 CD (壓出來的 MPC 檔) 可以不必調整音量了!一般使用者在聆聽時最建議選擇這個選項。

不過不管哪一種方法,一般來說重播時的平均音量都會比原本來得小。因此你可能需要調大音量才能夠恢復以往的音量水平。

Headroom

這個應該是「動態壓縮」的數值 (請高手驗證/補述?)。
MusePack Plugin 在開啟 ReplayGain 的情形下,會根據這個數值決定最後撥放時所使用的音量。
你應該按照器材的能力來設定這個選項以達到最好的音質。這裡數字所代表的意義是「重播出來的最大音量可以比 83dB 大多少」,舉例而言,設定成 K-14 代表器材可以撥放到 83dB + 14dB = 97dB 的最大音量。一般音效卡的使用者而言,設定成 K-14 足矣 (同時這也是大多數錄音製作所使用的標準),如果有 CardDeluxe 這種能夠輸出 24bit 的音效卡,則可以嘗試設定成 K-20 (103dB Max.)。

Encoder 版本

目前建議使用 1.14 版 Encoder 進行編碼。

關於 Winamp Plugin

MusePack 的解碼部分已經固定了,因此不同版本間的 Decoder 不會有品質上的差異,可以盡量找最新版來用。目前最新的 0.95b 在 Win2K 下已經可以正確處理檔名中有 Unicode 字元的檔案了 (不過我之前用舊版開日文檔名倒是沒問題,因為我有裝 Unicode Level Up 套件)。

檔案上 Right Click→File Info 可以編輯 Tag。我個人的習慣是靠檔名還有資料夾歸檔而不使用 Tag,若一定要使用 Tag,則 TagType 請選擇 APE v2.0 (這是目前 MusePack 所公認的標準 TagType) 或者使用其他支援 APE v2.0 Tag 的軟體進行編輯。

設定畫面中 ...
Equalizer Settings 決定圖形等化器是要讓 MusePack 在解碼時就運算進去還是先解出 Wave 再丟給 Winamp 處理
Dynamic Range 決定圖形等化器能調整的動態範圍。
Dither Output 選取時,會在輸出訊號中加入 Dither (可搜尋前文關於 Dither 的討論)
Use Tags for title formatting 選取時,會使用檔案中 Tag 的內容作為檔案在 Playlist 中顯示的標題 (取消 = 直接使用檔名)
Display actual bitrate 選取後撥放時會顯示當時的 Bitrate 而不是整個檔案的平均 Bitrate (MusePack 更新顯示 Bitrate 的速度頗快而且數字不會像 MP3 一樣只有幾個特定數字會出現,因為 MusePack 是「純 VBR」的編碼格式,而且沒有硬性規定每個 Package 只能多大 ...)
Skip track on "out of sync" 選取時,如果檔案讀取錯誤 (封包解碼錯誤) 就不會繼續撥放。

That's all for now ... Happy Listening!

以上資料均來自下列網站:
Case 的 MusePack 站 (舊版 mppenc) http://www.saunalahti.fi/~cse/mpc/
MusePack 相關程式下載 http://www.musepack.org/
Hydrogen Audio (音效壓縮技術討論) http://www.hydrogenaudio.org/
Frank Klemm (現任 MPC 維護者) http://www.uni-jena.de/~pfk/mpp/
ReplayGain 技術說明 http://www.replaygain.org/
響度控制與標準說明 http://www.digido.com/integrated.html
最後由 Tiberius 於 2003-01-13 14:13 編輯,總共編輯了 2 次。

Vboy
文章: 443
註冊時間: 2001-01-16 08:00
來自: 台北
聯繫:

文章 Vboy » 2002-06-08 22:45

MPC真的很不錯..是我目前最滿意的壓縮格式..強力推薦大家使用..

原因無它..因為它的壓縮法比MP3來的佳..而且又沒有像AAC & OGG那種音色稍微偏移的情形..

繼"insane"之後..又多了"braindead(腦死?)"這個參數..真是可喜可賀(使用這種命名法真是酷啊~)..

今天認識了ReplayGain這個新玩意..十分感謝您.. [b07]
<!-- Edit Notice Start -->

<font size=-1>[ 這篇文章在 2002-06-08 23:05 被 Vboy 編輯過 ]</font><!-- Edit Notice End -->

blanka
文章: 21
註冊時間: 2001-01-05 08:00

文章 blanka » 2002-06-09 23:32

想請問Tiberius大大怎麼在EAC下設定讓CD轉出來MPC呢?
我在External Compression那邊選MP+ Encoder
設定mppenc.exe位置(C:\MPC\mppenc.exe)
不管有沒有加Addtional Command Line Options(也就是不管有無--extreme)
抓完WAVE後他要壓縮時DOS視窗就一瞬間跳過去(也就是沒有壓縮到)
只有WAV檔留下來
大大有這種情形嗎?
EAC 0.9 beta4
謝謝!感激不盡

火引
文章: 70
註冊時間: 2001-01-04 08:00
來自: だれもいない町
聯繫:

文章 火引 » 2002-06-10 00:02

<!-- BBCode Quote Start --><FONT COLOR=GREEN>
想請問Tiberius大大怎麼在EAC下設定讓CD轉出來MPC呢?
我在External Compression那邊選MP+ Encoder
設定mppenc.exe位置(C:\MPC\mppenc.exe)
不管有沒有加Addtional Command Line Options(也就是不管有無--extreme)
抓完WAVE後他要壓縮時DOS視窗就一瞬間跳過去(也就是沒有壓縮到)
只有WAV檔留下來
大大有這種情形嗎?
EAC 0.9 beta4
謝謝!感激不盡
</FONT><!-- BBCode Quote End -->
mppenc的command line參數格式跟大部分encoder的格式不太一樣
先下參數,最後才指定輸入/輸出檔名。
目前的EAC不支援這樣的指令格式,所以必須配合MpcencT這個Frontend來使用。
使用的方法是
  • 在External Compression處選User Define Encoder,然後把Program位址指向mpcenct.exe。
  • 在Addtional Command Line Options處加上[mppenc的參數] --stderr mppenc.log %s %d --tags2 "Artist=%a" "Title=%t" "Album=%g" "Year=%y" "Track=%n" "Genre=%m"
  • uncheck Add ID3 Tag
MpcencT一樣可以在http://musepack.org/抓到;在Downloads/Windows/Other裡面。
<!-- Edit Notice Start -->

<font size=-1>[ 這篇文章在 2002-06-10 00:10 被 火引 編輯過 ]</font><!-- Edit Notice End -->

xexex
文章: 125
註冊時間: 2001-02-24 08:00

文章 xexex » 2002-06-10 00:54

<!-- BBCode Quote Start --><FONT COLOR=GREEN>
想請問Tiberius大大怎麼在EAC下設定讓CD轉出來MPC呢?
我在External Compression那邊選MP+ Encoder
設定mppenc.exe位置(C:\MPC\mppenc.exe)
不管有沒有加Addtional Command Line Options(也就是不管有無--extreme)
抓完WAVE後他要壓縮時DOS視窗就一瞬間跳過去(也就是沒有壓縮到)
只有WAV檔留下來
大大有這種情形嗎?
EAC 0.9 beta4
謝謝!感激不盡
</FONT><!-- BBCode Quote End -->

EAC 內之mp+的內定選項已經不符合MPC新版本的規則。
下面的作法給你個參考:

(1) 選 User Defined Encoder
(2) Use file extension: 填 .mpc
(3) 設定mppenc.exe位置(C:\MPC\mppenc.exe)
(4) Addtional Command Line Options: 填 --insane %s %f

其他 Bit rate 和 High/Low quality 則無效,有選沒選一樣。

blanka
文章: 21
註冊時間: 2001-01-05 08:00

文章 blanka » 2002-06-10 09:53

謝謝各位大大
現在可以用了
呼呼!終於可以拋棄慢的要死的AAC了
壓縮時間可以差到4倍以上
差真多阿

Cat
文章: 8
註冊時間: 2001-01-16 08:00
聯繫:

文章 Cat » 2002-06-11 23:33

可惜 MPC無法壓 48khz的 wave 檔....

Tiberius
文章: 931
註冊時間: 2001-01-03 08:00

文章 Tiberius » 2002-06-13 23:54

等支援 StreamVersion8 的 Encoder 出來,就可以壓 48KHz 的 WAV 了。

SV8 似乎還能處理一堆奇異的 Sample Rate, 像是 88.2KHz, 96KHz, 192KHz 之類的 ... (汗)

編輯過本文,順道推上去 :)

Spritz
文章: 23
註冊時間: 2001-12-06 08:00
來自: 台北

文章 Spritz » 2002-06-14 05:32

這篇寫得真是詳盡啊!

不過 1.04 版本好像真的不太好用
我怎麼壓就怎麼爆(聽過原WAVE檔)
之前用 1.7.9C 版本的時候就很好。

現在換到 1.02 .. 還不錯

要用的人可以用這個版本。

dert
文章: 54
註冊時間: 2001-01-07 08:00

文章 dert » 2002-06-14 11:11

?_?
Tiberius大
您說壓mpc是最好用1.02 舊版 mppenc
那Winamp plugin (mpc用)也有不少版本
哪個版本才好用
音質才好啊!

還有Winamp plugin(in_mpc.dll)中的設定會影響音質嗎?
哪些設定才是好的?

如果問題太呆
大大們可以笑我啦! :-.-:

回覆文章