【Blender】音声(曲)と連携するための基本【覚書】

0300-0600.avi_snapshot_00.00_[2015.11.19_21.00.33]

音声(曲)ファイルとBlenderの各機能を連携させるための基本事項の覚書。AviUtlでいうところのスペクトラム(音声波形)っぽい使い方であったり、取得した音に反応させてあれこれ(移動、回転、拡大縮小、変形、変色……)させりすることが目的。

ちなみに取得した音のデータを『何に』、『どのように』反映させるかは、Blenderが高機能であるだけあって様々なものに反映できるので個々人その時々になるかと思うけれど、基本的にはどこかの何かの機能にキーフレームを設定してやり、そこにグラフエディタを使って音声データを反映させる感じ。

 

つまりキーフレームが設定できる項目であれば、何でも音に反応させてあれこれできるということ。

 

また、Blenderのこと以外でわかっていた方が事前に知っておいたほうが良さそうなのは、音についての簡単な知識(使用する音声ファイルのサンプリング周波数や、その値の大小による高低音の差など)。

これは音声データを読み込む部分で音域を指定してやる必要があるためで、低音のドラムの音に反応させたいのに音全体に反応してしまう……といった状況を避けるため。

 

 

とりあえずココら辺を軽く眺めておく程度でOKなはず……。音声ファイルのサンプリング周波数については真空波動研等のフリーソフトで確認。

音声データと連携させるまでの作業の基本的な流れ

  1. 音声データを反映させたい項目にキーフレームを設定する。
  2. 音声データを読み込ませ、必要な部分をキーフレームに反映させる。
  3. 反映させた音声データを補正する。(反映させた項目に適した値に加工する)

 

基本部分の大まかな流れはこんな感じ。音声データを反映させるだけであればそれほど難しいことをする必要はない。というか、事前の準備(オブジェクトのモデリングやマテリアル設定など反映させたい部分の作成のほうが遥かに大変……)

 

ちなみに反映させることのできる項目を幾つかピックアップしてみると……

  • 位置、回転、拡大縮小
  • シェイプキー、マテリアル設定の各項目、ノード設定で可能な値。
  • 各モディファイア(例えば変形など)
  • ボーンやリグの各値
  • ……

 

という感じ。兎に角、Blenderは色々なことができるので、その辺は使用者次第。

音声データの取得、反映の方法

AA2015000516

まず音声データを反映させる項目(キーフレーム)を作るために、立方体のメッシュに『 I 』キーを押して、位置のキーフレームを挿入。

その後、Z軸に動かそうと考え、グラフエディタ(左上)の『Z位置』を選択している。Z位置のみ白字になっていることに注目。

この状態でグラフエディタの『キー』をクリックして、『音声をFカーブにベイク』を選択すると、反映させたい音声ファイルの指定画面に移る。

 

AA2015000515

反映させたい音声ファイルの指定画面。画面左下に読み込む音声ファイルをどういった形で利用するかの指定がある。

初期だと、全ての音に反応するような感じになっているので、まずは最低周波数や最高周波数辺りを中心に変更し、特定の音域の音声データを取得してやるといいかも……。どの程度の周波数域を指定したら良いかわからないときは、上に貼り付けた周波数関係のリンク先を参照。

 

(ちなみにうちで公開しているAviUtlの『音に合わせて系』のスクリプトでいえば、音分割数:40、Buf番号:20などの指定がこの辺の項目……たぶん。蓄積の項目などは『音に合わせて微速度進行』などといったスクリプトで取得した音を蓄積していくのと同じ……であるはず、たぶん)

AA2015000517

音声ファイルを指定しベイクした後、グラフエディタ上を見ると、こんな感じに横一直線だったZ位置のグラフに音声データが反映されている。

(指定音が検出されるまでグラフは横線のままなので注意。上画像だと300フレーム程度から指定音が検出されている)

このままでもZ方向に音声データに合わせて移動するものの、演出したい内容には適していないので、このデータを補正する必要がある。

