
今回は 3D の形状などを扱う SOPs (Surface Operators)と Audio data の扱いの勉強をしていきます!
サンプルファイル
chimanaco/takara-univ-media-programming-2022
07が本日のディレクトリです。
SOP を構成するもの
SOP Structure: /project1/Structure
SOP を構成するものとして Point、Vertex、Primitive というデータ構造があります。ちょっとややこしいのですが、以下のように考えることができます。
| Name | Summary |
|---|---|
| Point | 3D 空間上の座標で表される点。 |
| Vertex (Vertices) | Point を使ってどのように Primitive を形作っているかの情報。 |
| Primitive | Point と Vertices を使ってレンダリングできるようにしたもの。 |

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

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

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

よく使う操作
Viewer を Active にした状態で以下の操作ができます。
LMB + ドラッグで回転、RMB + ドラッグで横移動、MMB + ドラッグでズームができます。
Hキーでデフォルトの位置にリセットできます。
Wキーで wireframe を表示します。
Pキーで Display Option を表示します。
よく使う SOPs
Merge: /project1/Merge
Merge SOP は2つ以上の SOP をマージします。

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

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

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

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

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

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

ドラッグ&ドロップでネットワークに追加することもできます。
Audio を扱う
TouchDesigner では Audio を扱うオペレーターがたくさんあります。OP Create Dialog で見ると、Audio から始まる CHOP が並んでいまして、これらが Audio 関連のオペレーターになります。

Audio IN/OUT /project1/Audio_in_and_out

まずは Audio file を再生してみましょう。Audio file の再生には Audio File In CHOP
を使用します。これをネットワークエディタに配置すると自動的に再生されます。自分の好きな Audio file を再生したい場合は File からパスを指定してください。
波形が動いているので再生している様子は分かるのですが、このままだと何も聞こえません。スピーカーやヘッドホンなどを通して出力をするには Audio Device Out CHOP
を配置して出力先を Device から選択します。Volume や Pan などのパラメーターもあります。
注意!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)は二乗した値の中央値(平均値)の平方根です。いい感じに平均をとるものと考えてください。これらが生成する値を使って、視覚化を行うことができます。

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

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

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

本日の課題: Audio data visualize してみる
今日勉強した SOP と Audio data visualization の手法を使って作ってみてください。プロジェクトフォルダごと Teams に提出してください。
参考
- SOP Workshop @TouchDesigner Study Weekend vol.010
- 映像音響処理概説 2019 第6回: SOP基礎
- 映像音響処理概説 2019 第8回 | satoruhiga.com: SOPのレンダリング
- SOP - Derivative
- Point List - Derivative
- Primitive - Derivative
- 第1回: イントロ,映像生成,インタラクティブ,3D,レンダリング | Scott Allen
- Norway Workshop | Introduction to SOPs - Surface Operators - YouTube
- introduction to Touchdesigner - Stream part 4 - More SOPs, Instancing and Geometry - YouTube
- SOPの基本的な使い方|Toyoshi Morioka|note
- 映像音響処理概説 2018 第二回
- 映像音響処理概説 2019 第12回: 音反応 2
- 映像音響処理概説 2019 第11回: 音反応
- How to make spectrum shape audiovisual using feeback in Touchdesigner (터치디자이너 튜토리얼 자막) - YouTube
- 音の大きさの指標。Peak(ピーク)とRMSについて : OTO-to-MIMI
- 5.3 FFTとオーディオの音程解析 - 技術的なやつ