without MAX− Directorによるインタラクティブアート

平野砂峰旅*1 (shirano@nn.iij4u.or.jp) 北岡正敏*1 一ノ瀬響*2
*1)神奈川大学 工学部  2*)作曲家

近年MAXを用いたアルゴリズム作曲が普及してきた。しかし、グラフィックスとの連携を考えた場合MAXのグラ フィック環境は、整備されているとは言い難い。逆にDirectorは、従来CD-ROMのオーサリングソフトとして普 及してきたソフトであるが、独自のLingoというスクリプト言語を用いてプログラムの記述も可能であり、アル ゴリズム作曲とグラフィックスを組み合わせた、マルチメディア作品の制作にはMAXを用いる場合よりも簡単に 記述できる場合も多い。ここでは実際の作品を例にし、その長所と短所を検討する。

without MAX - Interactive art with Director

Hirano Saburo*1 ,Kitaoka Masatoshi*1 ,Ichinose Kyo*2
*1)Dept. of Industrial Engineering Knagaw a Univ., *2)Composer

"Director" is one of the authoring software for CD-ROM. But the "Director" is famous only the field of the contents for CD-ROM and WWW. Now we describe about it as a tool for the interactive art and the algorithmic composition by introducing my some works. And we discuss about its both merits and demerits.


1:はじめに

  Directorは、ここ数年マルチメディアCD-ROMの代表的オーサリングソフトのひとつで、キャスト、ステージ、スクリプト、スコアといった映画や演劇のメタファーを利用して比較的わかりやすい制作手法を提供している。しかし、DirectorはCD-ROMやshockwaveプラグインを利用してのWWW上での動画のコンテンツとしてしか認識されていないように感じる。(一方MAXは、MIDIプログラミング環境として有名であるが、海外ではオーサリングソフトして分類されていたりする。)また、アルゴリズム作曲やインタラクティブアートへの利用における記述はあまり見受けられない。ここでは、筆者の作品を例にそれらへの応用方法と問題点について、述べていく。

2:Directorの拡張

 Directorには、さまざまなxtraやxobjectといった、機能を拡張するための有料あるいは無料の外部プログラムがある。ここではコンピュータミュージックに関連すると思われるものをとりあげ概説する。

 a)HyperMIDI
 DirectorでMIDIを扱うためのXCMD。もともとHyperCard用のXCMDとして作られたものであるが、Directorでも使用可能。(筆者はバージョン4.0,バージョン5.0でチエック)HyperMIDIには、シエアウエア[1]のものと製品版[2]のものがある。シエアウエアのものが、MIDIに使用できるポートが固定されているといった制限やサポートが受けられないといった欠点はあるが、実用的な機能としては、充分なものを持っている。このXCMDを使うことにより、DirectorのLingoというプログラム言語によってMIDIの入出力を制御できる。

 b)MIDXTRA[3]
 YAMAHAのソフトシンセであるMidPlugをDirectorでコントロールするためのxtra。MF形式のデータをDirectorで読み込み、midplugを利用して演奏させることが可能である。さらに、midioutの機能やソフトシンセの制御をLingoで記述する機能も備えている。MIDXTRAは、7万円で販売されており個人での利用には高価である。しかし、90日間限定の試用版MIDXTRAがWWW上で公開されている。

 c)Serial
 Director本体に含まれているXobjectで、シリアル端子を介してのデータの入出力を可能とする。これは、RS232Cの入出力を持つAV機器や各種センサーをDirectorと組み合わせる場合に必要となる。

3:Shadow

 Shadowは、人の影に反応して映像と音が変化するインタラクティブ-メディアインスタレーションである。まずFig.1にそのシステム構成を示す。

shadow blockdiagram

 [Fig. 1] "Shadow"の構成図

 この作品は、100inch以上の大きさのプロジェクターの前に、プロジェクターの光を鑑賞者が遮るように入ってくると、スクリーン上には、鑑賞者の影(Shadow)ができる。ビデオカメラは、そのスクリーンを撮影し、映像を小型のビデオモニターに写しだす。このビデオモニターの画面に12個のcdsセンサーをセンシングしたい位置に張り付け、その部分の明るさの変化(この作品では、人の影である暗くなった部分をセンシング)をpicを使いA/D変換し、RS232Cの信号としてPowerMac8500のプリンタポートに入力する。PowerMac8500では、DirectorのSerialというXCMDでどのセンサーの部分に鑑賞者の影があるのかを読み取る。Directorのプログラムでは、異なった性格を持つ3個のボールが画面上を動いており、壁との衝突や、他のボールとの衝突によってさまざまな音色の音が出るとともに、跳ね返るようになっている。また、鑑賞者の影の部分には、映像としても黒の長方形を描き、この部分に衝突した場合も同様に衝突音が出て跳ね返る。この衝突音はMIDIによってコントロールされたシンセサイザTG77でボールが衝突した位置に対応して4チャンネルシステムで再生される。当初、TG77の制御もディレクターでHyperMIDIを用いて行う予定であったが、コンピュータの負荷が高く、始めに想定したスピードで動作しなかったため、ディレクターでのボールの衝突情報のみをHyperMIDIを利用して、MIDI経由でもう一台のPerformer6301に送信した。Performer6301では、この情報をMAXのパッチで処理して、アルゴリズム作曲をおこない、MIDIによりTG77で演奏させた。

