カクタスソフトウェア
カクタスソフトウェア
サウンド MIDI マルチメディア アプリケーション

ダイレクトサウンドによる全二重処理

このセクションでは、ダイレクトサウンドによる全二重処理の手順を紹介します。

ここでいう全二重処理は、録音プロセスと再生プロセスを同時に進行させ、録音したデータをそのまま、あるいは加工を加え、再生する処理のことをいいます。録音したデータに遅延やエフェクトなどの加工を行うことで、エフェクターを作成することができます。

要点は以下のとおりです。

録音と再生、個々の手順はそれぞれ独立に動作させるときと同じです。ただし2つの処理が並行して進行するので、データ転送とタイミングの取り方に工夫が必要です。

録音と再生の手順の説明で重複する項目は省略した部分があります。詳しくは、「ダイレクトサウンドによる録音」、「ダイレクトサウンドによる再生」を参照して下さい。

マイクロソフトのサウンドAPIは、録音・再生とも任意のデバイスを利用できるという特徴があります。これは一方では利点ですが、全二重処理という観点からは、録音と再生のサンプリング周波数の不一致という問題を引き起こします。DirectShowは、パケットの再生時間を一致させる機能を持つことでこの問題を解決しています。しかし、MME・DirectSound・Wasapiなどで全二重処理を行う場合、サンプリング周波数不一致の問題を避けて通ることはできません。
全二重処理を安全に行うには、DirectShowの利用をお考えください。
また簡易で根本的な解決方法には、Asioの利用をお勧めします。Asioは、録音・再生が全く同時に進行する仕様になっているため、全二重処理を自然に実装することができます。

ドキュメントの先頭へ

カクタスソフトウェア 技術協力 資料室 資料室の広場 SourceForge.jp お問い合わせ