最近のオーディオインターフェイスのハードウェア、そしてそのドライバがより高性能化してきていることによって、レイテンシーがより小さくなってきています。ものによっては1msec以下の値を出すものまで登場しており、驚くばかりです。レイテンシーに関して考察する後半の第2回目は、なぜレイテンシーが生じるのか、そしてレイテンシーはどの程度まで追い込むべきなのかを考えてみましょう。

音のデータを一時的に貯めるバッファ


前回も紹介したとおり、レイテンシーとはオーディオインターフェイスを通すことで生じる音の遅れです。このレイテンシーが大きいと、ソフトシンセをリアルタイム演奏した際などに、違和感を感じるほか、リアルタイムでエフェクトをかけた際のモニタ音に大きなディレイがかかってしまい、使いにくいものになります。

では、そのレイテンシーの原因はどこにあるのでしょうか?

ここにはオーディオインターフェイス上に存在するバッファというものと大きな関係があります。このバッファとは、小さなメモリであり、ごく微量のデータを貯めておく場所を意味しています。

ちょっと難しい話になりますが、実際のデータの流れを追ってみることにしましょう。

オーディオインターフェイスのバッファ
CPUから渡される音のデータはいったんバッファに貯められた後、D/Aコンバータを経由として音となる
まず、コンピュータから音を出す際、デジタルデータがオーディオインターフェイスへ渡され、そこで音となるのです。この際、禁物なのが音の途切れです。コンピュータから常に途切れることなくデータを流していくことで、音を鳴らすのですが、コンピュータ(正確にはCPU)は常にいろいろな仕事をしており、オーディオインターフェイスへデータを渡すことだけに集中することができないのです。


そこで、CPUからオーディオインターフェイスへは一括してある程度のデータをまとめて渡し、バッファに貯めておくのです。その先をオーディオインターフェイスが自動処理することでCPUがいちいちコントロールしなくてもいいようになっているのです。そして、CPUはバッファが空になる前に、次のデータのまとまりを渡してやればいいのです。