ということで、PCをトランスポートにするうえで、非常にコストパフォーマンスが高いHiFaceであるが、うちのDACで使用しているElectrArtのSDRAMメモリDAIとの組み合わせでは、バッファを有効にすると44.1kHzの曲が早回しになってしまうというトラブルが発生している。(48kHzを越えるサンプリングレートの曲だと逆に間延びしてしまう、笑)
これは、HiFaceが生成するS/PDIFフォーマットのCHANNEL_STATUSに、サンプリングレートの情報が載っていないのが原因。(CHANNEL_STATUSにサンプリングレートの情報が載っていないのはHiFaceのサポートに確認済み。)
SDRAMメモリDAIは、入力された音楽データをメモリに一旦貯め、DAI上の独立したクロックでデータをDACに送り込む事でジッタを低減する。
その際の送り出し周波数の決定は、入力されたS/PDIFフォーマットのCHANNEL_STATUSを参照している。
SDRAMメモリDAIは、その情報が見つけられなかった場合には48kHzのクロックでDACにデータを出力してしまうようで、44.1kHzの曲では早回し、48kHzを越える曲では間延びとなってしまう訳だ。
SDRAMメモリDAI側で、出力周波数を外部から指定出来れば(使い勝手が悪くなるものの)使えるようになるのだが、どうもそのような改修は難しいようで…。(元々88.2kHz以上は指定できるので、PC上でアップサンプリングしてから出力という手もあるんだけどね。)
なお、同様の仕組みを持ったDACは同じようなトラブルが発生する可能性があるので、注意されたし。
もっとも、元々はHiFaceがCHANNEL_STATUSにサンプリングレート情報を載せないのが悪いって事になるのだが、サンプリングレート情報を載せると192kHzの伝送が難しくなるという事情があるようで、痛し痒しといったところ。
ドライバの改善は進めているようですが、とりあえず既存のドライバと、接続性を優先した上限96kHzのCHANNEL_STATUSにサンプリングレート情報を載せてくれるドライバと二種類リリースしてくれるとありがたいんだがなぁ…。
まあM2TECHが「HiFaceにはメモリバッファは不要だ!!」なんて突っぱねるようなとこじゃなくて良かった(笑)