1024 : Max Tips(004) : 赤松正行
------------------------------------------------------------------------
DSPマガジン 2004.01.11 No.1024
------------------------------------------------------------------------
(遅ればせながら)新年、明けましておめでとうございます。今年もDSPマガジンをよろしくお願いします(って、今年も続くのか!?〜笑)。さて、2004年最初のDSPマガジンは、Max
Tipsの第4回目、インターアプリケーション・コミュニケーション(IAC)特集です。IACを使えば、iTunesで聴いているラジオをMSPで加工するといった変則技を、ソフトウェアだけで実現できるわけです。Mac
OS
Xになって、spigot~の機能が限定され、MIDIのIAC
Driverがなくなり、寂しい思いをしていた人も多い(?)と思いますが、もう大丈夫です。
・Jack
Tools〜どこでも音ルーティング
・MSP
Patcher〜MSPを音の中心に
・Audio
Hijack〜オーディオ保存はお任せ
・CoreMIDI
IAC
Driver〜MIDIなんでもバス
------------------------------------------------------------------------
Max
Tips(004)
赤松正行
■Jack
Tools〜どこでも音ルーティング
CoreAudioに対応していれば(つまり、ほとんどの場合)、あるアプリケーションのオーディオ出力を別のアプリケーションの入力に繋ぎ替えるツールとして、「Jack
Tools」が登場しました。音楽アプリケーションはもちろん、システム警告音やテキストエディタで読み上げているスピーチなども含めて、ありとあらゆる音を繋ぎ変えちゃいます。もともとは「Jack
(the Jack Audio Connection Kit)
」というGNU/Linux用のソフトウェアですが、最近、目出たくMac
OS
X版としてリリースされたのがJack
Toolsというわけです。無償で利用できるので、開発チームの皆さんに大感謝ですね。
それでは、具体的にJack
Toolsの使い方を見て行きましょう。Jack
Toolsをインストールすれば、JackPilotアプリケーションを起動します。ここで、iTunesなど出力先がシステム標準のオーディオ・ドライバに限定されているアプリケーションを使うには、Preferencesで「Default
Input」と「Default
Output」にチェックを付けておきます。また、外部オーディオ・インターフェースを使う場合には、DriverやInterfaceのポップアップ・メニューで選んでおきます。次に「Start
Jack」ボタンをクリック。Jackサーバが起動すれば、「Connections
Manager」ボタンもクリックして、アプリケーション間のオーディオ入出力を接続するウィンドウを開いておきましょう。
これで準備完了。オーディオを扱うアプリケ−ションを起動すれば、その名前がConnections
Managerに現れます。ただし、iTunesやQuickTime
Playerなどは、音を出さなければConnections
Managerに現れないので要注意です。Max/MSPの場合は、DSP
Statusウィンドウを開いて設定を行います。Driverには「CoreAudio
Build-in Audio」か「CoreAudio Jack Audio
Server」を、Input Deviceには「Built-in
Audio」か「Jack Audio
Server」を選びます。Built-in
Audioの場合は、iTunesなどと同じく、Jack
Toolsが横取りしているシステムのオーディオ・デバイスを通じて入出力を行うことになります。
実際のオーディオ接続を行うには、Connections
ManagerのSend
Portsリストで送り手のアプリケーションやオーディオ・ドライバ(以下、出力ポート)をクリックして選択します。これでReceive
Portsリストに、受け手のアプリケーションやオーディオ・ドライバ(以下、入力ポート)が表示されます。赤く表示されている入力ポートは有効であることを示し、送り手の音を受け取っています。黒字の入力ポートは無効となっており、送り手の音を受け取りません。入力ポートはダブルクリックする度に有効と無効が切り替わります。
iTunesの音をMax/MSPで加工する場合は、出力ポートのiTunesを選択し、入力ポートのMax/MSPを有効にします(ダブルクリックして赤字にする)。これで、Max/MSPのadc~にTunesからの音が流れ込んでくるはずです。混乱しないためには、出力ポートのBuilt-in
Audioを選んで、入力ポートのMax/MSPは無効にしておくと良いでしょう(黒字にする)。
Jack
Toolsでは、下手な接続をすると発振しますが、それくらいの自由度と能力を持った強力なツールだというわけです。これまでもアプリケーション間でオーディオを流すReWireやDirectConnectなどの技術がありましたが、それらに対応するアプリケーションは限られていましたよね。Jack
Toolsの場合は、アプリケーション側では何も意識しないで済むトランスペアレントな構造になっているのが素晴らしいです。いや、これは本来、CoreAudioが備えるべき機能ですよね。
Jack
Toolsホームページ:
http://www.jackosx.com/
------------------------------------------------------------------------
■MSP
Patcher〜MSPを音の中心に
Jack
Toolsとは異なるアプローチでオーディオIACを実現するのが、Cycling'74社の「MSP
Patcher」です。MSP
Patcherはベータ版の段階で、名称も仮とのことですが、興味がある人はダウンロードして試してみると良いでしょう。完成した時にも無償で提供されるそうです。
MSP
Patcherは2チャンネルまたは16チャンネルのオーディオ・ドライバとして機能します。Jack
Toolsのようなルーティング方式ではなく、バス方式と考えれば良いでしょう。つまり、どのアプリケーションからでもMSP
Patcherに投げ込んだ音はすべて、MSP
Patcherを入力としているアプリケーションすべてに届くわけです。
具体的には、オーディオ・ドライバを選択できるアプリケーションなら、そのオーディオ設定としてMSP
Patcherを選びます。オーディオ・ドライバを選択できないアプリケーションの場合は、サウンド環境設定の出力や入力としてMSP
Patcherを選ぶことになります。設定はこれだけです。
例えば、iTunesの音をMSPで受け取るには、iTunesの出力先であるサウンド環境設定の出力に「MSP
Patcher(2ch)」を選び、Max/MSPのDSP
Statusウィンドウでは、Driverは「CoreAudio
Built-it Audio」、Input Deviceは「MSP
Patcher(2ch)」を選びます。このように設定すれば、iTunesの音がadc~から出力されます。
さて、MSP
Pathcerでも無限オーディオ・ループを作って発振させることができるでしょうか? これを確かめるために、Max/MSPのDriverを「Core
Audio MSP Patcher(2ch)」、Input Deviceを「MSP
Patcher(2ch)」とし、adc~から*~
1.01に繋ぎ、さらにdac~に繋ぎます。音の確認のためにadc~にmeter~やscope~を繋いでおくと良いでしょう。これで無限ループが形成されていることになりますが、自己発振はしません(デジタルなので当たり前か?)。
次に、短く小さな音をdac~に送ってみます。meter~やscope~の表示では、徐々に音量が増大し、レッドゾーンに突入する様が見取れます。しかし、その音を聴くことはできません。MSPでは(おそらく他のアプリケーションでも)複数のオーディオ・ドライバを同時に使用できないからです。この発振音をリアルタイムに聴く方法があれば、ぜひ教えてくださいね。ちなみに、瞬間的に発振しないのは、MSPおよびMSP
Patcherのレイテンシーのせいなんでしょうね。
MSP
PathcerダウンロードULR:
http://www.synthesisters.com/download/MSP_Patcher.sit
------------------------------------------------------------------------
■Audio
Hijack〜オーディオ保存はお任せ
Jack
ToolsやMSP
Patcherとは目的が異なりますが、アプリケーションが出力している音を横取りして、ファイルに保存するには、Rogue
Amoeba社のシェアウェア「Audio
Hijack」(US$16)が利用できます。MSPが使える人には積極的な用途が見い出せないでしょうが、手軽にレコーディングするには便利かも。一般的には、DVD再生やストリーミング放送をオーディオ・ファイル化するといった用途なんでしょうね。MP3でのファイル保存やDSPエフェクトなど機能満載の上位バージョン「Audio
Hijack
Pro」(US$30)もあります。
Audio
Hijackホームページ:
http://www.rogueamoeba.com/audiohijack/
Audio
Hijack
Proホームページ:
http://www.rogueamoeba.com/audiohijackpro/
------------------------------------------------------------------------
■CoreMIDI
IAC
Driver〜MIDIなんでもバス
Mac
OS
9時代のOMSには存在していた「IAC
Driver」が、OMSをベースに開発されたCoreMIDIでは提供されていませんでしたよね。しかし、Panther(Mac
OS X 10.3)では、IAC
Driverが復活しています。しかも、システム標準なので、Pantherで「Audio
MIDI設定」アプリケーションを起動すれば、MIDI装置にIAC
Driverが当然のように鎮座しているという具合。なので、IAC
Driverの存在に気がついた人も多かったと思いますが、私はMIDIを滅多に使わないので(苦笑)、最近になるまで知りませんでした(沈没)。
という事情はさておき、CoreMIDIでのIAC
Driverのご紹介です。IAC
Driverを利用するには、まず、Audio
MIDI設定を起動し、MIDI装置を表示します。次に、IAC
Driverのアイコンをクリックして選択し、「情報を見る」ボタンをクリックしてプロパティ・ウィンドウを開きます。そして、「装置はオンライン」にチェックを付ければ、IAC
Driverが利用できる状態になります。ここでは、IAC
Driverの名前を変えたり、利用するポート(バス)の数やその名前を設定することもできます。
次に、Maxでは、Fileメニューの「MIDI
Setup...」を選ぶと、「CoreMIDI MIDI
Setup」ウィンドウに「IAC Driver
IAC Bus
1」といった名前が表示されているはずです。「Auto
Setup」ボタンをクリックして、MIDIポートやオフセットを設定しておきます。また、MIDIを扱う他のアプリケーションでも、MIDI入出力にIAC
Driverの同じポートを設定します。
これで、IAC
Driverの出力ポートに出力したMIDIデータは、同じ名前の入力ポートから出力されます。もちろん、自己フィードバックさせて無限ループを作ることもできます。MaxでのIAC
Driverのポートが「a」だとして、「ctlin
a」から「ctlout
a」に繋ぎ、何か数値を「ctlout
a」の第1インレットに入力してみましょう。この場合にハングアップしたり、スタック・オーバーフローしないのは、OS
Xが優秀なのか、IAC
Driverのレイテンシーが大きいのか、どっちなんでしょう?
ちなみに、システム環境設定では、QuickTimeミュージックシンセサイザの接続先に、IAC
Driverが現れませんでした。これができると、WEBブラウザが鳴らすMIDIを横取りできるんですけどね。そうです、横取りするだけで何も鳴らさずに放置するのです(笑)。ともあれ、QuickTimeミュージックシンセサイザは独立したCoreMIDIデバイスになって欲しいよね。
なお、Pantherじゃない人は(Pantherな人も)、PeteYandell氏が開発したフリーウェア「MIDI
Patchbay」が利用できます。これも同じようにアプリケーション間でのMIDI送受信を可能にするソフトウェアですが、MIDIチャンネルやノート・ナンバーによる制御などができるようになっています。
MIDI
Patchbayホ−ムページ:
http://pete.yandell.com/software/
------------------------------------------------------------------------
1行広告:DSPスーパースクール2004開催
http://dspss.iamas.ac.jp/
------------------------------------------------------------------------
メルマガの発行確認や購読中止は、DSPマガジンWEBサイトをご覧ください。
http://dspmag.iamas.ac.jp/
------------------------------------------------------------------------
Copyright(C)2003-2004
DSP Magazine. All Rights Reserved.
転送・転載禁止
------------------------------------------------------------------------