loading

説明

シェーダを核にした自作のVJシステム「GARA」を開発しました。映像スロットはAとBの2系統で、ミキサーのフェーダーを倒すように2つの映像を混ぜる。スロットに入るビジュアルは133種(シェーダ117本+コードエンジン16本)、合成後の画には30種類を超えるポストFX、BPM同期にタップテンポ、マイク入力のオーディオリアクティブ、MIDIコントローラ対応。2026年7月31日・8月1日、anon press presents「CY」(北千住BUoY)のVJブースで使いました。ソースコードはMITライセンスで公開しています。

https://github.com/aratanagara/gara
https://aratanagara.github.io/gara/(ブラウザ版・インストール不要)
開発ノート全文(anon press)

ぼくは映像制作というものを一度もしたことがありません。本業は漫画家で、表向きはanon pressのエディトリアルデザイナー。After Effectsには触ったことすらなく、唯一「映像らしきもの」を作れる手段が、シェーダ——GPUで画面のピクセルを塗る小さなプログラム——だけでした。だから既製のVJソフトを買うかわりに、シェーダを核にした道具を自分で組むのが、遠回りに見えて最短だと考えた。公演の55日前のことです。

前身は二つあります。プログレッシヴ・ジャズバンドEYRIEの『火の鳥』コンセプトアルバムのPVのために組んだ「hinotori-vj」と、静止画をブラシで歪めるIMAGON。二つの小さな装置が合流し、素材と機能を飲み込みながらGARAに育ちました。漫画のコマをドロネー分割で砕いてコラージュし続けるMANGA、小説を丸ごと流し込んで猛烈な速度で表示するNOVEL、フォルダの画像をただ順繰りに出すIMAGE——モード一覧の4分の1がタイポグラフィになったのは、エディトリアルデザイナーの手癖だと思います。

実装はすべてClaude Code——LLMの開発エージェント——がやりました。素のJavaScriptが61,999行、フレームワークなし、ビルドなし。187コミットのうち、ぼくが自分の手で書いたコードはほぼゼロです。ぼくがやり続けたのは、日本語で注文を言い、出てきた画に赤字を入れること。要するに校正です。ただしこの入稿先は、赤字を戻すと数分で再校を出してくる。開発期間55日のうち、実働は18日でした。

本番直前の2日間に積まれた70コミットの大半は、新機能ではなく「ライブ中に死なないため」のコミットです。電波の細い会場のために全素材を486MBのElectronアプリに焼き込んで完全オフライン化し、描画が落ちても数秒で蘇る自動復旧を仕込み、「戻れない操作」をひとつずつ潰していく。それでも開演中にバグは出て、アクトとアクトの狭間にチャットで修正注文を打ち、リロードして直っていることを確かめ、フェーダーに手を戻す——そういう2日間でした。

前半のぼくは、演者として端的に下手でした。ミスの中身はぜんぶ「出しすぎ」です。それが後半やれるようになったのは、隣でVJをしていたyonayona graphicsさんが、ぼくの画と自分の画を混ぜる「かけ合い」の実演で教えてくれたからでした。引く。重ねない。何も出さない勇気。道具は自作できても、技芸はまだ人から貰うものらしい。そして2日目、開発中にソースコードを渡していた小林健太くんが、骨格だけ残してほぼすべてを作り変えた別のVJシステム「STREAM」を本番までに実装し、ぼくよりすごいVJを見せた。同じ夜、同じ地下のスクリーンに、同じ骨格から分岐した2つの装置の映像が流れていました。

思想

シェーダという土台の利点は二つあります。自分で書いた数式は誰の権利も踏まないこと。そして出力が次の入力になり、エフェクトの上にエフェクトをいくらでも積めること。素材を「再生」するのではなく、画を毎フレーム「組版」し直す——文字を組み、図版を裁ち落とし、グリッドを敷いては崩す。誌面でやってきた操作がそのまま時間軸の上で動いたら、それはもうVJなのではないか。GARAは、そのうぬぼれを装置にしたものです。

ぼくのシェーダは、デモシーンからGLSL Sandbox、Shadertoyへと続く「数式の書き手たちの公開図書館」で読み覚えたものです。ただで覚えた人間が、自分の装置だけ閉架に置くのは筋が通らない。だからGARAは、開発ノートの公開と同時にGitHubで公開しました。Shadertoy由来のシェーダは一本ずつ出典を表にまとめ、原作者のライセンスのまま同梱しています。技術は抱えて死ぬものではなく、手渡して伸びるもの——画風の流出を怖れる絵描きの世界の真逆を、半身だけでもやってみたいのです。

公開版は、本番のGARAから映像素材を抜いた、ほとんど空の骨格です。でも道具は、空の状態で手渡されたときにいちばんよく育つ。設計図の公開というより、招待状に近い。誰かが分岐して別物にする。気に入ったシェーダを一本だけ抜いて、自分の装置に移植する。GARAがいつか、誰かにとってのhinotori-vjになる——使い捨ての前身になる。道具の一生として、それ以上の出世をぼくは知りません。

「AIに書かせた装置を自作と呼べるのか」という問いには、こう答えます。GARAは作品ではなく道具で、6万行のコードはたしかにLLMが書いたけれど、何を作るか、どれを捨てるか、どこで止めるかを決めた回数なら、ぼくのほうが多い。そして道具の真価は、書いた行数ではなく、本番の2日間にスクリーンへ出た画で測られる。その画の責任は、コードではなく、フェーダーに乗っていた手にあります。