DTM初心者が知りたいオーディオバッファサイズの意味と設定方法

バッファ(バッファー)サイズの最適の設定を知っていますか?これが適当だと演奏(録音)時に音の遅れがきになって演奏に集中できなくなります。しかしDTM初心者にとっては「バッファって何?」って感じですよね?この記事を読むことでストレスのないDTMをするために必要なバッファサイズの知識が身につきます。

今回出てくるキーワードは次の3つ

  • バッファ(buffer)
  • レイテンシー(Latency)
  • サンプルレート(samplerate)

なぜレイテンシーは発生するのか?

レイテンシーとはよく「遅れる」という意味で説明されることが多いのですが、それだとDelayと同じ意味で捉えてしまう人もいるのでもう少し具体的に説明すると、レイテンシーは「待ち時間」「反応時間」が正しい使い方です。遅延という言葉も「ただ遅れるのではなく」「理由があって長引いてしまう」というのが遅延の意味です。

会社通勤時にで電車が遅れたときにもらう「遅延証明書」は本来の到着時刻が長引いてしまうのと同じ文脈です。レイテンシーについては以下の場合に発生します。

  • MIDIキーボードの鍵盤を抑えてソフトシンセが発音するまでのライムラグ
  • パソコンにギターを取り込むためにオーディオインターフェイスを使ったときに発生するライムラグ
  • DAW経由でヘッドホンを使っているときに帰ってくるタイムラグ

これらのレイテンシーは「msec(ms:ミリセカンド)=1/1000秒」という単位で表されます。このレイテンシーを抑える役目がバッファーになります。

オーディオインターフェイスを使わないとレイテンシーは発生しない?

レイテンシーについて語られる時の多くは「音→オーディオインターフェイス入力→DAW→オーディオインターフェイス出力」この流れに起きる再生のタイムラグがレイテンシーと言われています。実際その側面が一番大きのですが、パソコンの中にもオーティオインターフェイスとしての機能は存在します。例えば少しまえのパソコンでしたらイヤホンジャックやマイク入力端子あれは超簡易的なオーディオインターフェイスと言えます。

オーディオインターフェイスによってレイテンシーが変わってきます。乱暴に言えばこのあたりの数値をさほど気にしなければオーディオインターフェイスがなくてもDTMはできます。

オーディオインターフェイスがなくてもDTMができる??

バッファサイズとは

データを一時溜めておく場所のことをバッファー(バッファリング)といい。その大きさをサイズ、合わせてバッファサイズです。このバッファにある程度データを先読みさせておくことでDAWは音が途切れることなくソフトシンセなどを発音させることができるというわけです。

イメージとしてはNetfrixやHuluなどのネット番組も常にバッファにデータが先読みされている状態です。バッファにある程度データが先読みされているおかげで、ネットの転送速度に何かしらの影響があっても再生が止まらずに映画を楽しめるわけです

DTMに話を戻しますと、DAWよって違いますが16 32 64 128 256 512 1024 2048というバッファーサイズを選ぶことができます。

バッファサイズのメリット・デメリット

44.1kHzでバッファサイズを256にしたのを基本とした場合で話ますと、それ以上に大きくした場合はCPUの負荷が下がりますが音の遅延が発生します。この場合の遅延は先に説明した次の内容に該当します。

  • MIDIキーボードの鍵盤を抑えてソフトシンセが発音するまでのライムラグ
  • パソコンにギターを取り込むためにオーディオインターフェイスを使ったときに発生するライムラグ
  • DAW経由でヘッドホンを使っているときに帰ってくるタイムラグ
  • ソフトシンセやエフェクトプラグインの使用数の増減

CPUの負荷が下がるということはその分ソフトシンセやエフェクトプラグインに使用できるのでミックスやマスタリング時にはバッファサイズを大きくしておくのが通例です。

逆にバッファサイズを256より小さくすると、CPUへの負荷が高まりますが、遅延がなくなるの上記のタイムラグにおけるストレスの軽減になります。これは「命令によるレスポンス」の速さが問われるのでリアルタイムで演奏しながら録音する人などはバッファーサイズを小さくする方が最適ですが、逆に言うと鍵盤などのリアルタイム性のない打ち込みをする場合(マウスでステップ入力も含めて)はバッファーサイズを小さくする理由はありません。

