Windows Media Playerは音質が悪い?

ツイート

フリーソフトを使ってビットパーフェクト再生する方法

 

Windows Media Player で WASAPI排他モードを使い、完璧(ビットパーフェクト)な波形で音声の再生を行う方法を ダマさん という方から提案して頂きました。恐らくWindows Vista 以降のどの環境でも有効だと思います。

方法は少しトリッキーで、ASIO Windows Media Player Plugin と ReClock という二つのフリーソフトウェアの機能を組み合わせて実現します。

ASIO Windows Media Player Plugin (ASIOWmpPlg)
(Lev Minkovskyさん作)

ASIOWmpPlgの本来の機能は、Windows Media Player の音声をASIOインターフェースに送る事なのですが、今回の手法ではこの機能は使わず、Windows Media Player が Media Foundation ではなく DirectShow を利用して音声再生を行う様に動作指定する為に利用します。
.wavファイル (含CDDA/その他のリニアPCM音声ファイル)と .mp3 及び .wma ファイルの再生時のみ、音声の流れが
 WMP→DirectShow→ReClock→WASAPI排他モード→オーディオインターフェース
という経路に変更されます。
これら以外のファイル再生時は、
 WMP→Media Foundation→WASAPI共有モード→オーディオインターフェース
という標準的な経路が保たれます。

 

ReClock (SlySoft.com社製)

ReClockの本来の機能は、DirectShow経由で再生された動画と音声を、ディスプレイモニタの垂直帰線に同期してリサンプリングし、動画の動きを滑らかにした上で音声とのズレを少なくするという事の様ですが、今回の手法ではこの機能は使わず、DirectShowに送られてきた音声を加工せずにWASAPI排他モードでオーディオインターフェースに出力させる機能だけを利用します。


設定手順


1. ASIO Windows Media Player Plugin をダウンロードしてインストールします

※この運用方法では、このプラグインのASIOマッピング機能は使いませんので、オーディオインターフェースがASIOに対応していなくても大丈夫です。

http://sourceforge.jp/projects/sfnet_asiowmpplg/releases/

現時点では ASIOWmpPlg-5.5.zip が最新版の様です。

ASIOWmpPlg-5.5.zip の中の Release フォルダを開き、Install.exe を実行します。

 


2. ReClock をダウンロードしてインストールします

http://forum.slysoft.com/showthread.php?t=52203

現時点では SetupReClock1879.exe が最新版の様です。


3. ReClockの基本設定を行います

デスクトップに Configure ReClock アイコン が作成されると思いますのでこれを起動し、ReClock の音声再生でWASAPI排他モードが使用されるように設定します。

 

PCM: WASAPI Exclusive
Bitstream: WASAPI Exclusive
WASAPI Exclusive: <Default Device>
(もしくは使用したいオーディオインターフェース)

上記の3項目をしっかりと設定し、OKで閉じます。

 


4. Windows Media Player でプラグイン設定を行います

Windows Media Player を起動し、メニューバーの「ツール(T)」 → 「プラグイン(P)」 → [ASIOWmpPlg Plugin] のチェックを外し、ASIO関連の動作を行わせない様にします。

※メニューバーが表示されていない場合は ALT キーを押すとメニューが出ます。
※音量調整目的の[Fine Volume 音量微調整プラグイン] や[WMPPlugin1]がインストールされている場合は、これらもチェックを外しておいた方が良いと思います。

 

 

初期設定はこれだけです。以下は動作確認です。


5. 再生テスト

Windows Media Player で.wavファイルの再生を開始します。
するとReClockが下図の様なダイアログボックスを表示すると思いますので、とりあえず [Yes, this time] を選んでOKします。

 


6. WASAPI排他モード確認

.wavファイルの再生が開始されるとタスクトレイに緑の時計アイコンが表示されると思いますので、これをクリックして ReClock Properties を表示させます。

正常に音声が聞こえて、かつ上図の様に Audio: WASAPI excl. (bit exact) と表示されていれば成功です!

いくつかの .wav .mp3 .wmaファイルなどを再生し、どれも問題無く安定してWASAPI排他モードで再生できている事が確認できましたら、次回、ReClock動作指定ダイアログボックスが開いた時に [Yes,always(don't ask again) ]を指定しておきますと、以後は確認ダイアログが表示されず、自動的にReClock経由で音声が再生される様になります。

 

 


音声データの検証


この方法で本当にオリジナルに忠実な再生が行えているかどうかを、いつもの差分抽出法で確認してみました。

下図の上の波形 source_00db.wav がオリジナルファイル、
下の wmpWASAPIex.wav が Windows Meida Player と ReClockでWASAPI排他モード再生したものをデジタル録音したファイルです。

 

録音した wmpWASAPIex.wav にオリジナルの位相反転したものをミックスして差分を抽出しますと、完全にまっさらな無音になる事が確認できました。ビットパーフェクトです!

 

ファイル内容も相違無し


Windows Media Playerで音楽CDをCDDA直接再生した場合や、48KHzの.wavファイルを再生した場合も同様に検証してみましたが、どれも問題無くビットパーフェクトで再生できていました。

ROLAND QUAD-CAPTUREでは、再生したファイルのサンプリングレートに合わせてDACのサンプリングレートも自動的に変更してくれている事が判ります。

 
44.1KHzの.wavファイルを再生時

 


48KHzの.wavファイルを再生時

 


注意点など


・WASAPI排他モードで再生した場合、Windowsの音量ミキサーのボリュームフェーダー操作は適用されず、オーディオインターフェースには常に最大音量の音声が送られます。
普段、音量ミキサーで音量をかなり絞って使っている場合、WASAPI排他モード再生時には大音量で音が鳴ってしまうと思いますので注意して下さい。
オーディオインターフェースやアンプ、アンプ内蔵スピーカー、あるいはノートPCにボリューム調整がある場合はこれらで音量を絞り気味に調整して下さい。もしこれらで音量調整できない場合は、
音量調整プラグインで音量を下げられます(ビットパーフェクトではなくなりますが聴いて判るほどの劣化は起きないと思います)。

・標準再生と比べますと、.wavファイルの音声の先頭と最後が若干(0.1〜0.2秒くらい)途切れて無くなってしまう傾向があるようです。
一般的な音楽ファイルでは頭と尻尾にこのくらいの無音が入っている事がほとんどだと思いますので、あまり問題無いと思います。

・Windows Media Playerの標準再生からこのWASAPI排他モードのビットパーフェクト再生に変えても、劇的に音質が良くなって聞こえるというようなものではないと思います。
標準再生ではオーディオエンジンのピークリミッタが-0.13dBFSスレショルドでかかり(あるいはSRCによって少しエリアスノイズが発生し)ますが、どちらも音に少しの違和感をもたらしたり、あるいはクリアさが少し失われるといった感じの劣化です。
低音と高音のバランスが変わったりですとか、音がすごく痩せたり太ったりですとか、そういう違いは発生しないと思います。
もし両者の音質に劇的な違いがある場合は、標準再生時に音を変えてしまう何かの要因が別にある様に思います。

・WASAPI排他モードで音楽を聴いていますとメール着信音など他の音は一切鳴りません(^_^;)

・Windows Media Playerの音声経路を一時的に標準状態に戻したい場合は、WMPのオプションの「プラグイン」ページ内の「区分(C)」で「バックグラウンド」を選択し、[Media Player State Monitor] のチェックを外します。

 


2012/12/10リマスタリング版 「Music of the planet」

2012年11月29日 ありぱぱP

Windows Media Playerは音質が悪い?