pure:dyneでメディアアート
だいぶ前にfluxusをMacにソースからインストールしようとして,上手くいかず放置していたけれども,現在では最近のバージョンでもMac向けバイナリが配布されているみたい.で,(packages)にリストされているv0.16をOS X 10.5.6で実行してみたところ,高頻度で落ちる.
そこで,代替手段はないかと探したところ,pure:dyneというLinuxディストリビューションを発見した.このLiveCDにfluxusが入っているというので使ってみた.ちなみにfluxusはschemeでライブコーディングを行うアプリケーション.ちょうどaction-codingがrubyで記述するライブコーディング環境であるのに似ている.fluxusによるライブコーディングの様子は公式サイトのfluxus secrets pageの動画を見るのが一番分かりやすい.
公式:
pure:dyne - Trac
pure:dyne - Wikipediaによれば,pure:dyneはメディアアーティストによるメディアアーティストのためのディストリだというじゃないか!! fluxus以外にも様々なAudio,Video関連アプリケーションがインストールされている.DebianベースではUbuntu Studioも似た指向性のディストリかもしれないけれど,pure:dyneはXfceで軽量なデスクトップをデフォルトとしている.何より,fluxusをLiveCD1枚で何もいじることなく使えるというのが魅力だと考える(超私見).
……いや,別に俺はメディアアーティストじゃないけれども,proce55ingやaction-codingは面白いと思うし,ContextFreeやStructureSynthのようなアプリケーションに興味津々な年頃としては使わずにはいられない.
liveCDからpure:dyneを起動すると,あとはConsole(端末)から,
fluxus
と打てはおk.
fluxusの使い方は(online docs)のマニュアルが参考になりそう.
次の画像はfluxusを起動した直後.言ってみれば,Schemeのインタラクティブ・シェル.
Ctrl+1〜9で別スペースに移動できる.基本インタラクティブ・シェルで関数の動作確認しつつ,別スペースでライブコーディングという感じだろうか.インタラクティブ・シェルに戻る際はCtrl-0.マニュアルのp11あたりの例を打ちこんでみた.
(define (draw-row count) (cond [(not (zero? count)) (translate (vector 2 0 0)) (draw-cube) (rotate (vector (* 10 (sin (time))) 0 0)) (with-state (rotate (vector 0 25 0)) (draw-row (- count 1))) (with-state (rotate (vector 0 -25 0)) (draw-row (- count 1)))])) (every-frame (draw-row 10))
と打ち込んで,評価したいS式の後でCtrl-e (もしくはF5).この場合はdraw-rowの定義後と,描画指示(every-frame …)後……かな.
追記:
Ctrl-e (F5)は選択したテキストもしくはテキストが選択されていない場合はスクリプト全体を評価.
S式を評価する場合はF4でした.
fluxusの魅力の1つに,コード記述量に応じ文字の大きさが変化することが挙げられる.短かいセンテンスだと画面一杯に,長くなると自動的にズームアウトする.これがよりライブ感を演出している.
LiveCDでも別にアニメーションに大きな影響はない感じ.
Schemeは括弧が多くわかりづらい感じがするが,適宜角括弧を入れることで対応関係が見やすくなる(マニュアルの例では角括弧は使われていない).また,fluxusの方でも対応する括弧内のセンテンスを画像のようにハイライトしてくれるので読みにくさはそれほど感じない.
今のところ個人的な問題は,Audioの再生が上手くいかないこと.あと,ライブコーディング環境として,カーソル移動が便利になると嬉しいなー.
また,Schemeに対する慣れが必要.継続とかマクロがよくわからない.いつ使うべきかとか……マニュアルもちゃんと読まないといけない.
ピアソンエデュケーション
売り上げランキング: 92043