2020年6月6日土曜日

miniDSP MCHStreamer マルチチャンネルUSBオーディオ: 残念な話

香港miniDSPのUSBオーディオインターフェースMCHStreamer Kitを試してみました。この基板はDACやADCを搭載していませんが、XMOSベースで384kHz入力対応というのがポイントです。ただ今回テストした範囲では192kHzまでしか使えません。ご覧の通り基板の完成度が高いのに残念です。


インターフェース仕様

SPDIF: ステレオ入出力 24bit 44.1~192kHz(光入出力もあり)
I2S: 最大8ch入出力 24/32bit 8~384kHz(⇒ 192kHzだよね!)
TDM8: 最大24ch入出力 44.1~96k
PDM: 最大16ch 24bit 8~48kHz
DSD: 最大8ch出力 DSD64/128/256

ステレオは2チャンネルと数えるので8chはステレオ4系統相当です。電源はバスパワー動作も可能ですが、ヘッダピンから5Vを供給することもできます。

MCHStreamerはクロックマスタで動作します。I2Sクロック MCLK, LRCLK, BCLK はすべて出力なので、接続するADC/DACはスレーブモードで動作させることになります。

対応できるサンプルレートは、動作モードにより違いがあります。384kHz対応は、AllRate(入出力)、Oi2o_DSD(PCM出力)、Oi8o_DSD(PCM出力)の3つ。そのちI2S入力に対応するのはAllRateのみです。


Windowsで使用する

miniDSPのユーザダウンロードページからWindowsドライバ(ASIO)をダウンロードし、MCHStreamer KitをUSB接続した状態で、ドライバのsetupファイルを実行します。すると、基板のデフォルトであるI2S_TOSLINKファームウェアが有効になっているので、I2S 8chとTOSLINK 2chの計10ch、44.1~192kHzが使えます。


さて、とりあえず動作試験をしたいところ、9/10チャンネルにアサインされているトスリンクから音を出そうとしましたが、WaveGeneでは8チャンネルまでしか選べないし、良いツールが見当たりません。そこで付属の更新ツールminiDSPUAC2Dfuを使いファームウェアをTOSLINK_Onlyに差し替えて、TOSLINKを通じての動作確認ができました。


今回は、I2S 384kHzを使えるようにしたいのでファームウェアをAllRateに変更します。ただI2Sの対応デバイスがありませんから、とりあえずI2S入出力を直結してループバック動作させることにしました。

ところが、WaveSpectra(他のソフトでも)では192kHzまでしか使えません。



念のため、Oi2o_DSD/Oi8o_DSDファームウェアに変えたところ、384kHz出力はできますが入力は非対応です。



これは、おかしいとサポートに問い合わせたところ、次の回答が届きました。

  • AllRateは、パケットサイズがUSBリンク速度を越えるため、384kHz 8chをサポートしていない
  • 384kHz 2ch 双方向オーディオには対応していない

ええー!?と驚きです。資料では384kHz双方向で使えるかのように書いてあるのですが、現状で使えそうもありません。
いちおうLinuxでも試してみたところ、ラズパイ4でドライバを追加することなくASIOで使用できます。ただ、AllRateファームウェアでのループバック動作はやはり192kHzまででした。

サポートは、USBリンク速度の制約を受けていると言っています。オーディオの転送レートは、32ビット×384ksps×8チャンネル×2双方向=196.608Mbsとなかなかのものです。もしUSBの接続速度がそれ以下なら、ぜったい通りません。UsbTreeViewでUSBインターフェースの接続状態を確認したところ、High-Speed(480Mbps)で接続ですから大丈夫のはずです。


High-Speed接続なのに、なぜリンク速度が不足するというのか、詳しい方に尋ねてみたところ、ドライバのディスクリプタの書き方次第で上限が変わるらしいんですね。何か物理的な制約があるのか、何らかの事情があってソフトを頑張っていないのか、外野からは知る由がありません。とはいえ、384kHz対応と謳うくらいであれば、この製品のようにチャンネル数を削減して384kHz双方向通信ができるドライバをリリースしてほしいものです。

マルチチャンネル

マルチチャンネルデバイスは使ったことがなく、Windowsからどのように見えるのか興味津々でした。画面コピーを貼り付けておきます。

コントロールパネル ⇒ サウンド
再生タブ(スピーカー MCHStreamer Multi-channels)



録音タブ(ライン MCHStreamer Multi-channels)


スタートメニュー ⇒ miniDSP Ltd ⇒ miniDAC UAC2 Control Panel