Nツールで右側にメニューを出し、モディファイアの『追加』をクリックしてやり、演出に適したモディファイアを選択する。上の画像ではエンベロープを選択。

 

 

AA2015000518

エンベロープを選択したら基準値や最大、最小を設定したり、『制御点を追加』をクリックして、演出に適した範囲で変化するようにグラフを補正する。

(ひとつ前の画像のグラフに比べて大きく振幅している)

 

(ちなみにちなみにうちで公開しているAviUtlの『音に合わせて系』のスクリプトでいえばBuf補正の項目などがこの部分)

 

2015112100003

キーフレームに音声データを反映させる基本方法はこんな感じ。音声データを反映させたい項目にキーフレームを設定して、グラフエディタ上から更に必要項目を選択、そこに『音声をFカーブにベイク』で音声データを反映させ、使用範囲を限定させた音声ファイルを読み込んだら演出にあったものになるように補正する。

例:音に合わせてオブジェクトを拡大縮小させる場合

2015112100001

 

  1. 対象オブジェクトを配置。
  2. オブジェクトを選択し、『 I 』キーで『スケーリング』のキーフレームを設定。(モディファイアの変形やシェイプキーでの拡大縮小でも可)※
  3. グラフエディタで音声データと連携させたい項目を選択。
  4. グラフエディタの『キー』の項目にある『音声をFカーブにベイク』を選択し、連携させる音声ファイルを指定。また、連携させたい音声ファイルの周波数の最大値や最小値、しきい値などを指定する。
  5. グラフエディタのNツール内にある『モディファイアの追加』をクリックして、『エンベロープ』を選択し、基準値、最大、最小を設定し、『制御点を追加』をクリックしたらその中の最大、最小の値を変更してどの程度拡大するかを調節する。
  6. タイムラインで開始フレームと終了フレームの調節をして、Alt+Aでアニメーションを再生させて、音に合わせて程よく拡大縮小したら成功。

 

という感じ。で、この作業の中で重要になってくるのが02~05の部分。簡単に重要部分をまとめると……

 

  • 音声データを反映させ、変化させたい項目にキーフレームを設定する。
  • グラフエディタで変化させたい項目を選択し、『音声をFカーブにベイク』を指定する。
  • 音声ファイルを選択時、音声ファイルをどんな範囲で反映させるのか指定する。
  • その後、グラフエディタのNツール内で取得した音声データの反映のさせ方(基準値や最大、最小など)の指定する。

 

この4点が最重要事項であり、音声データを活用するための基本中の基本事項。

 

例:音声波形っぽいものを作る場合

2015112100002

 

  1. メッシュの立方体を配置して、編集モードに入る。
  2. 立方体上部の4点を選択した状態で、頂点グループを作成して適当な名前をつける。
  3. オブジェクトモードに戻り、モディファイアの『簡易変形(ストレッチ)』を選択し、02で作成した頂点グループを指定する。
  4. 簡易変形の『変形』の項目の『強さ』にキーフレームを挿入する。
  5. オブジェクトを必要数だけ複製&移動させる。
  6. 音声データを反映させたいオブジェクトを選択する。※
  7. グラフエディタ上から簡易変形の変形の『強さ』を選択する。
  8. グラフエディタの『キー』をから『音声をFカーブにベイク』を選択する。
  9. 音声データとして読み込みたい音声ファイルを選択し、最小周波数や最大周波数等を限定してベイクする。
  10. グラフに音声データが反映されているので、グラフエディタ上でNツールを開き、モディファイアの『追加』を行い、演出に適したモディファイアを選択してグラフの動きを補正する。
  11. 以下、複製したオブジェクトの数だけ06~10を繰り返す。※※

 

※ 音声データとは、ひとつの音声ファイルの特定の音域のものであったり、複数の音声ファイルであったりと、そのときどきで色々。演出に合わせて適当に。

※※ 同一の音声ファイルで異なる動きをさせるためには取得する音域を変える(最小周波数や最大周波数)必要あり。

 

 

関連記事
スポンサーサイト

0 Comments

Post a comment