Windows Vista SP1以降のWindowsにはWASAPIというオーディオAPIが標準で用意されており、これを使うことによって高音質、低ノイズが見込める。このWASAPIをfoobar2000で使えるようにして高音質化する手順を紹介する。
WASAPIとは
難しい説明は省略するが、WindowsなどのOSでは音を出す際にさまざまな処理や音の合成を行っている。したがって、パソコンから出る最終的な音はfoobar2000で再生している音やブラウザで再生している音、システムの音など、すべてが合成された音、環境によっては補正等がかかった音になっている。(これをWASAPI共有モードという)
この余計な処理や合成を省略して、プレーヤーから直接音を出力するのがWASAPI 排他モードというものである。プレーヤーでWASAPI排他モードを使えば再生している音そのものを聞くことができる。(劇的に変化はわからないと思うが、理論上は余計なものが混入しないということで設定しておくとよい)
ただし、条件があり、オーディオボード、USB DACなどがWASAPIに対応している必要がある。また、WASAPI排他モードを使用している間(foobar2000で音楽再生している間)はOSの他の音が一切ならなくなる。つまり、音楽を聴くためだけの究極の状態ということである。
foobar2000でWASAPI排他モードを使う
foobar2000ではWASAPI排他モードを使用することができる。インストールがまだの方は、音楽再生プレーヤーfoobar2000の使い方を参考に準備していただければと思う。
foobar2000ではこのWASAPI排他モードをコンポーネントを追加することで使うことができる。その手順を紹介していく。
foobar2000のホームページからWASAPI output support をクリックする。コンポーネントはアルファベット順なのでページ下部にあるはずである。
Linksの下のDownloadをクリック。
適当な場所を選択し、「保存」をクリックする。
ダウンロードしたフォルダを見ると上図のようなファイルがあるので、これを開く。
コンポーネントインストーラが動き、インストールするか確認が表示される。オフィシャルからダウンロードしたものでほぼ危険はないと判断し「はい」をクリックする。
上記のようにfoo_out_wasapiが追加されているが、まだ有効にはなっていないので「Apply」をクリックする。
foobar2000を再起動するか聞いてくるので「OK」をクリックする。
再起動後、インストール確認と設定するをするため、「File」-「Preferences」をクリックする。
ComponentsにWASAPI output supportが含まれていることを確認する。次に設定を行うため、左のメニューの「Playback」の横の三角をクリックする。
「Playback」の「Output」をクリックすると、再生するデバイスが表示される。初期はDS(DirectShow)のプライマリサウンドドライバーになっているはずだ。これがWASAPI共有モードの状態である。これをWASAPIの排他モードで使う設定に変更する。
ドロップダウンボックスをクリックしてWASAPI(event)の該当デバイスを選択する。サウンドボードやUSB DACで対応しているものがあれば表示されているはずである。このパソコンにはONKYOのSE-U33GXVというUSB DACが接続されているので、それを選択している。(その他、グラフィックボードも表示されているが特に接続はしていない)
[adsense]
eventとpushがあるがeventのほうが負荷が少ないのでそちらを選択しておこう。
選択するとOutput formatが表示されるので、オーディオデバイスの対応しているビット数を選択しよう。SE-U33GXVは24bitまで対応しているので24bitを選択する。
最後に「OK」をクリックして、設定は完了である。これでfoobar2000で音楽を再生しているときはWASAPIの排他モードになり、再生している音のみがスピーカーから聞こえるはずである。音量もOSのものとは関係がなくなりfoobar2000で設定している音量が反映される。(普段音を小さくしている方は、WASAPIに切り替えたときに大音量になる可能性があるのでスピーカーor foobar2000の音量を絞っておこう)
ここまでで音楽再生時、特にエラーが出なければ設定は完了だ。
もし、Unsupported stream format:というエラーがでて再生できない場合は、オーディオデバイスが再生フォーマットに対応していない可能性がある。例えばオーディオデバイスが48kHz,96kHzのみに対応だった場合、CDフォーマットの44.1kHzを再生できない。全ての周波数規格に対応していればよいが、そうでないこともある。その場合は、音声をリサンプリングすることで再生は可能だ。foobar2000には標準でその機能があるのでまずはそちらで試してみよう。
「Playback」-「DSP Manager」をクリックして開き、Resampler(PPHS)を選択。次に中央の矢印をクリックする。
すると、Active DSPsにResamplerが追加される。設定は「Configure selected」をクリックする。
サンプリングレートを設定できるのでオーディオデバイスの対応している周波数に合わせよう。
設定したら「OK」をクリックして、設定を閉じる。
ただこの場合はリアルタイムにサンプリングし直すので、元のファイルそのままの音ではなくなる。つまりネイティブ再生ではないので気になる方はデバイスから見直す必要が出てくるだろう。またリサンプリングするコンポーネントもあるようなので音質の変化が気になる方は試してみるとよいだろう。
コメント
[…] を使用している。この機器はASIOには対応しておらず、WASAPIのみである。WASAPIを使う手順はこちらを参考にしていただきたい。ASIOの場合は、こちらからコンポーネントをダウンロード、イ […]
[…] foobar2000でWASAPIを使って高音質化する手順 18,757 views […]
WebMaster kazutomo 様
お邪魔いたします。
私も遅まきながらハイレゾ(PCオーディオ)を経験したくなり、まずは、(専用DAC機器を買う前に)、
手持ちのPCにfoobarをインストールし、ハイレゾファイル(交響曲)をダウンロード。
PCをピュアオーディオ機器に接続して再生してみました。
ところが、音質はイマイチだったのです。(高弦などは、同音源のCDより滑らかで良いのですが、金管楽器の咆哮が全くダメ)
貴ブログ(「foobar2000でWASAPIを使って高音質化する手順」)に従ってPC(foobar)の設定を変えてみたところ、
不満は殆ど解消されました。(次の段階では、専用DAC機器を導入するつもりですが、まずはPCだけでハイレゾ気分を味わいます)
本当にありがとうございました。
WASAPI.fb2k_component は64ビット環境では動作しないのでしょうか?
確かにサポートは32ビットになっていますが。
Windows 10 64-bit であれば、Win32 API の WASAPIはデバイスとしては動作しない、またはレイテンシが増大して飛びして再生するかのどっちかになります。
遅くなりましたがありがとうございました。こちらは Win 11 64 bitです。
64 bit 用は開発されないのですかね?