第7回 音に反応するビジュアルを作る1 SOP と Audio data visualization 基礎

Tuesday, June 7, 2022

今回は 3D の形状などを扱う SOPs (Surface Operators)と Audio data の扱いの勉強をしていきます!

サンプルファイル

chimanaco/takara-univ-media-programming-2022
07が本日のディレクトリです。

SOP を構成するもの

SOP Structure: /project1/Structure

SOP を構成するものとして PointVertexPrimitive というデータ構造があります。ちょっとややこしいのですが、以下のように考えることができます。

NameSummary
Point3D 空間上の座標で表される点。
Vertex (Vertices)Point を使ってどのように Primitive を形作っているかの情報。
PrimitivePoint と Vertices を使ってレンダリングできるようにしたもの。

Network

SOP Primitive types: /project1/Primitives_Types

SOP Primitives types2: /project1/Primitives_Types2

Primitive と呼ばれるものには以下のものがあります。

TypeSummary
Polygon三角ポリゴンの集まりで構成されている形状。よく使う。
Mesh四角ポリゴンの集まりで構成されている形状。よく使う。
NURBSNon-Uniform Rational B-Spline(非一様有理Bスプライン)の略で、曲線や曲面を生成する数学的モデル。計算負荷が高い。
Bezierベジエ曲線を使って生成する数学的モデル。計算負荷が高い。
Particleなどを使用した粒子のシミュレーションや、ポイントクラウドの描画。
Metaball2個以上になると互いに融合し合って複雑な形状になる球。Metaball SOP。

Network

Particle は Particle SOPConvert SOP などで作成することができます。

Network

SOP Primitives: /project1/Basic_Primitives

また Primitive というと、Circle、Box, Sphere、Tube などのシンプルな形状のもののことも指します。これらは CG ソフトウェアの方で用意されているものです。

Network

よく使う操作

Viewer を Active にした状態で以下の操作ができます。

LMB + ドラッグで回転、RMB + ドラッグで横移動、MMB + ドラッグでズームができます。

Hキーでデフォルトの位置にリセットできます。

Wキーで wireframe を表示します。

Pキーで Display Option を表示します。

よく使う SOPs

Merge: /project1/Merge

Merge SOP は2つ以上の SOP をマージします。

Network

Boolean: /project1/Boolean

Boolean SOP は2つの SOP の加工をします。計算式によって結果が変わります。 例えば、Union は2つの SOP を合体させて、内側のポリゴンを削除し、Intersection は外側のポリゴンを削除します。パラメーターを変えたり入力している SOP をいろいろ変えて試してみてください!

Network

Clip: /project1/Clip

Clip SOP は立体を平面で切り取ります。

Network

Trace & Extrude: /project1/Trace_Extrude

Trace SOP は TOP から SOP を生成します。Threshold などの値を変更して色々な画像で試してみてください。 また、ここでは Extrude SOP を使って立体の押出をしています。Depth Scale でどのくらい押し出すか調整することができます。

Network

Copy: /project1/Copy

1つ目の SOP の入力をコピーします。Number of Copies でコピーする回数を変更できます。

Network

2つ目の input に指定した SOP の形状にコピーすることもできます。

Network

Obj: /project1/Obj

ここでは obj を読み込んでいます。読み込めるファイル形式は File Types - Derivative を参照して下さい。

Network

ドラッグ&ドロップでネットワークに追加することもできます。

Audio を扱う

TouchDesigner では Audio を扱うオペレーターがたくさんあります。OP Create Dialog で見ると、Audio から始まる CHOP が並んでいまして、これらが Audio 関連のオペレーターになります。

Network

Audio IN/OUT /project1/Audio_in_and_out

Network

まずは Audio file を再生してみましょう。Audio file の再生には Audio File In CHOP を使用します。これをネットワークエディタに配置すると自動的に再生されます。自分の好きな Audio file を再生したい場合は File からパスを指定してください。

波形が動いているので再生している様子は分かるのですが、このままだと何も聞こえません。スピーカーやヘッドホンなどを通して出力をするには Audio Device Out CHOP を配置して出力先を Device から選択します。VolumePan などのパラメーターもあります。

注意!Audio Device Out CHOP に接続をする前に必ず PC の音量を確認してください!予想外に大音量で再生される可能性もあります。

オーディオインターフェイスやマイクなどを使用して外部デバイスから Audio を取り込む場合は Audio Device In CHOP を使用します。

また、Movie に Audio が含まれている場合は、Audio Movie CHOP で Audio の情報を取得することができます。Movie File In TOP で Audio を取得したい Movie を指定します。

Audio 音量の解析 /project1/Audio_volume_analyze

Audio data visualization の方法としてはいくつかあるんですが、まずはAnalyze CHOP を使用して音量を解析する方法をご紹介します。Function にある設定の中で Maximum が最大値、RMS Power はRMS (root-mean-square)は二乗した値の中央値(平均値)の平方根です。いい感じに平均をとるものと考えてください。これらが生成する値を使って、視覚化を行うことができます。

Network

Trail CHOP と インスタンシングを使った Visualization

Network

Audio Filter CHOP では特定の周波数範囲のみ取り出すフィルターを作ることができます。Filter パラメーターで Low Pass で低周波、Band Pass で中周波、High Pass で高周波をそれぞれ通過させることができます。

Network

これらを使いやすくしたコンポーネントも TouchDesigner にデフォルトでついています。 Palette > Tools > audioAnalysis

Network

本日の課題: Audio data visualize してみる

今日勉強した SOP と Audio data visualization の手法を使って作ってみてください。プロジェクトフォルダごと Teams に提出してください。

参考

第8回 音に反応するビジュアルを作る2 Instancing & Particle SOP 基礎

第6回 Live Visuals ツールを作る3 MIDI コントローラーを使う、他のアプリとの連携