第11回 MIDI コントローラー、他のアプリとの連携 基礎

Tuesday, July 6, 2021

今回は MIDI コントローラーの使い方や他のアプリと連携する方法をいくつかご紹介します!

サンプルファイル

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

MIDI コントローラーを使う /project1/MIDI

MIDI は、電子楽器の演奏データを機器間で転送・共有するための共通規格である。

VJ などのパフォーマンスを行う時に、 MIDI コントローラーという USB で PC に接続できるデバイスを TouchDesigner と一緒に使うことが多いです。

MIDI コントローラーを PC に接続した後、Dialogs > MIDI Device Mapper を開きます。 Create New Mapping で設定を追加します。

Network

In Device から接続した MIDI コントローラーを選択します。

Network

MIDI コントローラーのノブを動かして、数値が入ってきていれば接続完了です。

Network

MIDI In CHOP を配置するとこれらの値を取得することができます。

OSC /project1/OSC_Out & /project1/OSC_In

OpenSound Control(OSC)とは、電子楽器(特にシンセサイザー)やコンピュータなどの機器において音楽演奏データをネットワーク経由でリアルタイムに共有するための通信プロトコルである。

OSC を使うと同一ネットワーク上に存在するデバイス間でデータを送受信することができます。MIDI の代替として設計され、MIDI の無線バージョンと言ってもいいかもしれません。ソフトウェア同士の連携に広く使われていて、様々なシーンで利用されています。

TouchDesigner 同士でやり取りをする場合には OSC Out CHOPOSC In CHOP を使用します(OSC DAT を使用するとより詳細な設定ができますが今回は CHOP で説明します)。

2人1組になって、1人は OSC Out CHOP を配置してください。OSC Out CHOPNetwork Address に送信したいデバイスの IP アドレスを指定します。もう一方の IP アドレスを聞いてください。

それから Port を指定します。IPアドレスを建物の住所にたとえると、ポート番号は部屋番号のようなものといえます。0-65535の値を使用できるのですが、1から1023の範囲内のポート番号はウェルノウンポート番号と呼ばれ、システム提供のTCP/IPアプリケーションによって使用されることが多いので避けておきます。これはデータのやり取りをする際に同一デバイス上でユニークな番号である必要があるためです。

Network

Port 番号は、学籍番号の下4桁 + 10000 としてください。下4桁が重なる方がいたので、別途指示します。

もう1人は OSC In CHOP を配置し、OSC Out CHOP で使用しているものと同じ Port 番号を指定すると CHOP の値が入ってくるはずです。

役割を入れ替えてやってみてください。

TouchIn / TouchOUT /project1/TouchOut & /project1/TouchIn

TouchDesigner 同士で映像を共有するオペレーターです。

1人は Touch In TOP を配置、もう1人は Touch OUT TOP を配置してください。 Touch OUT TOP に送りたい画像の入ったオペレーターをつなぎます。 Network Port を学籍番号の下4桁 + 20000 としてください。下4桁が重なる方がいたので、別途指示します。

Network

Touch In TOP を配置して、Touch Out TOP 側の方の IP アドレスを指定します。Port 番号もTouch Out TOP 側に合わせます。これで映像が共有されるはずです。

Network

役割を入れ替えてやってみてください。

NDI で他のアプリに映像を送る /project1/NDI_Out

ここから1人でやります。NDI は TouchDesigner と他のアプリ間で映像をシェアするのに使用できます。同一 PC 上でもネットワーク上の他の端末間でも送受信が可能です。

Network

Touch Out TOP の代わりに NDI Out TOP をつなぎます。Source Name にご自分の名前をアルファベットで入れてください。e.g. Harada

Network

インストールされている VJ ソフトの Resolume を立ち上げてください。Source の ‘NDI Servers’ のところにさきほど TouchDesigner で指定した名前が出てくるのでそれをダブルクリックすると Resolume 側に送られているのが分かるかと思います。 このように TouchDesigner で作成した映像を Resolume に送って VJ の素材の1つとして使う、ということもできます。

同一ネットワーク上にいる他の映像ソースも受け取れるので色々試してみてください。

NDI で Teams に映像を送る

NDI Webcam Input を立ち上げます。教室の PC には既にインストールされていますが、ご自分で試す場合は NDI Tools からダウンロードしてください。

Network

ここで TouchDesigner の NDI Out からの情報を選びます。こうすると Teams でカメラのソースとして TouchDesigner からの映像を使えるようになります。 Teams 以外のビデオカンファレンスツールでもこの NDI を使った方法は使用できるので是非使ってみてください!

Spout / Syphon

同一 PC 上で映像をシェアする規格として Spout / Syphon というものもありますが、今回は NDI をご紹介しました。

Network Network

本日の課題:NDI を使って映像を送り合う

グループで MIDI や OSC、TouchIn / Out, NDI を使って色々試してみてください。授業の最後に映像をみんなで NDI から Teams にシェアしてみんなで見ます。

  • 分かりやすいように 2人で送受信していましたが、それ以上の人数でやっていただいても構いません。

参考

第12回 DMXを使った照明器具のコントロール実習

第10回 プロジェクションマッピング実習