OBSを使用して32-bit floatかつマルチトラック録音する方法
はじめに
OBSって実は32-bit floatで録音する設定あるんです。
折角UAC-232買ったのでOBSでも32-bitで収録したいんですよね。
でもなぜかそれを解説している動画もツイート(死語)にもないのでまとめてみました。
もし、もっと分かりやすくて良い記事が出たら非公開にします。多分。
間違ってる部分もあるかもしれませんが、とりあえずは動いているので一旦細かいところは許してください。
実行環境
OS : Windows11
CPU : i9-13900K
メモリ : 128GB
GPU : RTX 4070ti, RTX 3060
オーディオ I/F : ZOOM UAC-232 (32-bit floatでの録音に対応)
動画編集はPremiere Pro 2024で行う想定です。DaVinci Resolveは説明しませんが、この記事に従えば同じように使える筈です。知らず知らずの間にどこかで遠回りをすることになる可能性はありますが。
OBSの設定
OBSの設定から出力→録画の項目を選択すると上の画像の設定画面に飛べるはずです。(出力モードは詳細にしてください。一番上にあります)
録画フォーマットはMOV(FragmentedでもただのMOVでも可)。
これはmp4内の音データで32-bit floatを扱えないためです。mkvでもいけるかもしれません。
映像エンコーダは好きにしてください。多分影響ないです。
音声エンコーダはFFmpeg PCM(32-bit float)。
その真下にある音声トラックにチェックを入れるとマルチトラックになります。その辺の詳しい仕様についての説明は省きます。
残りのエンコーダ設定は好きに指定してください。
録画後
録画が完了すると.movファイルが書き出されます。
このファイルをPremiere Proにインポートするとマルチトラックになっていません。
その辺の理由調べながら記事書いてる間に、似たようなことしてるnoteを見つけました。
なんでマルチトラックにならないかはこのnoteに書いてあります。ラッキーついでに上記のnoteはカスタム出力でmovを設定していたので合わせてやってみましたが、同じような内部データになったので多分どっちでもいいと思います。良くないかもしれません。……多分大丈夫だと思います。
とにかく、現時点ではPremiere Proでダイレクトに読み込むのは無理なので、分離して読み込みましょうという話です。
映像と音声の分離
FFmpegを使います。
上記のページにあるツールを今回使用しました。
音声コーデックの拡張子だけwavにしておいてください。初期設定のm4aで書き出すと正常に読み込めません。(実行環境がWindowsのため?)
また、m4aはそもそも32-bit floatを持てない可能性もありそうです。
めんどくさいのでWAVでいいです。確実なので。
Premiere Proで読み込む
ドラッグ&ドロップ。以上です。
実際に確認するために、音源をクリップさせておきました。
録音は32-bit floatを扱えるUAC-232で行っています。
さっそくゲインを下げてみました。
欠けてます。……が、これは仕様です。レンダリングして置き換えてやれば変更後のウェーブフォームが出てきてます。
クリップして見えなかった部分がちゃんと出てきました。レンダリングして置き換えしなくてもちゃんとクリップは直っているので気にならない人はしなくても大丈夫です。
マイクからの音だけじゃない
BGMが爆音音割れ状態のときも
ゲインを下げればクリップ部分が出てきます。
マイクからの音だろうがデスクトップ音声だろうが全部32-bit floatにしてくれているようです。