以外とちゃんと解説されているデータが少なくて困ります…サンプル読んで勝手にやれ、って話なんでしょうけど…
bitspersampleconv2
交互にバッファを使っていくのは理解済み、一度デバイスのパラメタを読んでみないとダメか…
ASIOの規格のDSDサポートの項を読むと…
1つめの問題:サンプルレート
xxxkHzしか定義してなかったが、DSD64だと 2.8224Mhz なので足りないと。そこは専用のサンプルレートを追加して対応したぜー、って話らしい。
2つめの問題:ワード長
PCMだと通常ワードサイズは8ビット以上だが、DSDだと1ビット。そのままだと困るので8ビットづつ纏めてワードとして処理することにする。
そっか、DSFの1ビットデータがブロック化されてたのはこの対応だったのね…多分DSFフォーマットのままメモリ上に置いて、バッファの設定をしてやれば普通にASIOで転送できるようになってるはず。逆に言うと、DSDIFFとか扱おうとするとちょっと面倒?
DSDPAL基板使う気ならDSFファイルをDSDファイルのデフォルトに置いた方が処理が楽そうだなー、USB-AUDIO基板ならDSDIFFが基本なんだが…
まぁ、演奏プログラム中に自動判別とフォーマッティング処理をすればいいだけだが…バッファ切り替え時間も考慮すると、事前変換かけた方がよさそう、な気もする…
なんてことを勉強しつつ…
0 件のコメント:
コメントを投稿