絶対に押さえておきたい「32bit float」の基礎知識

Author: sleepfreaks

「32bit float」を理解して制作に活かす

32bit_flow_map

DAWで音楽制作を行っていると、「32bit float(浮動小数点数)」という言葉をよく見聞きすると思います。

その名前から、「ビット解像度が高い=音が良くなる」という公式で捉えがちですが、
32bit floatについては単純にそれだけというわけではありません。

今回は、32bit floatの特徴と、制作時にどう意識すればいいのかという点を解説していきたいと思います。
制作やミックスのプロセスで必須とも言える知識になりますので、ぜひご一読下さい。

32bit float 解説動画


「32bit float 内部処理」とは?

32bit floatと聞いて最初に思い出すのは、DAWのプロジェクト設定における、
ビット解像度(ビット深度)かと思います。

Project_setting

ここでもう一つ思い出していただきたいのは、DAWの仕様として謳われている
「32bit float 内部処理」という言葉です。

DAW_32bit_float

まず、この2つは別物だということを覚えておいてください。

現在大半を占めている32bit float内部処理のDAWは、プロジェクト設定のビット解像度が何であれ、
常に32bit floatで内部処理を行っています

32bit float内部処理の大きな特徴は以下の2つです。

  • 各トラックでレベルオーバーしても、最終のマスタートラックでレベルオーバーしなければ、
    クリッピング(音割れ)が起きない
  • 各トラックで音量を下げても、音質劣化がほぼ起きない

こういった32bit float内部処理の恩恵は、特に何も設定していなくても受けられるということになります。

プロジェクトのビット解像度設定を行う意味

では、プロジェクト設定でビット解像度を選択する理由は何かというと、
インプットチャンネルを通って一旦保存される際のビット解像度を決めるためです。

Rec_Bit-depth

この設定について、常に32bit floatにしておけばいいかというと、そうとも限りません。

インプットチャンネルで音量の操作を行わない限り、32bit floatを選択する意味は特になく、
24bitと音質的に変わりはない
のです。

32bit floatファイルは容量が大きくなるというデメリットがあるので、
ケースに応じて使い分ける必要があります。

32bit float設定が威力を発揮するケースは以下の2つです。

  • インプットチャンネルのフェーダーを0の位置から動かしている場合
  • インサートエフェクトをかけ録りする場合

32bit_Rec

どちらも行わない(レコーディング時に音量操作がない)場合は、24bitに設定しておけば、
無駄なディスクスペースを使わずに済むということになります。

32bit floatを理解するための実験

32bit floatについて理解を深めていただくため、2つの実験を行ってみました。
ご興味のある方は是非ご自身でもやってみて下さい。

インプットチャンネルであえてレベルオーバーさせる

32bit_Overflow

プロジェクト設定のビット解像度を32bitとし、インプットチャンネルのインサートエフェクトで
あえて大きくレベルオーバーさせてみました。

32bit_Wave_Overflow

この状態でレコーディングを行うと、波形はこのように振り切れたものになりますが、
イベントの音量を下げていくと・・・

32bit_Wave_Keep_Dynamics

ちゃんと録音時のダイナミクスが記録されています。

これと同様のことが、ミックス時の内部処理(トラック間)でも行われていると思って下さい。
なぜ32bit float内部処理ではクリッピングが起きないか、その理由が掴めてきたかと思います。

一方で、絶対に避けなければいけないのは、オーディオインターフェース内部でのクリッピングです。
DAW上ではなく、ハードウェア上でゲインを上げすぎてクリップしてしまった場合は、
いかに32bit float内部処理でも救済することは出来ません。

24bit_Wave_Clipping_Large

オーディオインターフェース内でクリップした場合は、波形は小さくてもこのような形になります。

レコーディングの際は、インプットチャンネルのメーターだけでなく、
オーディオインターフェースのメーターもしっかりチェックするようにしてください。





音量を極端に下げて16bitで書き出す

2つ目は制作途中にオーディオ化を行う場合を想定した実験です。
こちらのギターのサウンドについて、

あえてフェーダーを極端に下げて、16bitで書き出してみました。

Fader_Down  16bit_Export

その後DAWにインポートして音量を上げてみると、このような形になります。

16bit_Wave

波形の一部を拡大するとガタガタしていますね。

サウンドを聴いてみると、ノイズだらけで使い物になりません・・・

16bitや24bitでは音量が小さくなるほど、表現できる音量解像度も小さくなります。
そのため、極端に音量が小さい16bitオーディオを、DAW上で大きくするとこのような結果になるわけです。

では、同様のケースで32bit floatで書き出した場合は、どうなるでしょうか。

Fader_Down  32bit_Export

32bit_Wave

見た目上も解像度が保たれていますね。

もちろんサウンドも、


元の状態と比べて、全く聴き劣りしません。

今回は極端な例ですが、24bitで小さな音量の変化であっても、多少の劣化は発生してしまいます。
32bit floatオーディオは、音量を下げても解像度を維持し、音質の劣化を防いでくれます。

内部処理の場合、意識せずともトラック間でこの処理を行ってくれていますが、
オーディオを書き出して再度インポートする場合、自分でビット解像度を決めることになります。
ここで他のビット解像度を選ぶ理由はありません。必ず32bit floatを選択してください。

また、インポート時にプロジェクト設定に合わせるかどうか聞かれる場合がありますが、
その変換も必要ありません。

まとめ

32bit floatに関する、制作・ミックス時の注意点をまとめます。

Summary
  • プロジェクト設定のビット解像度は、インプットチャンネルで音量操作しない場合、24bitでも良い
  • 各トラックでレベルオーバーしても、マスターでレベルオーバーしなければOK
  • オーディオインターフェース内とマスターでのクリップは絶対にNG
  • 中間ファイルとして書き出す場合は、必ず32bit floatを指定する(インポート時にも変換しない)

こういったことを意識しておくことで、作業時間やディスクスペースの効率化、
音質の向上(劣化の防止)を図れると思います。

32bit floatの難しい原理は置いておいても、どのような結果が起きているかを理解することは
非常に大切です。

長い記事となりましたが、ご精読ありがとうございました。