第12回: 様々な外部連携,信号処理

目次

外部連携

プログラミングでの作品を作る醍醐味の一つに外部連携の容易さがあります.
プログラム系ではないツールで制作するときは,そのソフトウェア内で想定された範囲でしたアウトプットできません.しかし,プログラムを用いることで,それぞれのツールや機能を繋ぐようなことが実現できます.これはグループログラミングと呼ばれたりします.

画面を連携する

あるアプリが持つ機能を敢えてTouchDesignerでゼロから実装するとなると,骨が折れます.異なるアプリ間で画面(テクスチャ)を共有できると,その手間が省けて,TouchDesignerでの制作に集中できることでしょう.ここではSyphon/SpoutとNDIを紹介します.

Syphon Spout In / Out TOP

SyphonとSpoutはGPUメモリを別のアプリケーションと共有することでリアルタイムでの画像共有を実現します.TouchDesignerでは一つのTOPとして書かれますが,MacOSがSyphon,WindowsがSpoutに対応しています.

また,MacOSではSyphonerという任意のアプリケーションの画面をSyphonで送るという便利なアプリが配布されています.Processingなどでもライブラリとして配布されてはいますが,Syphonerはとても簡単なのでオススメです.
Syphoner URL: http://www.sigmasix.ch/syphoner/

NDI In / Out TOP

NDIはNewTekにより開発されたネットワーク経由で映像のテクスチャを伝送するシステムです.第6回でもNDI Out TOPを紹介しましたが,NewTek NDI Scan Converterを使うことで,自分の画面やアプリケーション画面を送ることができます.
いろんな画面を切り替えたり,一部を切り取って表示したりと応用が効きます.

NDI Toolsサイト: https://ndi.tv/tools/#download-tools

パラメータを連携する

OSC In / Out CHOP

他のデバイスやアプリケーションからパラメータとして色々な情報をやりとりすることがあります.その際に最も使用されているのがOSCというプラットフォームです.
OSCとはオープンサウンドコントロールの略で,元々電子楽器などで演奏データをネットワーク経由で共有するための通信手法でした.しかし,今ではプログラミング環境同士やソフトウェア同士で情報をやりとるするための一番の手法となっています.
チームビルディングする際に,自分以外のクリエイターと情報をリアルタイムでやりとりするときはほぼOSCです.
OSCを送信する際に必要なもの:

  • アドレス(/test のように階層になったパターン)
  • 相手のIPアドレス(192.168.xxx.xxxなど.PC内で完結する場合はlocalhostで良い)
  • 相手のポート番号(888812345など.)
  • 情報(13.4"test"などの数値や文字列)

OSCを受信する際に必要なもの:

  • ポート番号(888812345など.)


特にOSCを送る場合は注意することが多いですが,受け取る場合においては,自身のIPアドレスを知らせることとポート番号を合わせることだけ注意すれば良いです.

デバイスと連携する

特別なデバイスでのレクチャは割愛します.以下の表にオペレータ名と概要を示しておくので,気になった人は調べてみてください.

オペレータ名 概要
Leap Motion CHOP 非接触で手,指の骨格を検出する
Kinect CHOP 非接触で人の骨格を検出したり,空間の深度(奥行き)情報を取得する
DMX In / Out CHOP 証明制御などに用いられるDMX信号を扱う
MIDI In / Out CHOP 電子楽器やデバイス制御に用いられるMIDI信号を扱う
Serial CHOP Arduinoなどのフィジカルコンピューティング系各種デバイスや産業機器制御に用いられるSerial信号を扱う
RealSense TOP 非接触で人の骨格を検出したり,空間の深度(奥行き)情報を取得する

信号処理

他から何かしらの信号を受け取るときは,特にセンサーの類は値が安定しているとは限りません.信号が安定しない場合などに自分の目的の信号を適切に受け取り,反映させる必要があります.

ZIG SIMと連携する

スムージング

第2回で扱ったLag CHOPを使用することで,値の時間的な差分をスムーズに追いかけてくれます.

トリガー

第9回の体験型アプリのキーボード入力を加速度のトリガーにすることでスマホをシェイクした回数をカウントする体験型のアプリにも応用可能です.
Trigger CHOPのしきい値に注意してください.

課題

授業内課題

ZIG SIMから情報を送ってTouchDesignerと連携した作品を制作しなさい.

要件

  • 送る信号の種類は問わない
  • ファイル名を学籍番号+名前(ローマ字).toe として添付して提出(例: 11111111SeiyaAoki.toe)

締切: 2023年7月7日16:10
提出先: 情デサーバ内/12_授業内