1998年度森泰吉郎記念研究振興基金

修士課程 研究成果報告書


    研究課題名:

    NetworkAgentによる音響生成の基礎研究
    __ SNAP(Sound NetworkAgent Project)__


    政策メディア研究科 修士一年
    ComputerMusic Lab.所属
    大仲 文毅 89831213
    fmtk@sfc.keio.ac.jp


  1. Abstract


    This paper will discusses SNAP(Sound Network Agent Project), a network music installation created using Java and Csound.

    The three principal issues are: 1) getting data from the network in realtime, 2) Complex Adaptive Systems, and 3) Emergence.

    We can see enormous population dynamics in the internet today, and the internet is still growing, we can find almost all information on the network. The net there is a good space to gather organic variable parameters. Agent programs exist in this information space, and access the data updated everyday by interests,thoughts or purpose of the user. When agents behave autonomously and reflect on each other, we can see the appearance that is like a Intelligence or Ghost -- that has subjectivity and identity itself. This installation is a musical application of this first approach of my thinking.

    The server and agent programs are written in Java. The principal job of the network agent is finding a link and going to that link recursively. Network agents return the information to the server.

    All data from the network is treated as alphanumeric characters. The server buffers data from the network agents in to some degree, then divide the data into a circular structure divided into 8 or 12 segments. The circular structure is based on oriental thought from Buddhism, "Hannya-shin-gyo" and chinese philosophy, "Tao".

    The frequency of occurence of each letter in one buffer creates a bias. This bias makes variation in the sound. If there is no data or no bias in the buffer, the indicator representing this letter appears in the center of the circle -- this positon indicates a emptiness, zero, and no sound. In other words, bias causes sound. The indicator position within the circle changes according to the bias, and this movement generates sound. Each position has a different sound.

    The server is designed as a Multi Agent System. With this, a structure of emergence can generate a musical structure (composition). At the every level, each element of the structure reflects each other autonomically in a lower level. Each agent communicates with and reflects upon each other to generate Csound score data. In this way, such a system can generate a large high level organic structure.

    The Csound score generated by the agents synthesizes sound continuously in realtime. The sound data is broadcast on the net, and a Java applet on the SNAP website creates a visual representation of the system, also in realtime. People accessing the site can listen to the broadcast sound and see the Java animation. Finally, the Csound score and orchestra are published on the web.

  2. 研究課題

    Algorithmic compositionやGenerativeMusicの見解に立ち、 有機的な音響を生成するシステムの開発のため、 NetworkAgentを用いてのサウンドプロセッシングを行うというものである。

  3. 目的

    自律性を有したネットワークエージェントから有機的な変化率を採取できるとし、 そのパラメータを用いて音響を構成する粒子の挙動をデザインすることを 今回の実験の目的とする。ネットワークに存在する多様な変化に富むデータには、 昨今のインターネットの発展ぶりからも「複雑系」の振る舞いを見せる ポピュレーションダイナミクスをリアルタイムに摂取するには最適の場だと考える。 またそれは乱数による音響生成とは異なり、データ中に存在する「意味」 から偏差が生じるものと思われ、これが音響に意味性のある変化のパターンを 生じさせることを期待している。また、これは「変化の推移」が特に問題の焦点 となるので、 ネットワーク上におけるミュージックインスタレーションという形態を採用し、 何度か訪れて、その変遷を聞くことを目的とした。

  4. 背景

    上記の目的を掲げるに至った背景と経緯を3つに整理して説明する。

    1. 音響の合成法や、そのデザイン法(作曲法も含む)に関して現在までに様々な試みが なされてきた。しかし、 コンピュータを用いれば音を一サンプル単位からデザインすることが可能になってきた現在、 これほどの自由度をもった音楽デザインの世界で 近代西洋が築いた音楽理論の範疇だけではとても扱いきれるものではない。 また我々の求める音楽形式も多種多様なものになってきている。 このような状況なので、新しい音楽への発想や形式が希求されている。

    2. 上記の「新たな発想」という観点からしても現在において「複雑適応系」 と呼ばれる分野ほど魅力的な存在は他にないであろう。その不可思議で有機的 な振舞いは全世界の科学者や物理学者に影響を与え、今日においては一般書物 でも頻繁に顔を見せている。私は学部時代から Algorithmic Composition と いう音楽の分野に興味を持ち、ある計算方程式から導き出される振舞いをもと に音響を生成することに熱心だった。カオス(ロジスティック方程式), 人工 生命(クラス4)などのアルゴリズムを用いた作品を制作してきた。
      この人工生命を扱った作品だが、フランスの国際コンピュータミュージックコ ンペティション「BOURGE」の第25回大会「Residences」部門で、次点ではある が、選出されている。しかし、既存のアルゴリズムに沿ってパラメータを変化 させることだけでは、そこから得られるambienceの多様性にはやはり限界があ る。複雑適応系の中にある「新しい可能性がシステムそのものから常に自発的 に生み出される」という挙動を掴めるまでには至らなかった。創発(emergence) -- 下位のレベルにある個々の構成要素間の局所的相互作用から、 上位レベルにあるなんらかの大局的構造が出現する -- が実現できるものにしたいと考えた。

      circ.gif

    3. このような観点とは少し違った方向からの興味もあった。
      それは現代物理学と東洋思想との接近であり、現代物理学の有様は 我々がかつて認識していた物質と空間の認識を一掃してしまった。
      例えば、「原子論の根本をなす物質と空間、即ち有と無は、根本的に別々のもの」 であったが、相対性理論の中ではこの二つの概念は分離不可能で、 「物体は単独に存在できず、その性質は、 まわりとの相互作用という意味でのみ理解できるもの」となってしまったし、 量子電気力学(素粒子間の電磁気的な相互作用を扱う理論)では、 「粒子は単に場が局所的に凝縮したもの」だということらしい。 つまり、物質は空間とは基本的に等しく、そのエネルギーの集中度が 極端に違っているだけなのである。
      アインシュタインもこう述べている。
      それゆえ物質は、場が極めて緊密な空間の領域によって構成されているものと みることができよう。....新しい物理学では、場も物質もというわけにはいか ない。場が唯一のリアリティなのだ。
      A.アインシュタイン
      こうなると少しでも仏教に通じている我々なら思い出す言葉があるであろう。 般若心経にある有名な「色即是空、空即是色」というこの言葉である。 仏教において「空」とは単に「何もない状態」を指すのではなく、 逆に「全ての形の根源であり、すべての命の源」だと考える。 また中国哲学でも「空であり、無形でありながら、 あらゆる形象を生み出すもの」というタオの概念が存在する。 他にもこのような例はたくさん存在するが、この例だけを取ってみても、 現代物理学と東洋思想の類似は非常に興味深い。神秘思想の「空」も、 量子力学の「場の粒子」も、現象的には不変ではなく、動的でうつろうものであり、 絶え間ない運動とエネルギーの踊りの中で見え隠れしているのである。 それはいかなるアイデンティティも存在し得ない、泡沫の存在だといえる。
      (上記は 「The Tao of Physics」 by Fritjof Capra '82 を大いに参考にしている。)

    以上のような背景から、 「新しい音楽デザイン」を 「複雑適応系」の挙動を扱いながら、 「現代物理学と東洋思想」を反映させた構造を利用しよう、 という今回のプランに至ったわけである。

  5. ComplexAdaptiveSystems

    補足として複雑適応系について簡単にその特徴を記す。

    複雑適応系は、並列に働く数多くの「エージェント」 -要素的な機能単位-のネットワークであり、システムの制御が分散化されている。 数多くの組織化のレベルを持ち、システムは常に自己を訂正、再調整する。 その中でシステムは「経験」し、能動的な行動を取ることができる。 複雑適応系は開かれたシステムであり、 新しい可能性が常にシステムそのもののから自発的に生み出される。 システムは常に展開中で、推移の途上にあり、 「最適化」され、固定することはない。ひとことでいえば、 複雑適応系は「永遠の新しさ」によって特徴づけられているということだ。
    このような特徴を持たせることは、やはり様々な「経験」が必要で、 一つのコンピュータの中で閉じたシステムでは不可能である。 人間も同じく閉じ込められた部屋の中だけで、 外部からの刺激を一切受けないのなら、 知的生命体として全うに成長することはないだろう。よって私はAgentに外界 -Network- に放ち、旅をさせることにした。

    tree

  6. MultiAgentSystem

    多数のAgentを扱うMulti Agent SystemをServer内で構築することで、 system全体で"emergence"が発生することを期待している。 その構造を音楽の構造に当てはめ、 「下位レベルにある個々の構成要素間の局所的相互作用 (一つ一つのAgentの振る舞いによる楽器毎の楽譜の生成)から、 上位レベルにあるなんからの大局的構造(曲全体)が出現する」、 といった形で自律的にsystemから有機的な響きが奏でられることが このprojectの意図しているところである。 個々のAgentの自律的な振る舞いが、 大局的に浮かび上がるであろう何からの構造が「曲」となるのである。

    ここでAgentそのものをそれほど知性的 -Intelligent- にすることは必要ないと考えた。つまり、 個々のAgentの知的な判断が曲を作るのではなく、 その集合体の振舞いが大切であって、 ひとりが頑張って何でもこなしてしまうのは適当ではない。 「分散化」されている必要があり、その間での相互作用が問題となるからである。

    mia

  7. 手法

    1. システム構成

      システムは大きく分けると、「ネットワークからの情報取得と再構築」、 「音響合成」、「公開」の3要素で構成している。

      • Network Agent System:
        ネットワークから情報を収集、再構成し、音響生成システムに渡す。
        • NetworkAgent program
        • Data parse Agent
        • Division Agent
        • Generating score Agent
        • MultiAgentSystem structure
      • Sound generation System:
        渡された情報から音響を生成。
        • Csound
      • Network Broadcast System and publication:
        生成された音響を、ネットにBroadcastする。音響生成TextDataの公開。
        • Java application (orc&sco file publication)
        • Shoutcast (as MP3 Broadcasting Server)
        • icecast (as MP3 audio sender to server)
        • mp3enc (as MP3 realtime encoder)

      以下がその概念図である。

      explain

    2. プログラムについて

      まず使用する言語或はフォーマットをそれぞれ簡単に紹介する。

      1. Csound

        CsoundとはMITのMedia LabのExperimetal Music Studioに所属されるBarry Verce氏によって開発され、現在DSPレベルでのサウンドプログラミング を扱える世界で最も勢力のある言語である。 昨今のパーソナルコンピュータのCPU処理速度の飛躍的な向上により 一年ほど前では不可能であったCsoundによる実時間でのCDクオリティの音響生成が 一般ユーザの実行環境でも可能となった。それに伴い、 Csoundそのものの実装にも変化があり、 Realtimeにscoreデータの取り込みが可能になった。Csoundは、 communityも大きく、生成されたScoreFileと音響生成の元となる Orchestra fileとScore fileの公開することの意義も考慮し、Cmix、MAX/MSP、 またはJavaでのSoundPrograming、 といった他のDSPを扱える言語を押し退けて採用された。

        Csoundは音響生成コンパイラであり、 Orchestraと呼ばれる音響特性の構造を論理的、数学的に記述したファイルを用意し、 そのorcファイルをどのように演奏するかを記述したtimeベースの scoreファイルによって実際の音響を生成するものである。

        ex.
        %> csound -odevaudio noiz.orc noiz.sco

      2. Java

        今回はNetwork上で活動する、 しかも機能分散が可能なプログラムが用意である言語ということで Javaが採用された。

      3. MP3 file format

        MP3とは、正確には「MPEG-1 Audio Layer-III」を表し、 圧縮規格MPEGファミリーの一つでAudio情報に特化したMPEG-1 Audioの中で使われる 3つのレイヤのうち、最高の音質を誇る。 一般に音響データを圧縮なしで扱うPC上で主流のWAV fileやMacintoshやSGIで 主に使用されているAIFF fileなどに比べて理論上約10分の1という高圧縮が可能。 最近のコンピュータの処理能力であれば、 このMP3をソフトウェアのみでほぼリアルタイムのエンコード/デコード処理が 可能になってきたことにより、一般ユーザが容易に使用できることと、 その圧縮率の高さゆえに、特にInternet上で頻繁にやりとりされ、 高音質であるがゆえに、著作権問題に関わる問題も起きているほど勢力を持っている。

        spark

        具体的にプログラムを解説する。

        1. Linkを辿るAgent

          ServerとAgentProgramはJava言語を用いて記述されている。Internet 空間に Agentを放ち、情報を取得する。Agentのnetwork内部での主な仕事はnetでアク セス可能なlinkを見つけだし、そのlinkからまた次のリンクへと順次辿り続け ていくというものである。基本的に全文検索の web crawler と同様の仕組みで 初期値として与えたURLからその全文を読みlink情報を探しだし、ハッシュリストに そのURL情報を加えていきながら、順々に巡っていくのである。

        2. 文字解析Agent、分割Agent、楽譜生成Agent

          取得されたDATAは、全て文字情報(alphanumeric)として扱われ、 -- これはnetworkを全て文字で出来上がった世界であるという抽象化に基づく-- 文字トークンに分解され、種類毎に分けられて処理を待つ。 一定量の bufferingが行われた後、 易などの東洋思想に基づいて構築された8(或は12)に分割された文字を取り扱う 構造体or配列に分割配置される。 一回の bufferingに含まれる特定文字の含有量によって偏差が生まれ、 この配列を表した図形中にあるpointerの位置を変化させる。 このpointerは何も偏差がない時(変化が起らないとき)は円の中心 --ここは 空、「0」、無音 -- を示し、 その図形内での偏り具合いに応じて0から値を変調させていく。 この変化の連続が音響に変化を与え続けることで「演奏」を行わせる。 Bufferingの種類とそこからCsoundに渡すscoredataを生成する方法には いくつかの種類が存在し、演奏に多様性を持たせている。
          ここでなぜ中国の「易経」の構造を採用したかについて少し説明する。 東洋思想の中でもある特定のパターン、絶えまなく生成、消滅を繰り返す ダイナミックなパターンに関心を示しているからである。「易経」とは、 「変易の書」という意味であり、 卦と呼ばれる六爻形のシンボルで構成されているので扱いやすかったからだ。 また陰爻と陽爻とのバランスでこれは成り立っており0と1で認識する デジタルな構造と親和性が高いのではないかと考えたからである。 そういえば「4分33秒」で現代音楽の幕開けしたといえるJ.Cage も図形楽譜や確率を扱う時に「易」を利用していたことに気づく。 これは何も易を用いることが新しいわけではなく、 導かれるであろう結果が有益であると思われるからだ。 そこで今回は易の基礎となる「八卦」を扱うこととした。

        3. 演奏方法とその一例

          ここでは現在実装されている比較的わかりやすい構造のものを選び、 その演奏方法の一つを例に取って解説したい。

          まず下の概念図を見てもらいたい。

          circle.gif

          このようにalphabetをサークル内に配置する。Cが二つあるが「C+」と表記されている ものは実際には「h(p,z)」が該当し、一回のBufferingで最もh(p,z)の勢力が強い場合 には、全体が1octaveシフトアップする。(標準のCはその逆である。) 図のアルファベットはそれぞれ英語表記のダイアトニック音階上の音名を表し、 それぞれ一回のBufferに含まれる量が一番多いものが演奏される。 例えば、この中でFとNとVの合計数が一回のBuufer中で最も大きいとしよう。すると、 それぞれにはCsoundのオーケストラファイルに役割が用意されており、 Fが基本周波数を、Nが変調を及ぼすモジュレーターの量を、そしてどれだけの量の 変調を基本周波数に及ぼすか、を示すインデックスをVが司り、それぞれの総量として ひとつの音が鳴るのである。
          単純に同じ音色を鳴らすのではなく、常に基本周波数を歪ませる値が存在するので、 ほぼ二度と同じ音がなることはない。また歪み方によって倍音の発生率は著しく 変化するので、同じスケールを守りつつ同じ音階を叩いているのだが、毎回異なった 印象を持つことができる、大きく歪めば迫力のある音に変化し、また極少量の変調で は、近似する周波数はその差分周波数によるビートが発生し、音色変化を豊かなもの にする。

          さらにこの過程がタイムスパンの違いによって、つまりBufferingの総量の取り方の 違いによって演奏される頻度と音色を異なるレイヤーに持ち、重なりながら、演奏 される。これは局所的な作用では頻繁に姿を変えてみせるパラメータであるが、 大局的な変化はそれら小さな作用を飲み込みつつ、自分自身の大きな振舞いへと 反映させているという構造を現そうとしたものである。

          下の図がそれを抽象的に図示したものである。

    8second phrase.gif
    1second phrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gif
    0.25second phrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gif
    0.125second phrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gifphrase.gif

          現在は4層のレイヤーを設けているが、このようにBufferに現れる総量の取り方を 変え、音量はスパンが短いほど小さくしている。最も小さい0.125秒という長さは1音 では正確には認識できない長さである。(音の「印象」を捉えるには0.2秒必要とされて いる)しかし、0.125秒の小さく短い変化でも積み重なって他のレイヤーの音との関係 でその存在を現してくるのである。それぞれのレイヤーの動きは全く違ったレベルの 世界を観察しているかのようでとても興味深い。それらが重なり、層をなし、全体と なって響く姿は、複雑系のそれと見てもよいのではないかと思えるほどに、多様で 有機的な変化を見せてくれている。ちなみにボリューム、タイムスパンは2のN乗の 逆数でアレンジされている。また、X、Yの2文字は特別な働きをし、これらは他の 24文字とは違ったレベルにおいて作用する。つまり、この構造自体にカタストロフ を起こさせるような、構造の終始あるいは開始を司る。つまりあるphaseから異なった phaseへの移行を行なわせるなどといった、もう一つメタなレベルの働きをする。X,Y の働き方は構造によって異なるが、一定以上のバッファリング量と両者のバランスが ある値になった時に作用するように設定している。

          この他にはタイムスパンの設定も作らず、エージェントがネットワークから戻ってくる 時間速度(ping)を発生時間に設定し、音の粒それぞれに非常な自由度を与えた FMシンセシスのphaseや、一定のBuffer量に達するとその偏差によって微妙に変化した 音色を奏でる「風鈴」に見立てたものも実験中である。

    seein' the world

  8. 行なった実験と問題点

    さて、最後はbroadcastに関してである。
    MP3のBroadcast Serverとして現在までに最も勢力があり安定しているのは Nullsotf社の Shoutcast (http://www.shoutcast.com) である。WindowsとUnixで動作する。 これは同じくmp3 playerでWindowsでは定番となっている winampをリリースしている会社でもある。 serverの実装は非常に簡単でバイナリをダウンロードし、起動するだけである。 serverへはwinamp経由でstreamを行なうことができる。 winampはシェアウェア、shoutcastはフリーウェアである。

    また、これとは別に icecastというsenderとserverが ひとつのパッケージになって配布されている、linuxを対象としたものもある。 機能としてはほとんどshoutcastと同じであるが、こちらはGPL。source codeが公開 されている。sourceが公開されている点、linuxベースのsenderである"shout"が 使用できる点が開発者としてとても有難い。

    またUnixベースのOSでmp3 playerとして有名なのは mpg123という
    再生ソフト。これはwinampも 同様であるが、sourceにURLを指定することにより、netからbroadcastされるstream を直接radioのように聞くことができる。

    2/13日にdolis.sfc.keio.ac.jp:8000/にshoutcast serverを実装し、自宅のWindows マシンからISDN回線を2本バルグして学校へ繋ぎ、Winampをsenderとして1時間あまり のbroadcastの実験を行なった。2回ほど再生側のwinampが落ちて、senderとしては 不安定なことがわかった。よって翌2/14にserverは同じだが、senderをlinuxからの icecastのsender、shoutに移行。こちらのsenderは極めて安定していた。 icecastのserverも正常に動作しているようだが、shoutcastのserverの方が 比較的安定しているようなので、shoutcast server, icecast "shout" senderという コンビネーションがもっとも良いようだ。

    また、二日目の実験ではPM11:00〜AM8:00まで連続で放送し、何人かの友人や知人 にその状況を確認してもらったがおおむね良好のようで、実験は成功したといえよう。

    さて、このbroadcast のシステムにNetworkAgentsystemの音響を流し込むわけだが、 ここで何点もの問題にぶつかることとなった。
    まず、MP3encという Fraunhoferというドイツにある研究所で開発された MP3 encoderにより、RealtimeEncodingは可能であることがわかった。 私がやろうとしたことは次のようなものである。

      ex.
      %> csound noiz.orc noiz.sco -o stdout | mp3enc -sti -sto | shout to server

    • Csoundのstdoutの問題

      ここでCsoundが標準出力にサウンドファイルを出力し、realtime encoderに 経由できるはずであったのだが、どうやらバグのようで動くはずのフォーマットでは errorが起きる。Christopher Penrose氏の協力によってsourceからこのバグを 取り敢えず退避させることに成功。Csound開発者にも連絡をとった所、このバグに 気付いていなかったらしく、確かめてみるとの返事をいただいている。 次のversion up 時に解決されることを期待する。

    • icecastのstdinの問題

      さて、Csoundからrealtime encoderを経て、shoutに送られたaudio streamなのだが、 実はshoutは標準入力を現時点でサポートしていないことがわかった。 開発者に問い合わせた所、 しばらくその実装は予定していないようで(大きな問題が2つあるとのことで)、 ここにきて頓挫してしまった。icecastはGPLなので、現在sourceを読んでいるが、 これを改良するか、自前のプログラムを書く他は手立てなさそうな状況である。 他にもサウンドカードからの取り込みからならrealtime encoderとsenderが ひとつになったバイナリも存在するが、コンピュータ内部での音響生成 (この状況が非常にまれであるために)に対応する受け口がないのが現状である。 icecastは1999年の1月18日に始まった生まれたばかりのプロジェクトであり、mp3 communityそのものがここ数カ月で急激に成長した。私もつい数カ月前までは Realaudio形式によるbroadcastを考えていたのだが、音質の圧倒的なクオリティと そのcommunityの大きさから、mp3に惹かれていった。mp3はrealaudioでは起こせな かったレベルを実現している。ここに来て迅速なbroadcast systemを構築するならば もう一台realencoder専用にマシンを用意し、 realserverを立ち上げるべきなのであろうが、mp3に魅せられてしまった私には 引き返そうとは思えなかった。connection間で起きた問題を自ら解決し、serviceの 開始が多少遅れようとも、senderの標準入力機構は他のユーザーに対しても有益で あると確信し、mp3senderの開発に勤しみたいと考えている。

      また、全体を通して全てのproccessを小数のマシンで管理しようと考えているので、 Memoryと処理速度は気になる所だ。音響生成Csound、mp3 encoderのpower、それと Javaプログラム本体の処理が一度に一つのマシンで行なわれることになる。もっとも CPUでの処理に力がいるのはCsoundである。PII 400、内蔵メモリ384M でもCDクオリティ の音響をrealtimeで生成するのはさすがに苦しいらしい。現在の所、サンプルを グラニュラーシンセシスなどの高度に複雑な処理はリアルタイムではまだ行なえない。 後にmp3 に変換することを考えれば少々音質を落して処理速度の向上を図った方が 良さそうであり、マシンパワーとの調整を進めている。またJavaに随時networkから 絶えず流れ込んでくるdataを処理し続け、scoreを生成するにもかなりのpowerを 必要としている。全くαバージョンのプログラムであり、処理速度の最適化など 行なっていないこともあるのだが、予想以上にCPUに負担をかけている。MP3 encoder にももちろん相当量の計算力が必要で、現在ギリギリのところでなんとか動いている というところである。8時間以上処理し続けてもダウンしてはいないものの、時折 割り込み処理が起こるため、csoundからの音響にノイズが交じってしまうこともある。 まだまだこれからも課題が多いプロジェクトである。

    pix

  9. 成果

    1998年12月11日〜13日に神戸ジーベックホールで開催された Japan-Korea InterCollege Computer Music Festival 98に 「code438」という作品で参加している。この曲はSNAPで演奏される オーケストラやその演奏方法でどのようなものが適しているのかを 実際の曲を模擬的に制作してみた。SNAP実装のプロトタイプとなった 曲である。ちなみにコンサート終了後に問い合わせがあり、京都のとある 高校で、音楽の授業中に私の作品が観賞されたという貴重なニュースもついている。

    ICMC(InternationalComputerMusicConference)99という国際学会に 先の実験作品「code438」と共に、このプロジェクト全般のabstractを shortpaper, Poster session, demonstrationの3部門に提出済みである。

  10. 最後に -- 今後の予定

    現在のプログラムはJava 1.1のサポートを始める以前から基本構造を書いていた こともあってメッセージパッシング型のプログラムになっている。しかし、現在 Javaのversionは1.2がリリースされ、Java2と呼ばれるようになった。Javaにも リモート間でのメソッドのやりとりを簡単に安全に記述できる仕様、 JavaRMI(RemoteMethodInvocation)が1.1のリリースからサポートが始まっている。 現在のversionのプログラムでは特に必要ないともいえるが、Agentの機能的分散を もっとわかりやすい形で記述し直してみたいと考えている。

    またWebで公開するにあたって Agentの活動、音響生成の様相をrealtimeにclient であるところのAppletに返し、その情報をVisualizeしてみたい。 SNAPのSiteにAccessしたUserは音響と共にその変化と構造を目にすることになる。 これはあくまでも二次的なものであるが、映像と音のシンクロナイゼーションを 既存の方法とは異なった形で表現できればと思っている。

    最後に専用サーバへの実装、恒常的なサービスを実験。その他新たに様々なphase を用意し、その実装を試み続けたい。 それらを通して作品の構造の自由度と制限の調整を学んでいきたい。 だがそれには当然のこととして、mp3 audioの 標準入力からのsenderの開発が 大前提である。他の同様のことを考えている開発者が同様のサービスを提供して くれるより、早くこちらから提供できればと考えている。

    また随時内外や規模を問わず、作品を発表していきたい。(senderがなくとも 単体のインスタレーションとしては十分機能するはずだ。)今後の予定として、 オーストリア Ars Electoronica と フランス Bourgeへの参加を予定している。

  11. 経理報告

    経理報告に関しては別紙を参照のこと。

  12. 謝辞

    Special Thanks to :

    Atau Tanaka
    Kenji Yasaka
    Chris Penrose
    Toru Iwatake
    Iwatake lab
    and people who joined mp3 broadcast.