見出し画像

DTM用語:バッファサイズとは

■はじめに

そもそもバッファとは、衝撃を和らげるものや緩衝となるものを意味する言葉です。ここでは音楽ソフトウェアにおける連続データを先読みして一時的に保持しておく領域を指します。

■バッファサイズとは

バッファとは、連続したデータの流れが途切れてしまわないよう、あらかじめデータを先読みして保持しておく領域であり、バッファサイズとはその大きさを意味します。

バッファ:あらかじめデータを先読みして保持しておく領域
バッファサイズ:バッファの大きさ

■キャッシュとの違い

似た言葉にキャッシュがありますが、キャッシュが使用頻度の高いデータを即時利用するために保持している領域なのに対して、バッファは処理速度や転送速度を補うためにデータを保持している領域という違いがあります。

キャッシュ:使用頻度の高いデータを即時利用するために保持しておく領域
バッファ:処理速度や転送速度を補うためにデータを保持しておく領域

■レイテンシとの関係

DAWにてリアルタイム録音する際、入力されたアナログ信号はオーディオインターフェースによりデジタルデータへと変換され、都度DAWへと送り込まれます。この時、なんらかの理由でデータの流れが途切れてしまうと、いわゆるデータの取りこぼしが発生してしまい、結果として正常な録音が出来なくなります。

オーディオインターフェース(A/D変換)▶DAW
なんらかの理由でデータの取りこぼしの可能性がある

これを避けるため、デジタルデータをDAWへと送り込む直前に設けられた領域こそがバッファであり、連続したデータの流れが途切れないよう、あらかじめ先読みして保持しておく事でデータの取りこぼしをなくします。

オーディオインターフェース(A/D変換)▶バッファ▶DAW
バッファに先読みする事でデータの取りこぼしをなくす

この時、バッファサイズが大きければ大きいほどデータの流れが途切れにくく、CPU負荷も低くなりますが、代わりにデータを保持する時間や読み込む時間が長くなるためレイテンシは高くなります。

バッファサイズが大きいほどCPU負荷も低くなる
代わりにレイテンシは高くなる

逆にバッファサイズが小さければ小さいほどデータの流れが途切れやすく、CPU負荷も高くなりますが、代わりにデータを保持する時間や読み込む時間が短くなるためレイテンシは低くなります。

バッファサイズが小さいほどCPU負荷も高くなる
代わりにレイテンシは低くなる

CPU負荷が高くなると、システムが不安定になるばかりか音割れ/音伸び/音切れの原因となるため、結果として正常な録音が出来なくなります。

CPU負荷が高くなると音割れ/音伸び/音切れの原因となる

■バッファサイズの最適値

レイテンシが高くなると、遅延が発生してリアルタイム録音する際に大きな支障を来します。そのため、出来る限りレイテンシを低くする必要がありますが、低くなればなるほどCPU負荷が高まり、システムを不安定にさせるばかりか音割れ/音伸び/音切れの原因となるため本末転倒です。

そうならないためには、いかにバッファサイズを適切な値に設定するかが重要となりますが、その値はオーディオインターフェースはもとよりPCのスペックなど環境に大きく左右されるため都度調整する他ありません。

バッファサイズは環境により都度調整する必要がある

しかしながら、昨今のオーディオインターフェースやPCのスペックは想像以上に高く、そこまでシビアに考える必要もありません。一般的に推奨されるバッファサイズ=512sampleを基準に、遅延を感じるならば1段階下げる、問題なければそのままで充分だと思います。

バッファサイズ=512sampleから遅延に応じて上げ下げする

この時、レイテンシの値を異常に気にする人がいますが、レイテンシの値はあくまで違和感なく録音するための指標でしかないため、個人的には体感で違和感がなければそれで充分だと思います。

バッファサイズはレイテンシより体感を優先すべき(個人的見解です)

ちなみに、レイテンシが問題となるのは録音時だけであり、再生時にはそこまで問題となりません。そのため、再生時はシステムの安定を優先して、あえてバッファサイズを大きくするのもまたひとつの方法です。

再生時のバッファサイズは大きくても問題はない

■おわりに

最後まで読んで頂き有り難うございました。あくまで個人的備忘録ですが、何かしらの参考になれば幸いです。

いいなと思ったら応援しよう!

ツキシロ
乱筆乱文にて恐縮ですが、よろしければ今後の活動資金をサポートして頂けると助かります。