DTM用語:バッファサイズとは
■はじめに
そもそもバッファとは、衝撃を和らげるものや緩衝となるものを意味する言葉です。ここでは音楽ソフトウェアにおける連続データを先読みして一時的に保持しておく領域を指します。
■バッファサイズとは
バッファとは、連続したデータの流れが途切れてしまわないよう、あらかじめデータを先読みして保持しておく領域であり、バッファサイズとはその大きさを意味します。
■キャッシュとの違い
似た言葉にキャッシュがありますが、キャッシュが使用頻度の高いデータを即時利用するために保持している領域なのに対して、バッファは処理速度や転送速度を補うためにデータを保持している領域という違いがあります。
■レイテンシとの関係
DAWにてリアルタイム録音する際、入力されたアナログ信号はオーディオインターフェースによりデジタルデータへと変換され、都度DAWへと送り込まれます。この時、なんらかの理由でデータの流れが途切れてしまうと、いわゆるデータの取りこぼしが発生してしまい、結果として正常な録音が出来なくなります。
これを避けるため、デジタルデータをDAWへと送り込む直前に設けられた領域こそがバッファであり、連続したデータの流れが途切れないよう、あらかじめ先読みして保持しておく事でデータの取りこぼしをなくします。
この時、バッファサイズが大きければ大きいほどデータの流れが途切れにくく、CPU負荷も低くなりますが、代わりにデータを保持する時間や読み込む時間が長くなるためレイテンシは高くなります。
逆にバッファサイズが小さければ小さいほどデータの流れが途切れやすく、CPU負荷も高くなりますが、代わりにデータを保持する時間や読み込む時間が短くなるためレイテンシは低くなります。
CPU負荷が高くなると、システムが不安定になるばかりか音割れ/音伸び/音切れの原因となるため、結果として正常な録音が出来なくなります。
■バッファサイズの最適値
レイテンシが高くなると、遅延が発生してリアルタイム録音する際に大きな支障を来します。そのため、出来る限りレイテンシを低くする必要がありますが、低くなればなるほどCPU負荷が高まり、システムを不安定にさせるばかりか音割れ/音伸び/音切れの原因となるため本末転倒です。
そうならないためには、いかにバッファサイズを適切な値に設定するかが重要となりますが、その値はオーディオインターフェースはもとよりPCのスペックなど環境に大きく左右されるため都度調整する他ありません。
しかしながら、昨今のオーディオインターフェースやPCのスペックは想像以上に高く、そこまでシビアに考える必要もありません。一般的に推奨されるバッファサイズ=512sampleを基準に、遅延を感じるならば1段階下げる、問題なければそのままで充分だと思います。
この時、レイテンシの値を異常に気にする人がいますが、レイテンシの値はあくまで違和感なく録音するための指標でしかないため、個人的には体感で違和感がなければそれで充分だと思います。
ちなみに、レイテンシが問題となるのは録音時だけであり、再生時にはそこまで問題となりません。そのため、再生時はシステムの安定を優先して、あえてバッファサイズを大きくするのもまたひとつの方法です。
■おわりに
最後まで読んで頂き有り難うございました。あくまで個人的備忘録ですが、何かしらの参考になれば幸いです。