Music TO GO!

2010年08月19日

オーディオファイル向けミュージックプレーヤー(7) - KMPlayer + ReClock

今回の記事はWASAPIを使用したWindows 7のための記事です。また、下記のHeadFi記事を参考(スタート)にしていますが、以降のReClockに関して調べたことがらは私があちこちネットをあさって掘り出したものですので、念のため。
http://www.head-fi.org/forum/thread/438010/tutorial-wasapi-support-for-kmplayer-having-a-top-notch-video-audio-player

1. ReClockとは

今回の記事の主眼はKMPlayerではなく、ReClockというソフトウエアです。KMPlayerについては最低限しか書きませんので、詳しくは調べてみてください。

ReClockはDirectShowのフィルター(プラグイン)で、役割はレンダラーです。
DirectShowは略すと同じDSなのでDirectSoundと混同されることもありますが、基本的には別なものでDirectSoundはDirectXというマルチメディアライブラリーの一部、DirectShowはメディアプレーヤーのフレームワークです。ただし名前が似てることから推察されるように関係はあります。(ここでは詳述しません)。DirectShowはフィルター(プラグインとかモジュール)を組み合わせてマルチメディアプログラムを作る骨組みみたいなものです。フィルターには入力のためのものやレンダリングのためのものもあります。
なおDirectShowはMedia Foundationという新しいフレームワークに切り替わりつつあります。

ReClockはもともとは動画再生のためのレンダラーで、目的は動画をスムーズに再生させるためにグラフィックボードのクロックからフレームレートを調整するようなものです。
ただ最近では海外でもコンピューターオーディオ流行りのこともあり、ピュアオーディオだけでも使われることが多くて音がよくなると評判です。そこでちょっと調べてみました。

わたしも実際のReClockの動作に関して詳しくはないのですが、どうやらReClockはソフトウエア的なASRCのように微妙にリサンプリングをして動作周波数を調整するようです。つまり44.1->88.2のように大きなリサンプリングではなく、44.12356を44.10000にするような感じです。ただし、実際の調整法はこのようにぴったりのサンプリングレートにするのではなく、たとえばサウンドカード/DACのクロックに対して早めとか遅めにリサンプリングして、DA変換のときに再生ピッチシフトをさせることで調整するようです。この辺はちょっとよく分かりません。

2. どうしてKMPlayerを使うのか?

まずReClockを使用するにはプレーヤーがDirectShowで作られている必要があります。
こういう用途には一見Foobarが向いていそうですが、FoobarはDirectShowで作られているわけではないので、DirectShowフィルターを使用することができません。
正確に言うとinput_dsというコンポーネントで入力フィルターは使えるようですが、ReClockのようなレンダラーフィルターは使えないようです。
また、WMP12はMedia Foundationという新しいフレームワークで作られているので、互換性が微妙です。

KMPlayer自体は動画も使えるメディアプレーヤーです。音楽だけで使うときはムービー画面を閉じてミュージックプレーヤーモードになります。対応フォーマットが豊富で、ALAC(Appleロスレス)も標準で対応しています。

kmp_3.gif

おそらくKMPlayerとReClockの関係は、AmarraでいうiTunesとSSEの関係に近いのではないかと思います。つまり音源管理担当と音だし担当みたいなことなんでしょう。Amarraを使って、iTunesのQuickTimeをSSEに変えることで音が良くなるように、KMPlayerもレンダラーをReClockに変えると音が良くなるということでしょうね。
出力先デバイスとかOutput設定もReClockの担当です。そのため、ReClockを使うとWASAPI対応となります。また逆にWASAPI対応されたReClockが必要です(後述)。

3. インストール手順

ReClockはソース提供(GPL)でもあるため、バージョンがあります。古くからあることもあってネットのあちこちでReClockのダウンロードが見つかるかもしれませんが、基本的にはWASAPIを使うためにはslysoftのものが良いようです。

3.1 KMPlayerをダウンロードしてインストール
http://www.kmplayer.com/forums/showthread.php?t=4094
設定項目はデフォルトでよいと思います。

3.2 ReClockをSlysoftのサイトからダウンロードしてインストール
http://forum.slysoft.com/showthread.php?t=41776
設定項目はデフォルトでよいと思います。

