OSCライブラリの比較

MIDIが機能的に不十分なのは周知として、かと言って代替えの決め手がないのが昨今の音楽業界のツライところ。有力候補はOSC (Open Sound Control) ですが、これもちょっとパッとしない。でも、まぁMaxもSuperColliderも標準対応なのでOSCを使っちゃうワケですが….

それでiPhoneやiPad用のOSC対応アプリケーションを作る場合には、OSCでの送受信を行なうライブラリ(フレームワーク)を使うのが簡単。OSCライブラリはいくつかあるので、ちょっとまとめてみました。

osc-library-comparison

この表でSuporrted Data Typesの記号の意味はOSCの仕様に従っています。また、Response Time(応答時間)は、MaxからiPhoneにOSCメッセージを送り、それに応じたiPhoneからOSCメッセージが送られてくるまでの時間をミリ秒単位で計測し、0.1秒間隔で1000回行なった結果の平均です。つまり、通信は2回行なわれていて、Maxでの送受信にかかる時間も含まれています。片道なら、この数値の半分ですね。Standard Deviationは1000回分の計測値の標準偏差です。

さて、表にまとめたものの、これでますます悩ましくなりました。以下、簡単にコメントしておきます。

ObjCOSCは実測値は優秀ですが、基盤となっているOSC-Kitが古い時代のものでサポートされないそうなので、将来に渡る使用には不安が残ります。ObjCOSC自体もWEBサイトが消滅しているようです。

VVOSCは機能的には優れているんだけど、処理時間も標準偏差も大きいのがイケてません。他のライブリに比べて4倍くらい時間がかかって、しかもバラつきが大きいので演奏的なリアルタイム性の高い用途には向かないでしょうね。

bboscは処理時間も短く、機能的にもまずまずなのですが、計測中に1〜2秒間無反応になることがありました。私のコーディングがイマイチなのかもしれませんが、WEBサイトにはサンプル等が乏しく、原因は解明できていません。このままじゃちょっと怖くて使えませんね。

libloも処理時間や機能は良好とは言え、こやつはC言語インターフェースなので、Objective-Cと混在させて使うための知識やテクニックが必要になります。プログラミングの知識が少ない初心者は手を出さないほうが無難ですよ(これに限らず、私に質問しないでね〜)。

残るWSOSCはOSCメッセージの処理だけでデータの送受信機能を備えていないので、計測をしていません。OSC-Kitは前述の理由で却下。ofxOscoscpackWOscLibなどのC++ライブラリは個人的にはキライなので、これまた却下。

と言う訳で、決定打を見いだせないままのレポートになっちゃいました(残念)。内容的な間違いや新しい情報があれば、ぜひぜひご連絡下さいね〜。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA