
独自の制御システムを開発して SPAT と連携させようとしている場合、すべての OSC パターン、構文、使用方法に関する詳細な記述をリファレンス用のテキストファイルに書き出せることを知っておくと便利です。このオプションは SPAT のプリファレンスにあります。また、付録には完全な OSC テーブル 付録D — Appendix C - OSC Table も用意されています。
メモ: Enable commands log を有効にすると、受信および送信した OSC メッセージがログウィンドウに表示され、データを受信していることを確認できます。Shift + F7 でログウィンドウが開きます。
一般的に、SPAT の OSC パターンは次の形式になります。
/source/[remote number]/x
ここで remote number は、メッセージで制御したいバーチャルソースの Remote 番号、または Room のインデックス(つまり room 番号)を表します。
OSC Connections Matrix でそのオプションを設定すれば、3つの位置フォーマットを1つのメッセージにまとめることができます。
/source/[remote number]/xyz 直交座標(メートル単位)
/source/[remote number]/aed 極座標(azimuth、distance、elevation)
警告: 直交座標(Cartesian)または極座標(Polar)のどちらか一方のみをオートメーションするように注意してください。両方を同時に行わないでください。
remote number パラメータを OSC メッセージの引数として持たせる方が便利な場合もあります。このオプションは OSC Connections Matrix で利用でき、Index as Arg と呼ばれます。このオプションを有効にすると、メッセージは次のパターンになります。
/source/xyz ifff
ここで i はターゲットの remote number を示す整数で、f は慣例に従いメッセージの値を示す float です。
SPAT Revolution の OSC ディクショナリとその構文の詳細については、付録C 付録D — Appendix C - OSC Table を参照してください。
output rate では、エンジンが OSC メッセージを送信する速度を変更できます。値が小さいほど SPAT Revolution はより多くの OSC メッセージを送信し、リモート側で変化が表示されますが、その分 CPU への負荷も増加します。OSC コマンドでソースを動かす際に CPU の過負荷が発生した場合は、この値を大きくしてみてください。デフォルトでは 5.0 ms に設定されています。
25.01 ビルド以降、すべての SPAT Revolution の OSC メッセージは相対モードで送信できます。remote number の後ろに /relative を追加するだけです。たとえば /source/1/relative/gain 1.0 は現在の値に 1.0dB を加算します。
OSC connection メニューには多くの柔軟性があります。これは SPAT Preferences ページにあります。

8つの異なる接続を入力または出力として設定できます。これは各接続が1行となるテーブルとして表示されます。
最初のパラメータは connection type で、多くの入力および出力プリセットを提供します。これらのプリセットには、専用のネットワークポート、専用のオプション、必要に応じた専用のトランスフォームが付属しています。
メモ: OSC プリセットは次のとおりです。
次に IP address を設定する必要があります。OSC 接続が同じコンピュータ上でローカルに確立される場合、ポート 127.0.0.1 がローカルネットワーク用に割り当てられています。その他の構成では、対象デバイスの IP を指定する必要があります。
最後に、port number を空いているものに調整できます。「custom」プリセットを読み込んだ場合は、ネットワーク接続を確立するためにこのパラメータを編集する必要がある可能性が高いです。
さらに、右パネル上部の名前をクリックすることで、OSC スロットに名前を付けることも可能です。
パラメータを失わずに OSC ソケットを無効化したい場合は、OSC ソケットを無効化することが可能です。これを行うには、OSC ソケット番号を右クリックして Activate/Deactivate をクリックするか、OSC ソケット番号を Shift クリックします。これにより、入力または出力が無効化されます。
リモートと SPAT の同期が失われた場合は、特定のソケット上にプロジェクトのすべてのプロパティをダンプすることも可能です。これを行うには、OSC ソケット番号を右クリックして Dump project をクリックします。なお、OSC ソケットがアクティブ化されたとき、および OSC の IP アドレスやポートが変更されたときには、プロジェクトは常にダンプされます。
各 OSC output ソケットには Send Animation Value オプションがあります。これは、アニメーション(LFO、トラジェクトリなど)に由来するパラメータ変更をこのソケット経由で転送するかどうかを制御します。
ソース上でアニメーション(たとえば円形のトラジェクトリ)が実行されると、Azimuth、Distance、X/Y/Z 位置などのプロパティが高いレートで継続的に変更されます。これらの変更をすべて OSC で送信すると、2つの問題が発生する可能性があります。
推奨設定は使用ケースによって異なります。
| 使用ケース | Animation Value | 理由 |
|---|---|---|
| DAW 内の SPAT コンパニオンプラグインへの送信 | Off | 手動およびスナップショットによる変更のみが送信され、DAW オートメーションとの競合を回避します |
| ビジュアライゼーションシステム(OSC ディスプレイ、照明卓)への送信 | On | 受信側がアニメーションされた実際の位置をリアルタイムで確認する必要があります |
| 外部コントローラー(タブレット、ハードウェアサーフェス)への送信 | Off | 高レートの更新でコントローラーをフラッディングするのを回避します |
メモ: Send Animation Value がオフの場合、このソケット経由ではソースの「center」位置(手動またはスナップショットで設定)のみが送信されます。アニメーションは引き続き SPAT Revolution 内部で実行され、3D ビューでも表示されます。フィルタリングされるのは OSC 出力のみです。このオプションはデフォルトで有効です。
OSC で異なるデバイスやソフトウェアをインターフェースすることは、各機器が独自の値スケールを持つ可能性があるため、問題となる場合があります。これらの困難を克服するために、いくつかの OSC トランスフォームのプリセットが実装されています。

トランスフォームプリセットは各 OSC 接続でアクセス可能で、値を素早く再スケーリングできます。
メモ:

含まれているトランスフォームプリセットがニーズに合わない場合は、+ ボタンをクリックしてカスタム OSC トランスフォームメニューを開くことができます。このメニューでは、入力値または出力値のスケーリング方法を選択できます。また、特定の OSC コマンドをスケーリングルールから除外することもできます。
送信側と受信側が同じコントロールに対して異なる値範囲を使用する場合は、カスタムトランスフォームを使用します。たとえば、あるコントローラーは azimuth を 0..1 で送信し、別のものは度数で送信し、さらに別のものは -1..1 のような双極性の範囲を使用するかもしれません。トランスフォームは、SPAT Revolution によって値が適用される前、または外部デバイスへ送信される前に、値を再スケーリングします。
カスタムトランスフォームは、位置、ゲイン、距離、フィルター周波数などの連続値に最も適しています。これらのコントロールでは、トランスフォームは入力範囲を出力範囲にマッピングでき、必要に応じて結果を反転またはクランプできます。
離散(Discrete)値は、連続的な動きではなく選択肢を表すコントロールです。例としては、オン/オフ状態、メニュー選択、モード、列挙されたオプションなどがあります。離散値は通常、線形に再スケーリングすべきではありません。中間値には意味のある状態が存在しないためです。
メモ: トランスフォームされた OSC コントロールが予期しないモード間でジャンプする場合は、対象のパラメータが離散値かどうかを確認してください。連続トランスフォームはフェーダーや位置に有用ですが、離散パラメータには正確な値が必要です。
参照元情報:Open Sound Control – FLUX:: SPAT Revolution User Guide
https://doc.flux.audio/spat-revolution/Ecosystem_&_integration_OSC_Connections_Matrix.html