いはないお約束/MV解説
melonadeです。今回は「いはないお約束」のMVについて書きます。
「いはないお約束」の映像はBlenderを中心に、Python、AfterEffects、p5.jsなどのツールを用いて制作しました。アイサイト・ラブ同様、プログラミングを用いた制作です。
映像全体を通して色のついた棒状のオブジェクト(以降柱オブジェクトと呼びます)が中央に存在するのが特徴で、ほとんど映像としての場面の切り替わりがありません。
当記事では、こちらの映像についてお話しします。
アイデア面
まず、映像の背景的なモチーフは美術館です。絵が本来存在する部分に柱オブジェクトが常に存在するためわかりにくいと思います。
柱オブジェクトの色には白・赤・緑・黄・青、そして終盤にのみ現れる黒の6色が存在します。
この色が何を表しているかというと「歌詞の母音」です。そのタイミングで歌われた母音がオブジェクトの色に現れています。
技術としてはflowerの調声ファイル(vsqx)から母音の種類とタイミングを抽出して使っています。vsqxの中身はxmlなのでPythonで解析しました。
また画面下部のプレートに表示されている文字列も調声ファイルから取得したリアルタイムの歌詞(子音+母音)です。調声ファイルのフォーマットをそのまま利用しているためuがMになっていたりします。
そしてそれぞれの色と母音の対応付けは、白は判定なし、赤が「a」、緑が「u」、黄色が「e」、青が「o」。そして黒が「i」です。
「黒」が終盤まで現れないということは母音の「i」が使われていないということになります。
映像を制作するにあたって、この終盤の「i」をいかにして違和感なく映像として強調するかが鍵でした。満足のいく表現に昇華できたと思っています。
そして柱オブジェクトの柱の現れるX座標とY座標にも意味があります。
まず、音声の周波数スペクトルには周囲よりも強度が大きい周波数帯域があり、それをフォルマントと呼びます。
フォルマントは山のように複数存在する場合があり、周波数の低い順に第一、第二フォルマント(F1、F2…)と呼ばれます。
そして、その第一フォルマントと第二フォルマントを二次元のグラフとしてプロットし、それを各母音ごとの現れる位置と照らし合わせると以下のように母音ごとに傾向が異なっています。
今回はこれを利用し、歌われた母音によって柱の出現位置も影響を受けるようにしました。柱の幅は楽曲のRMS値(音量)を利用しています。
以上のように、柱オブジェクトの現れる位置はflowerの歌唱した音声ファイルからフォルマントを抽出し、それをXY軸に適用して決定しています。上のグラフを見ながらMVを見てみると面白いかもしれません。
技術面
BlenderのGeometryNodes機能とPythonAPIのfrom_pydata関数を用いて柱オブジェクトを制作した簡単な備忘録です。
from_pydata関数を用いることでPythonからBlenderに点群データを送ることができます。同時にポイントに対して属性も設定できるため、今回は点の位置に加えてボーカルのRMS値(音量)と母音の種類も送っています。
from_pydataについては以下の記事を参考にしました。
GeometryNodes全体はこんな感じになっています。冗長な部分が多いため詳細は解説しませんが、難しいことはしていません。点群を柱状にしてアニメーションを追加し、マテリアルで色を追加しました。Blenderを制作に使うのはこれが初めてでしたが大変使い勝手がよく、今後の制作でも使いたいと思いました。
おわりに
インストの情報を使わずに、ボーカル側のデータのみを使って表現を膨らませることができた非常に楽しい制作でした。今回の解説は以上となります。最後まで読んで頂きありがとうございました。
是非アイサイト・ラブのMV解説もご覧ください。
この記事が気に入ったらサポートをしてみませんか?