2016年10月1日 星期六

ffdshow audio processor提高播放器音質

ffdshow audio processor係ffdshow其中一部件,主要將解碼音訊數據同時可以加入後處理,最常見係配合resampler將音訊重新取樣成更高頻率,例如將44100Hz頻率轉換成96000Hz的頻率。


fdshow係一系列既影音編碼及解碼程式,當中包括影像解碼器(video decoder)、音訊解碼器(audio decoder)、DXVA影像解碼器(DXVA video decoder)、原始影像濾鏡(raw video filter)、音訊處理器(audio processor)。

而今次只會用audio processor而不需使用audio decoder,因為解碼音訊可以使用播放器內置或lav-filter較新的解碼器。

而ffdshow audio processor可以用在不同支援外置濾鏡的播放器,包括mpc-hc、mpc-be、potplayer等,亦支援32-bit和64-bit播放器

安裝流程

首先在連結下載ffdshow安裝檔,64bit播放器便下載64-bit builds中最新的版本,32-bit播放器便下載generic builds中的,https://sourceforge.net/projects/ffdshow-tryout/files/SVN%20builds%20by%20clsid/

安裝時可以只安裝audio decoder、raw audio processor、VFW interface,但我亦有另一篇文章使用raw video filter提高畫質可以到連結參詳:
http://ppkkkp.blogspot.com/2016/09/ffdshow-raw-video-filter.html

使用MPC-HC/BE用家可以在外部篩選器(external filter)中新增篩選器
然後選擇ffdshow raw video filter,最後再剔偏好就可以。

使用potplayer用家可以全域濾鏡優先權新增ffdshow Audio Processor,再設定優先順序強制使用
不過potplayer預設的音訊輸出已經支援提升至192kHz,所以potplayer用家可以看我這篇文章http://ppkkkp.blogspot.com/2016/10/potplayer-192khz-hi-res.html


當用配置了audio processor的播放器播放時,windows右下角就會有ffdshow audio processor的logo,double click就會開啟設定。如果有兩個logo就選擇ffdshow raw audio decoder就可以。

當中有不少的濾鏡(filter)可供調校,但我只講解設定Equalizer、Resample、LEF Crossover及Mixer,某些濾鏡我沒有太深入認識所以不作解釋。


在Equalizer中提供不同10個階段頻率可以調節,而且可以自行更改頻率的數值。

Resample建議將數值提升至96000Hz,並使用libsamplerate sinc high quality,而我習慣Resample always即是不論任何頻率的音訊都會轉換到96kHz,不過亦可以選擇上方設定,這樣可以在某音頻以上或以下才啟用Resmapler。

LEF Crossover啟用後便可以加強低音,但不同於Equalizer的效果,因為Equalizer只對某一細範圍的聲頻加強,而LEF Crossover則對某一頻率下的聲頻整段加強,
Lowpass frequency可設定某頻率以下的聲頻會加強,最高可調節到300Hz;
Gain就設定增強的效果不過亦可以減弱,可以從-10dB到10dB之間範圍中調節。

Mixer可以將音訊重新混音以你使用的喇叭的聲道,很多時候觀看5.1聲道的影片而使用2.0聲道的喇叭只會聽到前置左右聲道的聲音,沒有低音、置中及後置左右聲道的聲音,會發覺沒有低音及人聲很細。
而重新混音會將5.1、7.1等多聲道的音訊中各自聲道以合理水平重新分配到你所使用的聲道,得到較沒有混音更接近應有的聲效體驗。

Output speakers configuration就設定你正使用喇叭的聲道數目,右方的LFE就代表subwoofer,有subwoofer便剔選,沒有便取消;如果使用5.1聲道喇叭便選擇3/0/2 - 5 channels再選用右邊的LFE;如果使用2聲道喇叭便選擇2/0/0 - stereo再取消右邊的LFE,以上兩個應該是最常見的例子。

下方的matrix預設為Normalize matrix則是常見的設定,但你亦可以選擇Custom matrix自行調校matrix的數值。

Expand stereo to center及Expand stereo to surround的原理都相同,就是把雙聲道的音訊混音並擴展到更多聲道的喇叭系統,令使用多聲道喇叭的用家觀看雙聲道的影片時都可以用盡所有喇叭。
Expand stereo to center就會將音訊擴展到置中的喇叭,Expand stereo to surround就會將音訊擴展到後置的環繞喇叭


輸出(Output)首先設定輸出的方法,如果使用HDMI或S/PDIF之類的數碼訊號就選擇最上方的Pass-through,但數碼音訊的類型我不熟悉所以要用家自行發掘。
如果使用常見3.5mm插座的類比訊號便選擇中間的Output format for uncompressed or decoded streams,而當中選項就根據你的聲效卡可以支援的數值,可以在windows右下角的聲音icon度右鍵開啟播放裝置,然後選擇喇叭,在內容選擇進階,然後當中最高可支援的數值便是最低的選項,同時在這裏也選擇最大數值。
以我為例子,我最高支援24位元(bit)及192kHz的音訊,所以我在ffdshow的輸出便可以選用24-bit integer,即使我選用32-bit integer,電腦亦會自動下調到24-bit;但選用16-bit integer使會使用16位元輸出不會自動上調到24位元。

最後Connect to可設定為DirectSound但不要設定為WaveOut,因為WaveOut是Windows XP時代的產物,已經由DirectSound取代。
到這步基本上設定完畢。

2 則留言:

  1. 你好,请问Dolby Decoder里面的Dolby Pro LogicⅡ

    Mixer里面output speaker configuration的Dolby Pro LogicⅡ 有什么呢区别呢?
    两个可以同时勾选吗?

    回覆刪除
  2. 前者Dolby Decoder是解碼,如果影片是Dolby Pro LogicⅡ要勾選才能正常解碼,
    後者是output speaker configuration是輸出到喇叭的格式,如果使用5.1聲道或以上的喇叭便可選擇

    回覆刪除

vk share