TouchDesignerの動作確認を最小限の構成で行いました。
OSCのメッセージをビジュアル的にかっこよく表示したり、逆にOSCメッセーをを受信し加工し表示したりするツールとしてビジュアルプログラミングツール(macOSで動作)のTouchDesignerの動作確認です。TouchDesignerはWindows版では以前から有りましたが、macOS版が2017年に「TouchDesigner099」としてリリースされました。OSCのビジュアルプログラミングツールとしてTouchDesigner以外の同様なツール(PureData/Max 7)も候補にしていましたが一番ビジュアルプログラミングしているTouchDesignerを使用する事にしました。
また、TouchDesignerが使用するスクリプト言語としてPythonを使用しているのも選択した要因の1つです。
今回、動作確認を行った環境は図のようにiPhoneのTouchOSCとOSCで通信しました。
【インストール環境】
iPhone X : iOS 11.2.6 (15D100)
Mac Pro (Late 2013) : macOS Higth Sierra Ver 10.13.3 (17D102)
TouchOSC ver1.9.9
TouchOSC Editor ver1.8.4 -OSX
TouchDesigner099 -OSX (2017.16620)
作成日時 2018-04-05 20:47 更新日時 2018-04-08 12:02
1.概要
TouchOSCとTouchDesigner099を使用して簡単な連携を行い動作を確認します。
2.TouchDesinerのテスト作成
TouchDesinerの起動
起動すると最初のテンプレートで書類が作成され表示されます。
最初に作成された内容を次のように修正し保存します。
noise1を残して他を全て削除
osc out を追加 > noise1の出力を接続
保存
noise1の設定
OSCのメッセージフォーマットに従ってnoise1の「Channel」>「Channel Names」を変更します。
今回は「1/rotary1」を設定します。
(TouchOSC レイアウトに合わせる)
oscout1の設定
接続先の情報を設定します。
Network Address: 192.168.1.138
(TouchOSCが動作するIPアドレス)
network Port: 8000
(TouchOSCの入力ポート番号)
環境に合わせてIP/入力ポート番号は変更します。
設定結果
設定後の画面です。
(この時点でiOSデバイス上のTouchOSCが動作してOSCのメッセージが受信出来るUIが有ると動作します。)
動き的にはノイズをOSCメッセージとして指定するIPのポート番号へメッセージ「1/rotary1」で送ります。
3.TouchOSCのレイアウト作成
TouchOSC Editorを起動
レイアウトを編集して次の3つのUIを定義します。
/1/fader1
/1/led1
/1/rotary1
レイアウトを保存してiOSデバイスに転送します。
4.TouchOSCの設定を変更
OSC設定で TouchDesignerの動作するPCのアドレスとPortを指定します。
転送したLAYOUTを選択します。
5.TouchOSCへメッセージを送信
TouchOSCとTouchDegsignerが動作して設定が正しいなら以下のように連携が行われます。
TouchDegsignerの出力がTouchOSCのrotray1に反映されます。
6.TouchOSCへメッセージを送信
TouchDegsignerにボタンを追加してTouchOSCへ送信します。
TouchDegsignerを次のように編集します。
ボタン用のオペレータとして3つを追加。
button
rename
oscout
それぞれを接続して設定します。
buttonの設定
今回は特に設定は無いが、デフォルトはトグルボタンとして設定されています。
ボタンとして動作させるためにbuttonの右下の「星」印をクリックします。
これで設定モードではなくボタンとして動作するようになります。
renameの設定
OSCのメッセージフォーマットに従うようにbutton出力をrenameします。
補足: noiseの場合にはチャンネル名を変更出来ましたがbuttonは出来無いようなのでrenameを使用しました。
oscout2の設定
接続先の情報を設定します。
Network Address: 192.168.1.138 TouchOSCの動作するiOSデバイス
network Port: 8000 TouchOSCの入力ポート番号
環境に合わせて変更します。
設定結果
一通り設定が完了したらbutton関係のTouchDesignerの画面は次のようになります。
「Button」をクリックするとiOSデバイスのTouchOSCのled1がオン/オフされるようになります。
注意: Buttonの右下の「+」を確認の事。
7.TouchOSCからメッセージを受信
TouchOSCからTouchDegsignerへ値(fade1)を送ります
いままでは、TouchDegsignerの値をOSCメッセージとして送って表示していたが次は逆のパターンです。
CHOPオペレータとして3つを追加します。
oscin OSCのメッセージ受信
select 受信メッセージの選択用
trail 値の表示用
3つの接続して設定します。
oscin設定
OSC in のポート番号を設定します。
TouchDesignerのOSC Inへは指定されたポート番号のOSCメッセージが全て入るようになります。
全てのメッセージが一度OSD inに入るので特定のメッセージを分離して処理する必要が生じます。
select設定
Channel Namesから選択したいOSCメッセージを選択します。
受信メッセージが未だ無いときには、メッセージの一覧は表示されなので直接入力します。
trail設定
今回はトレース設定はデフォルトのままです。
8.受信動画
faderを入力したときの動作例です。
以上、TouchDesignerの動作確認を行ってきました。
TouchDesignerはOSCメッセージを簡単に送受信と操作/表示できます。
電子工作のデータを表示したり制御するにはオーバースペック?と感じますが、単に文字列を出したり、光ったりするよりは多彩な表現をもたらします。