1037 : Max Tips(009) : 赤松正行 


------------------------------------------------------------------------
DSPマガジン 2005.05.30 No.1037
------------------------------------------------------------------------

虎、虎、虎、と言うことで、ごきげんなTigerくん(Mac OS X 10.4)が登場して早くも1ヵ月が経ちましたが、皆様、いかがお過ごしでしょうか? 今回はIAC(インターアプリケーション・コミュニケーション)好きの私としては、Tigerに装備されたMIDIネットワーク機能とオーディオ・ネットワーク機能を調べてみました。どちらもOS標準機能ということもあって、結構手軽に、かつ、安定して利用できるようです。これを放っておくて手はないわけで、早速ご紹介と行きましょう。Winな人はごめんなさい。

・TigerのMIDIネットワーク
・TigerのAudioネットワーク

------------------------------------------------------------------------
Max Tips(009)
赤松正行

■TigerのMIDIネットワーク

Tigerくんでは色々と発見があって楽しい毎日ですが、「Audio MIDI設定」のMIDI装置に「Network」が鎮座しているのに気がつきました? このアプリケーションでは一般的にはMIDIインターフェースやMIDI楽器などの設定を行うのですが、「Network」ではネットワーク越しに他のコンピュータにMIDI情報を送ったり、受け取ったりできるようになったわけです。

それでは早速試してみましょう。まずは、コンピュータ同士がネットワークで接続されていなくてはなりません。そこで、EthernetやAirMacによって、それぞれのコンピュータをコンピュータ・ネットワークに接続します。もちろん、BlutoothでもFireWireでもモデムでダイアルアップでも構いませんよ。おっと、TCIP/IPアドレスも適切に設定しておいてくださいね。ファイアウォールがある場合は、デフォルトでは5004番を開けておきます。

次に、いずれのコンピュータでもAudio MIDI設定のMIDI装置の「NetWork」をダブルクリックして設定ウィンドウを開き、新しいセッションを作成して、それを有効にします。ちなみに、お馬鹿なMaxくんは日本語をちゃんと扱えないので、Maxを使う場合はセッション名は英数字を使うのが良いでしょう。これで、ディレクトリのリストに現れた別のコンピュータのBonjour(旧Rendezvous)名を選んで接続すれば、ネットワーク経由のMIDI接続が完了です。後はMIDIアプリケーションを開いて、MIDI入出力ポートとしてネットワークのセッション名を選ぶだけです。

さて、実際にAirMacでコンピュータ同士のネットワークとしてMIDI接続したところ、MIDI情報の取りこぼしはなかったものの、レイテンシー(時間的な遅れ)はそこそこありました。一方のコンピュータでは受け取ったMIDI情報をそのまま送り返すようにして、もう一方のコンピュータで戻ってきたMIDI情報の遅れ(つまり送信、受信、送信、受信と4回のレイテンシーの合計)を計ったところ、大半は1ms前後でしたが、レイテンシーが一定ではないので、リズミックな演奏などでは辛いものがあります。

次に、ギガビットEthernetケーブルで2台のコンピュータを直接接続して計測したところ、この遅れは0.05msでほぼ一定していました。リズミックな演奏でもタイミングのズレを感じることはなく、かなり優秀で安定したMIDI送受信ができているようです。これならリアルタイムのジャム・セッションでも問題なく使えます。最早、普通のMIDIインターフェースよりも速いですからね。

このようにTigerに加わったMIDIネットワーク機能は、接続方法にもよりますが、かなり実用的に使えそうです。ネットワーク経由のMIDI入出力はOSCなどでも可能ですが、OSCに対応していないアプリケーションでも、CoreMIDIにさえ対応していれば(つまり、Mac OS XではほとんどのMIDIアプリケーション)、このMIDIネットワーク・ドライバが使えるので、活用範囲は広いわけです。OSの標準機能の強みですね。

ちなみに、同様のMIDIネットワークは、MacでもWinでも使えるMIDIOVERLAN CP(ポート数の違いによってUS$129またはUS$169 )や、Tiger以前でも使えるiMIDI(無償ベータ版)もありますので、用途によって試してみてください。

MIDIOVERLAN CP
http://www.musiclab.com/products/rpl_info.htm

iMIDI
http://www.grantedsw.com/imidi/

------------------------------------------------------------------------

■TigerのAudioネットワーク

TigerではAudio Unitプラグインとして、オーディオのネットワーク送受信も標準サポートされました。AUNetSendとAUNetReceiveがそれです。これらを利用するにはAudio Unit対応アプリケーションが必要なので、ここでは同じくTigerのオマケ(?)であるAU Labというナイスなミキシング・ソフトを使ってみます。

AU LabはTigerのDeveloper Toolsに含まれており、Developer:Applications:Audioフォルダにインストールされます。以前に紹介した石英作曲家(Quartz Composer)もそうですが、Developer Toolsには結構気合いが入ったアプリケーションやツールが含まれていますので、開発はしないよって人も一度は覗いてみる価値があります。ExtraフォルダにはAULooperなんてのも入ってます。

さて、AU Labではオーディオを送信したいトラックのEffectsにAUNetSendをセットします。この時、AUNetSendの設定としてBonjour名を指定します。送信データのフォーマットとしては16ビットから32ビットまでの非圧縮PCM形式から、16ビットまたは24ビットのApple Lossless圧縮や、32Kbpsから128KbpsまでのACC圧縮などから選ぶことができます。音質を重視するかネットワーク負荷を軽減するかによって、最適なフォーマットが選べるのは有り難いところですね。ポート番号(デフォルトは52800、同じくファイアウォールに注意)やパスワードも指定できます。

次に、オーディオを受信するコンピュータでは、AU LabでAudio Unit Generatorトラックを追加し、GeneratorとしてAUNetReceiveを選びます。ここで送信元のBonjour名がリストに現れますので、それをホストとして選択します。Bonjourなので、ローカル・ネットワークで接続先を見つけるのは簡単です。外部のコンンピュータに接続する場合は、デイレクトリの「+」ボタンを押して、相手のIPアドレスなどを指定すればOK。これはMIDIのネットワーク・ドライバでも同じです。

以上のような手順で接続は完了。文章にすれば長ったらしいですが、実際にはとっても簡単ですよ。送信元のトラックに音を入れると、受信しているコンピュータからその音が流れますね。

それで気になるレイテンシーですが、MIDIと同じように2台のコンピュータをギガビットEthernetとして直接接続し、一方では受信したオーディオを16ビットPCMでそのまま送信するように設定して、もう一方から送り出したオーディオがどれくらい遅れて戻ってくるのかを測定してみました。その結果は、およそ1800サンプルの遅れ(これも4回分のレイテンシーの合計)で、遅れのユレはほとんどないようでした。いずれも内蔵オーディオの44.1kHzで実験しましたので、0.04秒くらいですね。このような数値は動作環境によって違いますから、参考程度にしてくださいね。

ところで、Maxと言うかMSPはAudio Unitをサポートしていないのでダメじゃんってことになりそうですが、そこはSoundflower(旧MSP Patcher、DSPマガジン1024号参照)が対応してくれます。ルーティングにはSoundflowerbedが便利。めでたし、めでたし。

Soundflower & Soundflowerbed
http://www.cycling74.com/products/soundflower.html

------------------------------------------------------------------------

メルマガの発行確認や購読中止は、DSPマガジンWEBサイトをご覧ください。

http://dspmag.iamas.ac.jp/

------------------------------------------------------------------------
Copyright(C)2003-2005 DSP Magazine. All Rights Reserved. 転送・転載禁止
------------------------------------------------------------------------ 

       


©