Make it inspiring
 

OSC

Open Sound Control

OpenSoundControl (OSC) は、シンセサイザーやコンピューターなどアプリケーションとデバイス間でリアルタイム メッセージ通信のプロトコルとして、カリフォルニアバークレー校の”Center for New Music & Audio Technologies (CNMAT)” で開発されました。当初の開発目的からOSCはMIDIの代替えと捉えられます。しかし通信にIPネットワークを使うこの特徴はメディアサーバー制御や照明制御などにも非常に効果的なもので、今ではショーコントロール分野で広く活用されるプロトコルとなっています。OSC 仕様 1.0 は 2002 年に公開され、2009 年の仕様 1.1 アップデートでは、新しい機能とデータ型のサポートが追加されています。

OSC概要

OSCの通信にはIPネットワークを使い、OSCパケットの伝送については主にUDPが利用されます。OSCパケットは、OSCメッセージ(OSC アドレス パターン、それに続く OSC タイプ タグ文字列)とその後に続く 0 個以上の OSC Arguments という値で構成されます。

OSC パケットを送信するアプリケーションはすべて OSC クライアントです。 OSC パケットを受信するアプリケーションはすべて OSC サーバーとなり、すべての OSC サーバーは一連の OSC メソッドを持ちます。OSC メソッドは、OSC サーバーが受信する OSC メッセージの宛先であり、 OSC アドレス空間と呼ばれるツリー構造に配置されます。 このツリーを構成するのが OSC メソッドです。それぞれのメソッドにOSCアドレスが定義されます。

OSC フォーマット

OSCのデータフォーマットの構造は、/スラッシュで区切ったテキストで階層構造を持つアドレス定義します。これをOSCアドレス空間といい、受信側でも同様のアドレスを記載することで送り手のデータを受信できます。OSCはUDPのポート番号とこのOSCアドレス定義を使ってそれに続くデータを正しく受け渡しします。

アドレスメソッドの記載は必ず / (スラッシュ)から開始し、階層をつける場合はスラッシュを入れて次のテキストを入れます。

例 /ModuloPlayer/cue/go

このアドレスに続くデータはいくつかの形式があり、これらはタグ文字でそれを識別します。

データ形式

  • 32ビット整数(Integer 32) 
  • 32ビット実数(Float 32)
  • テキスト (OSC string )