DAW: レイテンシーとレコーディング

DAW 関連で何かと話題となるレイテンシーについてまとめます。

「レイテンシー」とは?

「レイテンシー」と一言で言いますが、その実体は主に以下の2つの処理によって発生する遅延です。

  • オーディオ信号転送時のバッファリング
  • オーディオ信号の計算処理

それぞれについて見て行きましょう。 なお、このエントリでは VST 環境 (Cubase) を想定していますが、その他の環境でも理屈は一緒です。

オーディオ信号転送時のバッファリング

バッファリングとは、届いた信号 (データ) を一時的に貯める処理です。 貯めることが可能な量 (バッファサイズ) は通常オーディオインターフェイスドライバのパラメータで設定されます。 ここで決めたサイズからデータが溢れる前にそれを取り出して処理をしなければなりません。 でないとノイズが発生してしまいます。

バッファサイズを減らせばその分レイテンシーは小さくなりますが、データが溢れないようにするためにはそれを処理するプロセッサもせわしなく働かねばなりません。 ある程度まとめてから処理するのと、都度処理するのでは、同じデータ量でも忙しさは変わるのです。 (人間の仕事もそうですよね?)

信号の流れとしては「オーディオインターフェイス → パソコン (入力時)」と「パソコン → オーディオインターフェイス (出力時)」の両方でバッファリングがされ、パソコンとオーディオインターフェイス双方の性能により、この部分のレイテンシーをどこまで小さくできるかが決まってきます。 良いインターフェイスを買ってもそれに見合うパソコンがなければ宝の持ち腐れとなってしまいますし、逆もまたしかりです。

先に書いたように、バッファサイズは通常オーディオインターフェイスのドライバで変更することができます。 以下はオーディオインターフェイス UA-101 の設定画面です。

これを Cubase から見ると下の図のように表示されます。 UA-101 のドライバの設定項目としては一つでしたが、入力時と出力時のそれぞれにレイテンシーが発生することに注意しましょう。

以降の説明では、この部分のレイテンシーを「インターフェイス入力 (出力) レイテンシー」と呼ぶことにします。

オーディオ信号の計算処理

オーディオ信号の計算処理は使用する VST エフェクト/インストゥルメントによって負荷が決まります。 例えば残響を計算する処理 (リバーブ) は単純に音を遅延させる処理 (ディレイ) よりもずっと負荷の高い処理になります。 この計算処理で発生するレイテンシーはパソコンの性能、ソフトの種類と出来によって変わります。

ソフトウェアについては、最近の有名どころのものであれば問題となる程のレイテンシーが発生することはないのではないかと思います。 パソコンはもちろん高性能であればある程良いですね。

以降の説明では、この部分のレイテンシーを「オーディオ信号計算時間」と呼ぶことにします。

レイテンシーの実際

例えば、MIDI キーボードで VSTi を鳴らしたときは以下のようになります。

オーディオ信号計算時間 + インターフェイス出力レイテンシー

「MIDI キーボードから DAW ソフトが MIDI 信号を受けるまでの時間は?」と思うかも知れませんが、MIDI の処理はオーディオ信号処理に比べてずっと軽いので無視することができます。 下図はサンプルプレーヤー KONTAKT 4 でのレイテンシー表示例です。

オーディオインターフェイスにエレキギターを挿してソフトウェアでディストーションのエフェクトをかける場合は以下のようになります。

インターフェイス入力レイテンシー + オーディオ信号計算時間 + インターフェイス出力レイテンシー

出力時に加えて入力時にもレイテンシーが発生することに注意しましょう。 下図はギター/ベース用プロセッサー Guitar RIG 4 でのレイテンシー表示例です。

ダイレクトモニタリング

レイテンシーが大きいと録音時のモニタリングが困難になり、演奏に支障を来たします。 そのような場合のために「ダイレクトモニタリング」という機能があります。

これは入力された信号をそのままモニタリングするための機能です。 例えばボーカルの場合、マイクから拾った音をそのまま返してくれるので、モニターリバーブがかからず恥ずかしいというのはありますが、遅れてくる自分の声を聴きながら歌うのに比べたらずっとましになります。

DAW ソフトから見ると歌ってからソフトウェアに音声信号が渡されるまでにレイテンシーは発生しているのですが、DAW ソフトがこれを自動的に計算して遅れた分を補正するので、(自分がはずさない限り、そしてソフトがタコでない限り) 再生時にタイミングが狂うことはありません。

この様に一部のケースではダイレクトモニタリングは有効ですが、エフェクト音をモニターしながら録音することはできませんし、VSTi を使った録音には何の意味もありません。 やっぱりボーカルのレコーディングにはモニターリバーブをかけたいですし、エレキギターにはディストーションが必要なわけで、ちょっとレコーディングに力を入れてみようという人にはレイテンシーの小さい環境が必須だと思います。

レイテンシーはいくつなら許容できる?

先ほど説明したようにギターのエフェクト音をモニターする場合は、入力と出力両方でレイテンシーが発生するので、できればそれぞれを数ms とし、全体で 10ms 程度のレイテンシーとしたいところです。

私の場合、レコーディングするときはこれまで紹介した図の設定 (UA-101 ドライバで左から 2番目) でやっています。 使用パソコンは VAIO の type L ですが、普通に起動してこのバッファサイズにするとノイズが多発するので、余分なものを止めて使っています (参考記事:「Cubase でノイズ・音切れを避けるための Windows 設定」)。

ノイズ対策をして起動すれば、ピアノサンプルを使って演奏しても思い出した様にノイズが発生する程度で少なくとも練習には問題ないです。 オーディオトラック録音時にノイズが発生すると困るのですが、まだ録音を数多くこなしていないというのもあって今のところ何とかなっています。

ただ、設定し直して再起動するのが面倒なので、できれば専用の PC が欲しいというのはあります。

エフェクトかけ録り

エレキギターの例で行くと、ディストーションをかける時は外部エフェクトを使ってダイレクトモニタリングしながら録音する、という人も多いかも知れません。 しかし、VST エフェクトを用いるメリットというのは確かにあります。 それは、生音のみ録音して後からエフェクトを曲想に応じて変える、ということができることです。

具体的に言うと、ディストーションのかかった音をモニターしながら、オーディオトラックにはエフェクトバイパス音を録音します。 こうすればミックスに近い工程になってから、一番マッチする Guitar RIG 4 のアンプ&キャビネットを選ぶ、ということができるのです。 生音を録るからといってリードギターをエフェクトなしで演奏するのは厳しいと思うのですが、レイテンシーの低い環境であればこのようなやり方も可能になるのです。

Cubase でエフェクト音をモニターして生音を録音するための設定についてはそのうち記事にしたいと思います。

まとめ

というわけで、プレイヤー系の人は頑張ってレイテンシー「数ms」の環境を何とか構築しましょう。 打ち込み系の人はバッファを多めにとってノイズレスを目指せば良いと思います。