前記事から長い道のりではございますが、本編として続けさせて頂きます。
【 現時点のMS謹製UAC2.0ドライバで手元のUSBDACを動かしてみた 】
▽ とりあえずUSBDACをつなげてみる
手元にWindows10 Creators Updateに上げたマシンがあるので、彼を人柱に。お相手となるUSB AUDIO CLASS2.0準拠のUSBDACは iFI nano iDSDとしました。業界標準的な位置づけのモデルですので、丁度いいかな。
まずは、PC側のOSのエディションとバージョンとOSビルドを確認。
<Windowsマーク⇒右クリック⇒システム⇒バージョン情報で表示>
——————-
エディション:Windows10Pro
バージョン:1703
OSビルド:15063.138
——————-
iFI純正ドライバをインストールしていない状態(アンインストールした状態)で、早速繋げてみます。あ、あっさりドライバが当たったっぽいです。初めてUSBメモリを挿したときにドライバが当たりますよね、あんな感じです。
じゃ、デバイスマネージャーで確かめてみましょう。
「ちゃんと当たって・・・・ないぞ? なんだ、これ?」
「オーディオの入力および出力」「サウンド、ビデオ、およびゲームコントローラー」の両項目には “iFI (by AMR) HD USB Audio” と出てますね。OKです。で、「ほかのデバイス」の項目にはビックリマークが。”! iFI (by AMR) DFU”とありますが。これ、なんでしょ? 「Device Firmware Update」のDFUのことかしら?iFIの場合、純正ドライバにファームウェアのアップローダーも同梱されていたはずですので、純正ドライバをこの環境でインストールしていない以上、該当するものが存在しないって事かしら。
正常にドライバが当たったと思われる「オーディオの入力・・・」「サウンド・・・」両項目の “iFI (by AMR) HD USB Audio” のプロパティを見てみましょう。ドライバタブを見ますと、「Microsoft謹製・バージョン10.0.15063.0」とあります。MSさんのUSB AUDIO CLASS2.0ドライバです。ま、サウンドデバイスとしてはちゃんと認識してるっぽいので、このまま検証を続行する事にします。問題があればここから先で分かるでしょう。
▽ WindowsOS側のサウンドを確認してみよう
OS側のサウンドデバイスの状態を確認してみます。
<通知領域のスピーカーマークを右クリック⇒表示>
スピーカーとして、iFI (by AMR) HD USB Audioが規定のデバイスとなってます。緑のチェックも付いてて大丈夫そうです。
さて、このスピーカー(iFI (by AMR) HD USB Audio)のプロパティも確認してみましょう。チェックしたいところは詳細タブです。WASAPI排他モードの設定もOKです。で、ビット深度とサンプルレートもつづけてチェックしておきます。
「ありゃ?」
見ての通り、ビット深度が32bitしか出てきませんね。サンプルレートは44.1kHz~384kHzまで出るんですけど。iFI純正ドライバを当てた場合、ここは16bitと24bitも選択できて、サンプルレートは44.1kHz~192kHzの選択だったはず。特異点ですね。この32bitオンリーの件、これから先で行うレンダラーでの動作検証に関わってきます。アタマの片隅に残しておいてください。
▽ じゃ、foobar2000で再生してみるとすっか。
お馴染み、foobar2000での動作を確認してみます。ちなみに、個人的な好みでfoobar2000は枯れたバージョンを使ってます。新しいのはどうも馴染めなくって。その点ご留意くださいませ。※検証環境のver等詳細仕様は末尾をご参照ください。
まず気をつけないといけない事なんですが、MSさん謹製のUSB AUDIO CLASS2.0ドライバ、ASIOの口を持っていません。ASIO非対応ですので、MS謹製UAC2.0ドライバを当てたiFI nano iDSDで出力APIを選択しようとすると、以下のものしか選択できないのです。従って、foo dsd ASIO経由でも出力できません。
<選択できるAPI>
——————-
WASAPI(event)
WASAPI(push)
Direct Sound ⇒ DS表記
——————-
▽API毎の挙動を確認する
では、それぞれのAPIで挙動を見ていきましょう。ちなみに検証ファイルはPCMフォーマットの音源です。検証環境のfoobar2000ではASIO経由でしかDSDは出力できないことから、その条件になります。
☆WASAPI(event)
ハイレゾ標準な24bit/96kHz FLACファイルを再生しようとしたらいきなり音が出ません。16bit/44.1kHz waveファイルでも音出ず。
「えー!さっそく?」
foobar2000側のPreferencesを眺めてみます。気になる事をここで発見しました。「Output Format」の設定、もしかして・・・。
“Preferences⇒Output⇒Output Format項”に出力時のビット深度を設定するパラメータがあるのです。検証環境ではこれが”24bit”に設定されています。
「もしかして、ここは”32bit”設定にしないといけないんじゃ?」
ハイ、思い出してください。OSのサウンドデバイスの状態をチェックした時、ビット深度が32bitしか表示されませんでしたよね?
直感で設定を変更してみました。
「あ、音出た。しかもアッサリ」
対応する44.1kHz~384kHzの全サンプルレートのファイルで音が出ました。ビット深度も16bit、24bit、32bit(float/integer)共にOKです。以降のAPI検証は、Output Formatを32bitに設定する事とします。
でも、なんか違和感が。
ん?ピッチが少し早くないか?あと、foobar2000の各メーター、全然振らないぞ。レベルメーターとかSpectrogramとかSpectrumとかVU meterとかOcilloscopeの話です。ピッチについては何回か再生をリトライしたら直りました。サウンド、切れることもありませんしノイズが出ることもありません。が、メーターについては振ってくれる気配すら見えませんねー。
さ、諦めて次行ってみよう!次!
☆WASAPI(push)
サックリ音が出ます。対応する44.1kHz~384kHzの全サンプルレートの音源、ビット深度も16bit、24bit、32bit(float/integer)共に。切れることもノイズることもなく良好なサウンドです。foobar2000のメーターもすべてちゃんと振っています。
「あ、いつものfoobarさん」ホッとしますね(笑)
普通に使えました。特段書く事が無いほどに普通です。書き手としては困るんですが(笑)
念のため、Output Formatを32bit⇒24bitに変えてみましたら、やっぱりそれじゃ音が出ません。MS謹製UAC2.0ドライバを使った時って、foobar2000のこの項目は”32bit”なんだなあ。
☆Direct Sound ⇒ DS表記
さあ、またまた不可解な挙動を見せたのがこのAPIです。
「ありゃ?また音が出ないぞ」
Output Formatはグレーアウトなので、そもそもビット深度の設定ができません。
しばらくfoobar2000のパラメータを弄りましたが変わらず。
「ということは、OSのサウンドかなあ?」
ここで、スピーカー(iFI (by AMR) HD USB Audio)のプロパティ⇒詳細タブのサンプルレートのパラメータを以下の様に変更してみたのです。
———————-
DSで音が出ない:32ビット、384000Hz(スタジオの音質)
パラメータ変更:32ビット、44100Hz(スタジオの音質)
———————-
「出た!音出るぞ、コイツ!」
そこからこのパラメータをアレコレ弄りつつ、色んなサンプルレートのファイルを試して確認出来た事を以下にまとめます。
・OSのサウンド⇒iFIのプロパティ⇒詳細タブのサンプルレート
———————–
音が出るパラメータ:44.1kHz~192kHzまでの各サンプルレート設定
全く音が出ないパラメータ:352.8kHz~384kHzまでの各サンプルレート設定
———————–
・再生出来る音源ファイルのサンプルレート
———————–
音が出るファイル:44.1kHz~192kHzまでの各サンプルレート
音が出ないファイル:352.8kHz~384kHzの各サンプルレート
———————–
音が出る分に関しては、切れる事もありませんしノイズることもありませんでした。各メーターも普通に振ってます。しかし、挙動とパラメータ設定の関係がトリッキー過ぎるわ。
▽ HQPLAYER3でも動かしてみるか。DSDも試してみたいし。
WASAPIでDSDのDoP出力にも対応しているHQPLAYER3でも試してみました。これ、Outputのビット深度が調整出来ますし。APIをWASAPIにして、DSDはもちろんDoP出しです。
ここでまたまたOutputのビット深度を弄ってみました。
「なんということでしょう!」
HQPLAYER3の場合、32bit固定はおろか16bitでも24bitでも初期設定でも音が出るじゃありませんか! 意味ワカラン・・・てか、こっちのほうが普通の挙動か。なんなんなのよ、foobar2000とHQPLAYER3との挙動差。やっぱりトリッキー過ぎるわ。
PCMファイル、対応する44.1kHz~384kHzの全サンプルレート、ビット深度も16bit、24bit、32bit(float/integer)共にサックリ音が出ます。切れることもノイズることもなく良好なサウンドですね。DSDファイルについては、DoP出しでDSD64とDSD128が問題なく再生出来ます。WASAPI側の制約でNative出しは出来ませんからDSD256は再生出来ません。DAC側の仕様通りですね。
で、気になる点もあり。再生中の曲をちょっと早送りしようとしたりすると結構フリーズしますね。その操作に限らず、なんらかの異常でフリーズした場合、復旧のためにはHQPLAYER3の再起動だけでなく、iFI DACのハード側電源もOFF/ONしてあげる必要があります。HQPLAYER、比較的そのような傾向があるにはあるのですが、MS謹製UAC2.0ドライバと検証環境(iFI nano iDSDの検証環境ファームウェアとHQPLAYER3の検証環境ver.)だと、その傾向が少し強く見える気がします。あんまり余計なことをしない方がよさそうな感じですね。それぞれのソフトウェアバージョンを変えると解決する問題かもしれませんが。
【では、iFI純正ドライバを当ててみよう】
▽ MS謹製UAC2.0ドライバからiFI純正UAC2.0ドライバへの替え方
MS謹製UAC2.0ドライバ⇒iFI純正ドライバへの変更は、そのままiFIのドライバをインストールしてください。iFI指定の手順どおりに行えば純正ドライバがキッチリ当たります。(注)関連する内容を後述します。
当たったら、WindowsOS側のサウンドを確認してみましょう。特にチェックする箇所は、”スピーカー(iFI (by AMR) HD USB Audio)”のプロパティの詳細タブです。WASAPI排他モードの設定は当然にOKなのですが、前述の通り設定出来るビット深度とサンプルレートがMS謹製ドライバと異なります。iFI純正ドライバの場合は、ビット深度:16bit/24bit/32bit、サンプルレート:44.1kHz~192kHzです。ここのビット深度とサンプルレートの設定は、ブラウザでYouTubeを見たときなどのサウンドが影響を受けます。
▽ iFI純正ドライバを当てた場合とMS謹製ドライバを当てた場合の挙動差
foobar2000を使ったiFI純正ドライバでのnano iDSDの挙動は以下の通りです。
☆ WASAPI(event)
☆ WASAPI(push)
16bit~32bit(float/Integer)・44.1kHz~384kHzとDACの仕様通りのサンプルレート音源が再生出来ます。もちろん各メーターも当然に振ります。なお、foobar2000のOutput Format設定は32bitでも24bitでも16bitでも音が出ます。挙動、MS謹製UAC2.0ドライバと違いが出ていますね。
☆ Direct Sound ⇒ DS表記
WindowsOS側のスピーカー(iFI (by AMR) HD USB Audio)のプロパティの詳細タブの設定ですが、MS謹製UAC2.0ドライバと異なり、どのサンプルレートを選択していても音は出ます。ちなみに、MS謹製ドライバと同じくPCM352.8kHzと384kHzの音源、サウンドは出力できませんでした。
☆ ASIO
iFI純正ドライバはASIOの利用が可能ですので、foo dsd ASIO経由でDSDの出力も可能です。ここは最大の相違点でありアドバンテージですね。DoP出力の場合はDSD64とDSD128までとなりますが、Nativeの場合はDSD256も対応します。PCMファイルは16bit~32bit(float/Integer)・44.1kHz~384kHzとDACの仕様通りのサンプルレートが再生出来ます。
なおHQPLAYER3も、WASAPI・ASIO共仕様通りに再生出来ます。「PCMファイルは16bit~32bit(float/Integer)/44.1kHz~384kHz」「DSDファイルは、『WASAPIとASIO DoPの場合DSD64とDSD128』『ASIO Nativeの場合は加えてDSD256』」にも対応します。
▽ iFI純正ドライバ⇔MS謹製ドライバへの変更方法まとめ
iFI純正ドライバ⇒MS謹製ドライバへの変更で最も簡単なのは、iFIの純正ドライバをアンインストールして、再起動後にDAC本体をUSBポートに接続する方法です。以下にまとめておりますのでご参考にどうぞ。
—————————
『iFI純正ドライバからMS謹製ドライバへ変更の場合』
<最も簡単な方法>
1.iFI純正ドライバを”プログラムと機能”からアンインストールする
2.USBポートからDAC本体を外してOSを再起動する
3.USBポートに再びDAC本体を接続する
4.OSネイティブのMS謹製UAC2.0ドライバがインストールされる
—————————
『MS純正ドライバからiFI純正ドライバへ変更の場合』
1.iFIの純正ドライバがインストールしてある場合は、プログラムと機能からiFIのドライバを一回アンインストールする
2.再度iFI純正ドライバを指示どおりインストールし直す
3.DACを認識してない時は、DAC本体の電源をOFF/ONする事
—————————
ちなみに、MS謹製ドライバが当たっているのか、iFI純正ドライバが当たっているのか確認を行うには、デバイスマネージャーの以下のポイントをチェックしてください。
<デバイスマネジャーの表示>
—————————
『MS謹製UAC2.0ドライバの場合』
・「HD USB Audio」項なし
・「オーディオの入力および出力」の配下に”スピーカー:iFI(by AMR) HD+USB AUDIO”あり
・「サウンド、ビデオ、およびゲームコントローラー」項の配下に”iFI(by AMR) HD+USB AUDIO”あり
・「ほかのデバイス」項の配下に”! iFI (by AMR) DFU”(!付・ドライバ当たらず)
・”iFI(by AMR) HD+USB AUDIO”を右クリック⇒プロパティ⇒ドライバタブで”Microsoft”表記を確認
—————————
<デバイスマネジャーの表示>
———————————–
『iFI純正UAC2.0ドライバの場合』
・HD USB Audio項の配下に”iFI(by AMR) HD+USB AUDIO”あり
・オーディオの入力および出力の配下に”スピーカー:iFI(by AMR) HD+USB AUDIO”あり
・サウンド、ビデオ、およびゲームコントローラー項の配下に”iFI(by AMR) HD+USB AUDIO”あり
・”iFI(by AMR) HD+USB AUDIO”を右クリック⇒プロパティ⇒ドライバタブのプロバイダーで”AMR”表記を確認
———————————–
—————————
【総括】
あくまで検証条件下に限定されますが、MSさん謹製のUAC2.0ドライバをiFI nano iDSDに当てて使う事に関しては、ノイズや音切れなどは無く想像していたより普通の挙動でした。しかしながらレンダラーの設定面においてトリッキーな部分があったり、ファームウェアアップローダーが当然未実装だったり、ASIOが使えなかったりと、制約の多さを思うにこちらをレギュラーで使おうとは思えませんでした。初期設定の簡便さを求めるPC初心者層には一見優しそうに見受けられますが、そのような点を鑑みますと「現時点ではおススメ出来ないな」というのが率直な感想です。DACによっては”うまく動かない”等の異なる結果が出るかもしれませんしね。
「サウンドはどうですか?」という関心もあるかと思います。読んで頂くと分かるとおり、レンダラー側の設定にトラップが仕掛けてある状況ですから、今回の検証ではキチンと音が出るのを確認するのがやっとでした。ただ、音切れやノイズのような最低限のクオリティについては、検証中特段問題に感じたことはありません。今後のMS謹製ドライバの成熟とそれに合わせる形のDAC側ファームウェアやレンダラーのバージョンアップが進むこと、万人が恩恵を被れるためにも期待せねばなりません。
Microsoftさんも遅ればせながらUSB AUDIO CLASS2.0に対する関心を寄せてくれたわけで、我々PCオーディオ愛好家からするとそれは朗報と言えるのでしょう。が、個人的に思うところ「ハイファイオーディオ向USBDACのメーカー純正ドライバは今後も恐らく無くならない」とも思っています。・・・もとい、そう願いたいと申しますか。
現時点において、WindowsOSでのオーディオ向音声APIはASIOが標準でありますし、JPLAYファンを好例とするPCオーディオ派の尖ったユーザーさんの関心や要求は、”ドライバ側バッファセッティングのチューン”に至っています。その理由、対応フォーマットの拡充や音質向上目的である事は今さらのお話ですよね。
PCオーディオ用のOSにWindowsを選択する最大の魅力は、ユーザー側の選択肢の多彩さです。マシンの選択やハード的カスタマイズの自由度の高さは当然の事として、フリー・シェアを問わないハイレゾDSD対応レンダラーの種類の多さ、出力APIの選択など、チューニングの多様さは他のOSの比較になりません。踏まえ、ドライバがOSネイティブになることは、PCに不慣れなユーザーへの、またDACメーカーに対する開発面での”負担軽減”という実効果が出るでしょうから、それは確かに利点となります。反面、”OSベンダーへの依存に傾く”とも解せますので、メーカーサイドの開発・デバッグの柔軟さやユーザーによるカスタマイズの許容範囲という点から見ると、魅力を減ずる反作用も起こり得るやもしれません。
今回のトピック、実のところPCオーディオの基盤技術に関わる重要な内容です。ただ光の当たらない、多くの人がさして関心を寄せない、そんな程度の話題なんですけど。オーディオの価値尺度は一般的に「音がいい悪い」を軸にしておるわけですが、その尺度も”モノがちゃんと動かなきゃその話ははじまらない”という点、ご理解頂けますと嬉しく思います。
長い時間のお付き合い、誠にありがとうございました。
【検証環境データ】
▽ OS
Windows10 Professional
version:1703
OS build:15063.138
▽ Microsoft謹製USB AUDIO CLASS 2.0ドライバ
version:10.0.15063.0
▽ iFI純正ドライバ
USB HD Audio driver(iFI by AMR) v.2.26.0
▽ iFI Audio nano iDSD
Firmware ver.4.02
▽ foobar2000
foobar2000本体:ver.1.3.8
foo_out_wasapi:ver.3.2.3
foo_dsd_asio:ver.2.1.2
foo_input_sacd:ver.0.8.1
ASIO Proxy for foobar2000:ver.0.7.1.2
▽ HQPLAYER3
HQPLAYER3.7.1(ja)
<2017.5.18追記>
この検証を終えてすぐの事ですが、2017/5/10前後のWindows10向Windows Update(KB4016871/KB4019472)以降、上記ver.のHQPLAYER3はアプリそのものが起動しなくなりました。開発元Signalyst(本国)のリリースによりますと、”ver.3.16.3以降にアップデートせよ”との事です。この追記を書く時点での最新はver.3.16.4となっています。なお、ver.3.16.3に対して日本語版のライセンスキーは投入可能だったものの日本語化は出来ませんでした。但しこれは検証環境での結果ですので、各ユーザー様個別の状況にはコミット致しません。弊社でのサポートも致しかねますので、ご不明点等はFacebook経由でSignalyst(本国)へ直接コンタクト願います。私も一瞬慌てました、冗談じゃなくって。