ASIOやVSTなどの規格ではオーディオデータは各チャンネルごとに分かれて配列として格納する(LLLLRRRRのような構造)のだが、従来のマルチメディア入出力では左右チャンネルのデータがストライプ状に並んでおり(LRLRLRLRLRのような構造)、ASIO以外で入力したオーディオデータにVSTエフェクトをかけようと思った場合、一旦データを並び替えなければいけなくなる。
普段 Delphi を使ってコーディングしている私は MiniHost で有名な TobyBear で配布されているコンポーネントを使おうと思ったのだが、それ用のコンバートルーチンは標準で用意されていなかったので DASIOConvert.pas の処理を参考にステレオ用のコンバート処理を書いてみた。
続きを読む