4:Block Message[4]

 この作品は、作曲家の一ノ瀬氏と共同制作したWWWのshockwaveを利用した、コンテンツ。midxtraを使いmidplugのソフトシンセにより音を出している。Fig.2にこの作品の初期画面と共にその機能を示す。BlockMessageのメッセージ部分は、縦軸が音の高さ横軸が時間を表わした、縦10× 横16のブロックからなっている。ストップスイッチをクリックすると音の再生を停止して、編集モードに入る。この状態のときに、メッセージ部分をマウスでクリックすることによって文字を(文字に限るわけではなく絵でもかまわない)描くと、その縦軸の位置にあわせた高さで発音する。そしてプレイスイッチをクリックすると描かれたBlockMessageにあわせて演奏されていく。ただしこの演奏は、転調したり、音の再生の順序を時間軸上でシャッフルしたりして自動的に変化していき、しばらくすると元の状態に戻り再び変化を繰り返す。また、右下隅の4個の菱形は、再生する場合の楽器音を切り替える。

 
[Fig.2] "Block Message" の画面とその説明

5:Directorの長所、短所

 上記の2つの作品制作をとおして、コンピュータミュージックやインタラクティブアートにおいてDirectorやその周辺ソフトを利用する場合の問題点と可能性を紹介して終りにしたい。

 a)Directorの時間管理について。
  Directorの時間管理は、通常1秒間に何コマ再生するかを設定する形で行われる。しかし、コンピュータの能力には限りがあるので、非常にデータ量の多い画像を動かしたりする部分になると、設定値より遅くなることがある。つまりこの設定値は、「この設定値で実行するように努力します」という程度に考えておかなければならない。つまり、この設定値を信じて画面が切り替わる毎に音を出そうとする場合は、十分な注意が必要だということである。またLingoの中では、1/60秒(約16.6ミリ秒)単位での制御しかできない。これも、音楽をLingoによって直接演奏させようとするには、時間分解能が足りない。

 b)MIDEXTRA及びソフトシンセについて。
  MIDEXTRAの主な目的は、Director上からMidPlugによるソフトシンセを用いたSMFの演奏の制御のようである。つまりSMF(StandardMIDI File)の再生パネル(たとえば、テンポや各演奏パートのON/OFF、ボリュームの調整)がDirector上で実現できる。SMFを演奏する場合MIDXTRAを利用すれば、a)で上げた1/60秒といった時間制御とは切り離されて、MIDXTRA独自の演奏プログラムで演奏されるため、時間分解能の問題は、あまり気にならない。しかし、アルゴリズム作曲のプログラムを組む場合には、事前にSMFのデータが供給される場合は少なく、一音、一音をMIDIのノートオンコマンドで発音するようにLingoで記述しなければならず、a)でとり上げた問題点がクローズアップされることになる。この時間精度や遅れの問題は、HyperMIDIの場合も同様に起こる。さらに、ノートオンコマンドを実行した後、実際にソフトシンセが発音するまでに100ミリ秒程度以上はかかっているようである。それもこの時間遅れは、コンピュータの性能にやOSの種類によって変化する。

 c)Directorを用いる利点
 a),b)においては、その問題点を中心に書いてきたが、当然ながら利点も数多く存在する。まずは、Directorのもともとの機能であるインタラクティブなアニメーションが簡単に記述でき、その動きをきっかけにして音を出すことが簡単にできること。たとえば、" Shadow"の場合ボールの衝突の判定などは、Lingoのプログラム一行で書けてしまう。さらに" BlockMessage"のようにshockwaveとしてWWWでの発表が可能である。さらにDirectorのバージョン6.5からはJavaへのExportも可能になったので、プラットホームに依存しない作品にすることができる。(ただし、実行速度の問題やXCMD, XTRAがどの程度Java上で機能するかという問題は残る。


 参考URL
 [1]http://www.earlevel.com/HyperMIDI/index.html
 [2]ftp://www.cs.ruu.nl/pub/MIDI/PROGRAMS/MAC/HyperMIDI.sit.hqx
 [3]http://www.yamaha.co.jp/xg/midxtra/midixtra.html
 [4]http://www.nishinippon.co.jp/hensyu/bunka/denshi/project2/intro.html