サンプルレートについて

CDのクオリティが44.1kHz、最近流行りのハイレゾは96kHzです。これをサンプルレートと言います。つまり44.1kHzの場合一秒間に44100分割してデジタル録音(記録)しています。96kHzに関しては96000回に分けてデジタル記録していることになります。この数が大きければ大きいほど俗に言う「音質がよい=アナログである」という表現します。

バッファサイズの話と合わせると44.1kHzのサンプルレートでバッファーサイズ256にするのと512にする場合バッファーサイズが大きくなればCPU負荷は小さくなりますが、遅延は大きくなるというのが先程のバッファーサイズの具体的な話になります。

サンプルレートが高くなればなるほどサンプルの精度はよくなるのでその分オーディオデータの容量が大きくなります。(実際はBitについてもデータ容量はことなりますが、ここではサンプルレートにだけ注目します)(ちなみに44.1kHz/16bitのCDクオリティと呼ばれるフォーマットは5分でおよそ約50MBです)

なぜ高いサンプルレートはレイテンシーが低いの?

ソフトシンセが発音するデータをバッファに記録してから出力するのが基本です。逆にバッファがなければレイテンシーは存在しませんが、その分CPUには莫大な負荷がかかります。オーディオインターフェイスや最近のDAWにはレイテンシーを自動で調整してくれる機能もあります。

「サンプルレートは高ければ高いほどクオリティが高いのなら、レイテンシーはもっと負荷がかかりそうなイメージがあるけど、なんでサンプルレートが高いとレイテンシーは低くなるの?」という疑問を持つ人がいると思います。

バッファのサンプル数は周波数で割った数値だけレイテンシーが出てきます。

つまり256÷44100=0.05804988662132つまりミリセコンドに治すと5.8msです。これを96kHzの場合は256÷96000=0.02666666666667つまり2.6msということになります。

レイテンシーは入力と出力に現れるので実際はこれの2倍〜2.5倍くらいが感じるレイテンシーになります。

最適なバッファーサイズとは?

CPUスペックの低いマシンほどバッファーサイズを下げるとCPUに負荷がかかり音割れや再生不具合の原因になります。。ではどれくらいであればDTMにストレスを感じないかは人それぞれですが、最初に説明した44.1kHzで256くらいであればまずなんとかなると思います。

先程の計算式でいうとこのレイテンシーは0.05秒入手力合わせるとおよそ倍の(11.6ms)になりますが、あくまでこれは計算だけの数値で実際はオーディオインターフェイスによって異なります。

音は1秒間に340m進むので11.6msの場合はざっくりと3.6mくらいの距離のスピーカーの音を聴いている印象です。タイトな演奏には向きませんがこれくらいならば演奏に耐えられるギリギリかもしれません。

バッファサイズを小さいままDAW快適に動かす方法

多くのソフトシンセを立ち上げている状態ではバッファサイズを小さくするとCPUに負荷がかかるというお話をしきてまいた。44.1kHzの環境では256くらいならなんとかなると言ってもタイトなギターカッティングをする人には違和感が残る可能性もあります。こういうときはDAWのフリーズ機能を使うことでソフトシンセを擬似的にオーディオ信号化してしまうことでCPUの負荷を減らせるので、バッファーサイズを小さくできます。

フリーズ機能は以下の通り

  • CPU負荷をほぼゼロにできる
  • フリーズしたトラックはボリュームとPANのみ変更可能

フリーズを解除する場合はフリーズボタンをオフにするだけです。

さいごに

  • バッファ(データを一時溜めておく場所のことサイズはDAWによって異なるが32〜2048)
  • レイテンシー(実行命令だしてそれが実行されるまでのタイムラグ)
  • サンプルレート(1秒間に分割する数)

バッファサイズはミックスと製作時によってわけるのがベストな選択です。44.1lkHzの場合256くらいならば問題ないと書いていますが、それはあくまでリアルタイムによる入力です。リアルタイムにしないのであればバッファーの設定をそれほどシビアに考えなくてもよいです。

最近ではバッファサイズを4まで小さくできるものがあります。タイトな演奏を意識したい人にとってはほぼレイテンシーなしといえるものかもしれません