やったこと
- p5rb_cli gem をインストールする
- p5rb の描画処理を #{任意のAI} といっしょにペアプロで組み上げていく
p5rb run
を実行してサーバーを立ち上げる- ブラウザでアニメーションを表示させる
- OBSでブラウザをキャプチャし、仮想カメラにアウトプットする
- VDMX6(VJソフト)で仮想カメラの映像を取り込む
経緯
VJ 初心者として申し込み
VJをはじめようと思ったのが3月に発売された M4 MacBook Air を購入したのがきっかけでした。 特に RubyMusicMixin を意識したわけではないのですが、普段定期イベントとしてやっている高専DJ部ではいつもVJがワンオペ状態だったり、なにか新しいものをはじめたい気分みたいなものもあり、勢いでVJ用のソフトウェアのライセンスと、VJ界隈では初心者が最初に購入すると言われているnanoKONTROL2を購入しました。
ときを同じくして RubyMusicMixin の募集が開始されました。 RubyMusicMixin は初回から全て参加しており、昨年はDJとしても出演させていただきました。 そして、これは RubyMusicMixin に限らないんですがとにかくVJの人口が少ない。 普段VJの人が少ない人数で長時間回していることを知っていたのでせっかく環境だけはあるし準備期間も1ヶ月ぐらいあるから大丈夫やろ、という気持ちでVJとしても応募をしました。
p5.rb を使おうと思ったきっかけ
さて、そんなこんなでVJとして参加することになったわけですが、いかんせん上記にもある通り私はVJとしては駆け出しも駆け出し、先週の土曜日に開催された高専DJ部が初めての現場で、ようやくVJソフトの使い方を覚えたばっかりのよちよち状態だったわけです。 一方で、せっかくVJとして呼んでもらったので何かやらなければという気持ちがありました。
そんなとき、コーチとして参加した第16回 Rails Girls Tokyoでの @chobishiba さんのLTをふと思い出しました。 そういえばクリエイティブコーディングというものがあって、p5.js を Ruby から利用するための p5.rb もあったな、となり「p5.rb つかってVJの映像つくれるんじゃない?」となったのが Day1 の午後でした。1ヶ月の準備期間……??そんな話しましたっけ。
あとはノリと勢いとAI
さて、こうなってくるとあとはやるだけです。 幸いにも趣味で配信をしていた影響もあり、描画したアニメーションをVJソフトに取り込むという部分に不安はなかったのでとにかくどうやってアニメーションを用意するかな、という話になってきます。 途中 @chobishiba さんを見かけて「こういうことをやろうと思ってるんですよ〜」と会話させてもらってジェネ系VJというジャンルの存在や、やっていきの気持ちに後押しをしていただいて本当に助かりました。また、今一番自分にとって必要だった p5rb gem をみつけたり、サーバーが起動できるならあとは書くだけだ、ということでAIに「こういうことやりたいんだけど」って伝えたら書いてくれたりどうにかこうにか最低限それっぽい素材になりうるものをなんとか用意することができました。
できた
ということで本番です。p5.rb で描画したアニメーションが表示できた!というところで今回目標としていたところは達成できました。 そして現場でやったことでVJとして利用するうえで様々な課題も見つかりました。 「もっとこうしたい」がたくさん見つかったのが何よりの収穫だったと思います。
最後に
ということで今回は「VJの映像にp5.rbで描画したアニメーションを利用する」が達成できたので、来年の函館に向けて次の目標を見つけたいなと思います。 幸い、定期開催している高専DJ部がちょうどよいマイルストーンのタイミングとして設定できるので、コツコツ続けていきたいなと考えています。 最後に、今回映像に利用したコードを置いておきます。
AIにベースを書いてもらいながらちょいちょい編集を加えたことでコメント通りに動く状態ではないのですが、現場で画面に表示されていた映像は見られるかなと思いますのでぜひ手元で実行して、そして来年はステージ側に立つ人がさらに増えてくれればこの上ないかなと思っています。
それではみなさま、また来年の RubyKaigi でお会いしましょう!