忍者ブログ

プログラミングに関してのメモみたいなもの

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

OSC(Open Sound Control)とは簡単に言うとネットワーク経由で音楽デバイスの制御やらMIDIデータを送受信したいから、そのプロトコル(通信フォーマット)を決めたっていうものです。

通信にはUDPとかTCPを使うのが一般的だけど、ヘッダ、フッタをちゃんと決めておけば232C通信だろうがなんでもいんじゃね?っていう感じです。通信速度に関しては知りませんが。。。
が、結構前からあるのに、なぜかマニアックな音楽ソフトやハードにしか実装されてないようです(筆者がたまたま持ってないだけ?)。

規格等についてはここに書いてあります。
http://opensoundcontrol.org/spec-1_0
いろんなデータ型が送れますが、必ず32bit(4byte)毎に送る決まりがあるようです。

とにもかくにもとりあえずどんなデータが流れるんじゃい!?っていうことで簡単に通信テストをやってみました。
まずここからzipファイルをダウンロード
Open Sound Control for .NET
luvtechno.net/d/1980/02/open_sound_control_for_net_1.html
当然Visual C# 2008 Express Edition以上がインストールされているものとします。

プロジェクトを開いて”F5"を押してデバッグ開始。
一つだけではなんにもならないので一回終了してエクスプローラからプロジェクトフォルダの\bin\Debug\OSC.NET.EXEを2回立ち上げます。
一方のウィンドウはデフォルトのまま、もう一方のウィンドウの"Remoto Port"を"6600"、"Local Port"を"5500"にします。そして両方の"Connect"を押します。この辺の設定はただのTCP/IPですね。
次に"Address"欄や"Data"欄に適当な値を入れて"Send"をクリックするともう一方のウィンドウの"Receive"側にアドレスとデータが表示されます。
画面


単純にデータ受信を見たいだけなら
http://luvtechno.net/d/1980/02/open_sound_control_3.html
のOSC-dumpを実行してデータを送りつけてやるだけで済みます。

じゃぁ実際どんなデータが流れているのかを見るのにはパケットキャプチャを使います。
普通はWireShark(Etherealが名前変わってたの知らなかった orz)を使いますがあえてMicrosoft Network Monitorを使います。Microsoftはよくリンク切れを起こしてめんどくさいのでリンクはなしで!
検索して探してください。
通常の環境なら"NM32_x86_setup.exe"をダウンロードしてインストールします
・・・ってあれ?localhost宛のパケットが表示されない!!

どうやら仕様のようです。MACじゃできたのにな。。。
ということでWindowsでやるときはパソコン2台でやりましょう。
ARPテーブルとかをいじればできるらしいですがめんどいので以上。

PR

◎ Post your Comment
Name
Title
E-mail
URL
Comment
Pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
◎ この記事へのトラックバック
Trackback URL
◎ カレンダー
03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
◎ 最新コメント
◎ 最新トラックバック
◎ プロフィール
HN:
毒素
性別:
非公開
◎ バーコード
◎ P R
◎ ブログ内検索
忍者ブログ 
[PR]