OSCの入出力
OSC は、スマホのコントローラーアプリや TouchDesigner などの外部ソフトから SynapseRack を操作するための仕組みです。逆に、SynapseRack から外へ値を送ることもできます。
やり方は2通りあります。
| やり方 | 向いている場面 |
|---|---|
| 画面のUIに直接割り当てる | レイヤーのOpacityや再生ボタンなど、既にあるUIをそのまま外から動かしたい |
| OSCノードを置く | 受け取った値をノードで加工したい/SynapseRackから値を送り出したい |
まず有効にする
メニューバーの Setting → GlobalSettings → OSC。
| 項目 | 内容 | 初期値 |
|---|---|---|
| OSC Input | 受信のON/OFF | OFF |
| Input Port | 受信ポート | 3170 |
| OSC Output | 送信のON/OFF | OFF |
| (ラベルのないドロップダウン) | Localhost / Custom の切り替え | Localhost |
| Output Address | 送信先アドレス(Custom のときだけ表示) | 127.0.0.1 |
| Output Port | 送信ポート | 3171 |
入出力はどちらも初期状態ではOFFです。 「送っているのに何も起きない」ときは、まず OSC Input がONになっているかを確認してください。
送信側のアプリには、SynapseRack を動かしているマシンのIPアドレスと Input Port の値を入れます。
Localhostに戻しても、入れた送信先アドレスは残ります。 隠れるのは入力欄だけです。手元に送り直したいときはCustomのまま127.0.0.1を入れ直してください。
この設定は プロジェクトではなくマシン側に保存されます(設定画面の下にも
Saved on this machine, not in the project file と出ます)。
会場ごとにネットワークが変わっても、.synapse を持ち歩けば設定はそのマシンのものが使われます。
届いているか確かめる
OSC Monitor に受信したメッセージがそのまま並びます。 アドレスも型もここで確認できるので、うまく動かないときは最初にここを見てください。
画面のUIに割り当てる
MIDI と同じアサインモードの中で割り当てます。
- OSC Input をONにして、送信側から実際に信号を送っておきます
- メニューバーの Setting → MidiMapping でアサインモードに入ります
- 割り当てたいUIをクリックして赤にします
- MIDI Inspector の
OSC sources (click to assign):に、受信したアドレスが並びます - その行をクリックすると割り当てられます

行の書式は アドレス [引数の番号] (現在の値) です。
1つのメッセージに値が複数入っている場合は、値ごとに別々の行として並びます。
まだ何も受信していないときは Move an OSC control to detect its address... と出ます。
送信側のフェーダーを動かせばそのアドレスが出てくる、という探し方をします。
OSCは「動かしたら自動で割り当て」にはなりません。 MIDIはつまみを動かした瞬間に紐付きますが、OSCは常時大量の信号が流れうるので、 一覧から選ぶ方式になっています。
一覧は選択を変えるたびにリセットされます。 別のUIをクリックしたり、アサインモードを出入りすると空になります。 目的のアドレスが消えたら、送信側をもう一度動かせば出てきます。
一覧に出るのは数値として読める引数だけです。 小数・整数・真偽値は拾いますが、文字列やバイナリの引数は候補になりません。 溜まる候補は最大64件までです。
割り当てを消すときは、Mappings: の行の右端の × です。
詳しくは MIDIマッピング を参照してください。
値の効き方
送られてきた値はそのままUIへ渡されます。0〜1で送ればスライダーがそのまま動き、 ボタン・トグル系は 0.5 を下から上へ超えた瞬間に1回発火します。
OSCノードで配線する
Node Editor の I/O カテゴリに、入出力それぞれ3種類ずつ用意されています。
| ノード | 役割 |
|---|---|
| OSCFloatInput | 受け取った小数を出力する |
| OSCIntInput | 受け取った整数を出力する |
| OSCBoolInput | 受け取った真偽値を出力する |
| OSCFloatOutput | 小数を送る |
| OSCIntOutput | 整数を送る |
| OSCBoolOutput | 真偽値を送る |
どのノードにもアドレスを書き込む入力欄があります。 入力側はアドレスが完全に一致したメッセージの1つ目の値を読み、 出力側は入力された値が変わったとき(および Trigger が来たとき)に送信します。
型が合わないメッセージは無視されるので、小数を送っているつもりで
整数が届いている、というときは OSC Monitor の type: を確認してください。
各ノードの詳しい仕様はノードリファレンスを参照してください。
関連
- OSC Monitor — 受信したメッセージを確認する
- MIDIマッピング — アサインモードの詳しい説明
- Widget Panel — 自分で並べた操作画面にOSCを割り当てる





