オーディオビジュアライザー(ぽいもの)をBlenderやDAW作る方法
私は動画作成にFilmoraというソフトウェアを使っています。
Filmoraは操作が簡単で、分からないことがあってもGoogleで検索すればすぐに情報が出てくるので重宝しています。
ただ、Filmoraの素材集に含まれているオーディオビジュアライザー・オーディオビスペクトラムの種類があまり多くなく、デザインも微妙なものも含まれています。
Adobeの「AfterEffects」でもオーディオビジュアライザーを作ることができますが、オーディオビジュアライザーを作るためにAfterEffectsをサブスクのサブスクに加入するのはコストパフォーマンスが悪いです。
そこで、無料で使えるBlenderという3DCG製作ソフトやDAWのアナライザーを使ってオーディオビジュアライザー・オーディオビスペクトラム(っぽいもの)を作った上で、Filmoraのエフェクトと組み合わせて動画を作成したので、備忘録も兼ねて作り方を説明していきたいと思います。
なお、Blenderで作ったーディオビジュアライザー・オーディオビスペクトラムは、背景を透過して描き出すことでFilmoraやAviUtlなどの動画編集ソフトに読み込んで活用することができるので、その点についてもあわせて説明したいと思います。
◆Blenderでオーディオビジュアライザーを作る方法
◇Blenderのバージョンについて
2024/12/30時点でのBlenderの最新バージョンは4.3ですが、今回の説明で使っているBlenderのバージョンは3.6です。
Blenderは無料で使える優秀なソフトですが、バージョンがアップデートされる度に使い方が変わってしまうので、使い方を一度覚えたつもりでも、新しいバージョンが出てくる度に覚え直さなければならならないことも多いです。
現時点でネット上で日本語で解説されている情報はバージョン3.xのものが多く、私自身も4.xの使い方が良く分かっていないので、バージョン3.xの中でもっとも新しい3.6を使っています。
バージョン4.xを使っている方はそちらを使っていただいて構いませんが、作り方が違う部分があるので、その点はご注意いただければです。
(自分はまだBlenderの使い方が分かっていない部分も多いので、「もっとこうしたほうが良い」という方法があればコメントなどでご指摘いただければです。)
◇Blenderの操作の注意点
キーボードのショートカットが反応しない場合には、日本語入力の状態になっている可能性があるので、キーボード左上の「半角/全角」ボタンを押して日本語入力をオフにしてください。
◇オーディオビジュアライザーの作成
オブジェクトの追加
Blenderを開いたら「全般」をクリックします。
画面の中央に灰色の箱が置いてありますが、この箱を使わない場合には箱をクリックで選択して「Delete」で削除しておきます。
Blenderは急に落ちることがあるので、この時点でファイル名を付けて保存しておき、作業ごとにこまめに保存をしておくと良いです。
「Shift + A」で「追加」画面を表示し「メッシュ」の中から好きな形を選びます。
「平面」や「グリッド」を使うと画面の上下でウネウネするようなオーディオビジュアライザーを作ることができます。
「UV球」や「ICO球」を使うと、球体からトゲが出ているようなオーディオビジュアライザーを作ることができます。
以下、追加した形を「オブジェクト」と呼んでいきます。
左下の「グリッドを追加」のタブを開き、「細分化」の値を調整します。
(「ICO球」の場合は4くらい、「グリッド」の場合はX・Yともに100くらい)
オブジェクトを選択してキーボードの「S」を押して数字を入力すると、大きさの倍率を入力できます。
位置関係を編集する場合には、キーボードの「A」を選択し、「G」→「Z」を押した後に上下させることができます。
(右側のオブジェクトプロパティの「位置」や「スケール」の数値を変えることでも位置や大きさを変更できます。)
キーボードの「Tab」を押すか、左上から「編集モード」を選択して、編集モードとオブジェクトモードを切り替えることができます。
モディファイアーの追加
「オブジェクト」をクリックで選択した上で、右側にある「モディファイアープロパティ」(スパナの形のアイコン)をクリックします。
①ミラー(オブジェクトを複数作る場合)
同じオブジェクトを複数作る場合は、「モディファイアーを追加」をクリックし、「生成」の列の真ん中あたりにある「ミラー」をクリックします。
座標軸を「Z」にするとオーディオビジュアライザーが上下に表示されるような配置になります。
ミラーが失敗する場合は
・オブジェクトが原点と同じ場所にある
・原点の位置がズレている
などの可能性があります。
「オブジェクトが原点と同じ場所にある」場合には、前記のとおり「G→Z」やオブジェクトプロパティで上下させます。
「原点の位置がズレている」場合には、オブジェクトモードにした上で、メッシュを選択して「Ctrl+A」から「全トランスフォーム」を選択すると、原点が中心に移動してミラーができると思います。
② デシメート(ICO球の場合)
「モディファイアーを追加」をクリックし、「生成」の列の上から5番目にある「デシメート」をクリックします。
「束ねる」を「平面」にします。
必要に応じて「角度制限」の値を変更します。
(「ICO球」の場合は15°くらい)
③ スムーズ
「モディファイアーを追加」をクリックし、「変形」の列の下からから6番目にある「スムーズ」をクリックします。
④ ディスプレイス
「モディファイアーを追加」をクリックし、「変形」の列の上から4番目にある「ディスプレイス」をクリックします。
「ディスプレイス」の「新規」をクリックします。
(「ディスプレイス」は後で使います)
⑤ ワイヤーフレーム
「モディファイアーを追加」をクリックし、「生成」の列の1番下にある「ワイヤーフレーム」をクリックします。
「幅」を変更します。
(「ICO球」の場合は0.01くらい、「グリッド」の場合は0.001くらいか?)
ディスプレイスのテクスチャ
右側にある「テクスチャプロパティ」(一番下の縞々のアイコン)をクリックします。
「タイプ」の「画像または動画」を変更します。
(「変調ノイズ」にするとトゲトゲになる)
オーディオファイルの挿入
オーディオファイルを挿入する前の準備として編集画面を増やしておきます。
画面の右下の隅をクリックしながら持ち上げると画面を増やすことができますので、この作業を2繰り返して、画面を3つにします。
一番下の画面の左上隅のから「グラフエディター」を選択します。
真ん中の画面の左上隅のから「ビデオシーケンサー」を選択します。
オーディオファイル(WAVファイルなど)を、真ん中の画面の「ビデオシーケンサー」にドラッグ&ドロップします。
「ビデオシーケンサー」のオーディオファイルをドラッグしながら頭(+01)に合わせます。
波形を表示させるためには「ビデオシーケンサー」でキーボードの「N」を押して、右側の画面から「波形を表示」にチェックを入れます。
「グラフエディター」の終了位置をオーディオファイルの長さに合わせて変更しておきます。
「ビデオシーケンサー」で音声ファイルの最後の位置にグリッドを合わせると、「グラフエディター」の下部に終了位置の数値が表示されるので、それに合わせて「終了」の位置を修正します。
この時点で左側のタブから「出力プロパティ」(上から4番目のプリンタのアイコン)を選択し「フレームレート」をオーディオファイルの長さに合わせて変更しておくと、レンダリングした後に「最後のほうが切れていた」という失敗を防げます。
オーディオファイルに合わせて「オブジェクト」を動かすための設定をする
「ビデオシーケンサー」「グラフエディター」のグリッドを1フレーム目に置きます。
「オブジェクト」をクリックで選択した状態(「オブジェクト」がオレンジ色になっている状態)で、右側の「モディファイアープロパティ」(スパナの形のアイコン)を開き、先ほど追加した「ディスプレイメント」の項目の「強さ」の右側のボタンをクリックし、キーを追加します。
「グラフエディター」の上部の「チャンネル」から「音声をFカーブにベイク」を選択します。
(※Blenderの Verが古い場合にはの場合には「チャンネル」ではなく、隣の「キー」から「音声をFカーブにベイク」を選べるようになっていたと思います。)
ファイルビューが表示されるのでオーディオファイル(WAVなど)を選択して、右下の「音声をFカーブにベイク」をクリックします。
これで「オブジェクト」がオーディオファイルの音声の合わせて動くようになりました。
「グラフエディター」の画面の中で「Ctrl」を押しながらマウスの真ん中のボタンを押しながら波形を拡大することができます。
「グラフエディター」の右側の「モディファイヤ」のタブ選択し、「モディファイヤを追加」をクリックし、「エンベロープ」を追加します。
「エンベロープ」のタブを下に移動した上で、「制御点を追加」をクリックし、数値を調整します。
球体を動かす場合には、真ん中を-1.5、右側を1.5くらい
平面の場合には真ん中が-0.2、右側が0.2くらい
オブジェクトを回転させる場合
オブジェクトを回転させたい場合、まず「グラフエディター」のグリッドを1フレーム目に置きます。
右側のタブから「オブジェクトプロパティ」(真ん中あたりの四角いアイコン)をクリックし、「回転」の項目の回転させたい軸(Zなど)の数値が「0°」になっているを確認した上で、右側にある「丸」をクリックし、キーを打ちます。
「グラフエディター」の下にある自動キー挿入のボタン(四角の中に丸があるアイコン)をクリックしてオンにします。
「グラフエディター」で最後のフレームを選択した上で、「オブジェクトプロパティ」の回転させたい軸(Zなど)の数値を「回転させたい回数×360°」にします。
たとえば最初のフレームから最後のフレームまで10回転させたい場合には「3600°」(360°×10回)と入力します。
オブジェクトを選択した状態で、「グラフエディター」の1フレーム目のキーを右クリックして、「補完モード」から「リニア」を選ぶと、動が直線的になります。
カメラを設定する
右上の「シーンコレクション」から「カメラ」をクリックします。
「カメラ」がない場合には「Shift + A」から「カメラ」をクリックして「カメラ」を追加します。
「カメラ」の位置を調整する前の画面を分けておくと作業がしやすいです。
画面の右上をドラッグしながら画面を2つに分けます。
分割した片方の画面を選択した状態でテンキーの「0」を押すと、カメラから見える映像(レンダリングされる映像)が表示されます。
分割したもう片方の画面の右上にある「XYZ」の文字がある風見鶏のようなものをクリックしながらグリグリすると、オブジェクトとカメラなどを俯瞰で位置関係を把握することができます。
この時点でカメラがオブジェクトの全体を映すことができている状態であれば、そのままでも良いのですが、カメラがオブジェクトを映していない場合には、カメラの位置と角度を調整していきます。
カメラをクリックして選択した状態(カメラがオレンジ色になっている状態)で、右側のタブから「オブジェクトプロパティ」(四角いオレンジ色)を選択します。
回転の「X」を90°くらいにして、位置の「Y」をマイナスのほうにズラしてくと、カメラでオブジェクトの全体が見える状態になると思います。
オブジェクトのシェーディング
オブジェクトをクリックして選択した状態(オブジェクトがオレンジ色になっている状態)で、右側のタブから「マテリアルプロパティ」(下から2番目のピックの丸いアイコン)を選択し、「新規」をクリックし、「サーフェス」から「放射」を選択します。
「カラー」から好きな色を選びます。
(白などの明るめの色でも良いですが、Filmoraの彩度調整なので変更できるので好きな色を選べば良いです。)
「強さ」を「5」くらいにします。
カメラのプレビュー画面から「レンダー」を選ぶと、カメラで映した映像が再現できるので、確認します。
レンダリングの設定
左側のタブから「レンダープロパティ」(上から3番目のカメラのアイコン)を選択します。
「レンダーエンジン」は「Eevee」を選びます。
(「Eevee」はノイズが少ないと言われているらしいです。)
レンダリング時間を短くしたい場合いは「サンプリング」の「レンダー」の値を小さくします。
「ブルーム」にチェックを入れます。
(オブジェクトがグローみたいに光る)
「モーションブラー」にチェックを入れると、オブジェクトが動いた時のカメラのブレを再現できます。
背景を透過させない場合には「スクリーンスペース反射」にチェックを入れると反射するようになります。
出力の設定
左側のタブから「出力プロパティ」(上から4番目のプリンタのアイコン)を選択します。
「解像度」や「アスペクト」を希望のサイズにします。
「フレーム範囲」の「終了」の数値をオーディオファイルの長さの合わせて調整します。
「ファイルフォーマット」で「FFmpeg動画」を選択すると、「エンコーディング」という項目が現れます。
「エンコーディング」の中にある「オーディオ」の「音声コーデック」から「mp3」などを選択すると、映像と一緒に音声が出力されるため、Filmoraなどの動画に読み込んだ時に、タイミングを合わせるのが楽になります。
上部から「レンダリング」のタブを選び、キーボードの「Ctrl+F12」を押すとレンダリングが始まり、デフォルトの状態では「C:\tmp\」にファイルが書き出されているはずですが、背景を透過する場合には次の設定も必要です。
◇オーディオファイルに合わせて「オブジェクト」を光らせる場合
「Shift + A」で「追加」画面を表示し「メッシュ」の中から光らせたいオブジェクトを選びます。
「オブジェクト」をクリックで選択した状態(「オブジェクト」がオレンジ色になっている状態)で、右側の「マテリアルプロパティ」(下から2番目のピンクの丸いアイコン)を開き、「新規」をクリックします。
サーフェスから「放射」を選択します。
「カラー」から好きな色を選びます。
(白などの明るめの色でも良いですが、Filmoraの彩度調整などで変更できるので好きな色を選べば良いです。)
「グラフエディター」のグリッドを1フレーム目に置きます。
「マテリアルプロパティ」の「サーフェス」の中の「強さ」の右側のボタンをクリックし、キーを追加します。
「グラフエディター」の上部の「チャンネル」から「音声をFカーブにベイク」を選択します。
ファイルビューが表示されるのでオーディオファイル(WAVなど)を選択して、右下の「音声をFカーブにベイク」をクリックします。
これで「オブジェクト」がオーディオファイルの音声の合わせて光るようになりました。
「グラフエディター」の画面の中で「Ctrl」を押しながらマウスの真ん中のボタンを押しながら波形を拡大することができます。
「グラフエディター」の右側の「モディファイヤ」のタブ選択し、「モディファイヤを追加」をクリックし、「エンベロープ」を追加します。
「制御点を追加」をクリックし、数値を調整します。
(オブジェクトを光らせたい場合には真ん中が-100~-1000、右側が50~1000くらい。)
◆背景透過で出力する方法
レンダリングの設定
左側のタブから「レンダープロパティ」(上から3番目のカメラのアイコン)を選択します。
「フィルム」の項目を開き、「透過」にチェックを入れます。
出力の設定
左側のタブから「出力プロパティ」(上から4番目のプリンタのアイコン)を選択します。
①「ファイルフォーマット」で「FFmpeg動画」 を選択します。
そうすると 「エンコーディング」 を選べるようになります。
②「動画コーデック」で「PNG」を選択選択します。
③「カラー」で「 RGBA」を選択します。
(前記で PNG を選択したあとに「 RGBA」が表示されるようになります)
④「エンコーディング」の「コンテナ」で「MPEG-4」を選択します。
これで背景透過の状態でファイルが出力されます。
Filmoraの場合はそのまま読み込むだけで背景透過の状態になりますが、AviUtilで読み込む時にはAviUtilの「アルファチャンネルを読み込み」にチェックを入れる必要があります。
上部から「レンダリング」のタブを選び、キーボードの「Ctrl+F12」を押すとレンダリングが始まります。
デフォルトの状態では「C:\tmp\」にファイルが書き出されているはずです。
曲が長い場合には「出力プロパティ」の「フレームレート」を一度短めにしてテスト出力をし、確認をした後に曲全体分のレンダリングをしたほうが時間の節約になるかも知れません。
動画ソフトへの読み込み
出来上がったファイルは、FilmoraやAviUtlなどの動画編集ソフトに読み込みます。
背景透過で出力した映像ファイルはFilmoraの場合はそのまま読み込むだけで背景透過の状態になりますが、AviUtilで読み込む時にはAviUtilの「アルファチャンネルを読み込み」にチェックを入れる必要があります。
適宜、サイズを変更したり、色調調整などをして出来が上がりです。
◆DAWのアナライザーをオーディオスペクトラムとして使う方法
「Blenderでオーディオスペクトラムを作るのが面倒だ」という場合には、DAWのプラグインのアナライザーをオーディオスペクトラムとして使ってしまう、という方法もあります。
FilimoraやBlenderのオーディオビジュアライザ・オーディオスペクトラムは楽曲の周波数特性を正確に表示している訳ではなので、ゴリゴリのDTMerからするとしっくりこないということもあるかも知れません。
しかし、DAWのプラグインのアナライザーをオーディオスペクトラムとして使えば周波数特性を正確に表示してくれるので、動画に動きを加えつつ、動画を見ながらアナライズできるので一石二鳥です。。。
方法は簡単です。
① DAWに楽曲を読み込んで、マスタートラックにお好きなアナライザーをインサートします。
今回は、IK Multimediaの「T-RackS」に入っているアナライザーを使いました。
② アナライザーを前面に表示させて画面いっぱいに広げます。
アナライザーの設定(FilterSizeやリリースタイムなど)でオーディオスペクトラムっぽい動きにしておきます。
③ Filmoraでアナライザーの一部を選択して画面録画します。
④ 録画した映像ファイルをFilmoraのトラックに差し込みます。
録画された映像ファイルをFilmoraで右クリックして「エクスプローラに表示」をクリックすると、映像ファイルの保管場所が表示されます。
④ 読み込んだ映像ファイルを適宜、サイズを変えたり、色調調整などします。
今回はオレンジ色のアナライザー表示を白にしたかったので極端な設定にしています。
⑤ 「ビデオ」タブの「AIツール」の「クロマキー」をオンにし、「カラーを選択」のスポイトツールで消したい箇所の色を取り込みます。
透明度を調整しながら先ほどBlenderで作ったオーディオビジュアライザーと重ねると以下のような感じになります。
さらにFilmoraのエフェクトを重ねていくと以下のような感じになりました。