両方とも英語のみページなのでわかりやすいようにダイレクトリンクにしましたが、本日付けの最新です。なるべく一階層戻って最新版を確認してください。

3.3 デスクトップにConfigure ReClockアイコンができるので、それをを立ち上げて設定する。

kmp_reclock_set.gif

*PCM設定をWASAPIに設定
*Device to use withをDefault deviceに設定。ここではHalide Bridgeを使っています。 (サウンドの設定からデフォルトデバイスを確認してください)
サウンドカードの場合はここで選択ができるかもしれません。(Win7マシンにはいま内蔵カードを入れていません)
*PCM outputの設定を変えます
QualityがBest Syncだと少しグリッチる(ノイズ不具合)のでGoodにしてあります。環境次第ではBestでもうまくいくかもしれません。
Formatは注意が必要です。ProtonやBridgeなど24bit native(24bit padding)転送のデバイスを使うときは、ここのFormatを24bit int(24bit整数型)にしてください。そうでないとdevice not supportedとエラーになります。
おそらくゴードン系のAyre QB-9はこれが必要だと思います。またフェーズテックHD-7AやDACPortも必要だと思います。24bit paddingはAsycもAdaptiveも関係ありません。
24bit paddingはサウンドの共有モードのプロパティで16bitの選択が出てこないことでわかります。こういうデバイスは24bitでしか受けられないので、24bitに16bitをパディング(詰めて)して送らねばなりません。
またuDACのようにPCM27xxを使用しているものは逆に16bitにしないといけませんので、デバイスに応じて設定が必要です。
バッファなどは特にいじっていません。

3.4 KMPlayerを立ち上げて画面上で右クリックする(日本語で出るはず)
オプション設定->環境設定->オーディオ処理のところでオーディオレンダラをReClock Audio Rendererに設定。

kmp_setup.gif

(ここの設定を見ると参照しているデバイス情報などが分かります)


3.5 KMPlayerで再生
KMPlayerからOpenかスクリーンに楽曲ファイルをドラッグして音楽ファイルを再生します。あとはKMPlayerの使い方を参照ください。

全体に設定はFoobar+Asio4all程度の難易度で、一回設定するとあとは普通のプレーヤーなのでcMP2とかXXHighEndよりは楽に使えると思います。
Appleロスレスも標準でサポートしているのでかなり楽です。

XPでは試していませんが排他WASAPIの代わりにKernel Streamingに対応しているようです。hiFaceともうまくいくかも。

4. 音質

実際にHalide Bridgeを出力デバイスにしてHeadroomで聴いてみました。KMPlayerとReClockとの比較にはFoobar 2000とWASAPIコンポーネントを使用しました。ReClockからもWASAPI排他モードで出力されるように設定しています。

たしかに音の違いはかなり明確で、上のHeadfi記事のようにぱっと聴いてすぐに違いがわかります。
同じ音を出してもより豊かでかつクリア、空間表現も良いですね。細かい音の抽出も良く、こんなに性能があったかと気がつかされます。
またFoobarより音楽的に好印象です。特にオーディオをやってきた方は、Foobarが痩せた感じで、KMPlayer+ReClockは厚みがあり豊かに聞こえると思います。

Foobar+WASAPIで十分ビットパーフェクトなんですが、こんなに明確な違いがでるというのは驚きますね。ビットパーフェクトはあくまで前提条件であって、音のよさというのはそこからはじまるというのをちょっと考えさせてくれます。
posted by ささき at 22:35 | TrackBack(3) | __→ PCオーディオ・ソフト編 | このブログの読者になる | 更新情報をチェックする

この記事へのトラックバック

PCオーディオへの取組み(48)
Excerpt: 48.KMPlayer+ReClock
Weblog: 落花流水【 愛燦々と! 】
Tracked: 2011-01-27 13:45

PCオーディオ(50) PotPlayer+ReClock
Excerpt: 50.PotPlayer+ReClockという試み
Weblog: 落花流水【 愛燦々と! 】
Tracked: 2011-02-07 14:00

アナログに魅せられて―作業編
Excerpt: ジャズのアルバム3枚を聴いて思いついたデジタルへの取り込みには機材としてパソコンとオーディオインターフェイスが必須です。うちには現...
Weblog: Years may go by
Tracked: 2011-05-30 10:01