Processingでミュージックビデオを作ったぽ
いまさらだけど、ProcessingでMVを作ってみたので、プロセスを、自分用にメモ。
ReasonとAbleton Liveで楽曲を作り、SoundCloudにアップ。ジャケ写(カバーアート)は過去に自分が撮影したものを、フォトショで加工し、Processingでさらに加工した。この写真の別バージョンは、500pxに以前アップした:
カメラはOLYMPUSのPen Lite。RAW現像も、付属のソフトでやっている。
SoundCloundはこれ:
このカバーアートは、
- 元の写真(RAW現像とフォトショで加工済み)を1080px四方にトリムし(Instagram向けに)
- Processingで15ピクセルごとに色彩を走査して(
loadPixel()
関数を使うとpixels[]
配列に入る) brightness()
関数で明度を取って、明るい方から順に「明るさの数値÷3ピクセル」を直径とした円で画像を埋めていく- 1秒に4フレームぐらいのアニメーションにする
というコードで視認しながらsaveFrame()
した。
YouTube用には、もう少し複雑なことをやりたかったのだけど、結果的に、あまり動きのない、地味なビデオになった。
- まず元の画像から、
get()
関数で、50ピクセル四方の正方形の画像を取得し、オブジェクト配列に入れる - 上述の「明るさ÷3ピクセル」の円で画面を埋める(これが初期画面)
- フレームレート4fpsで、アニメーション
- オブジェクト配列に入っている正方形を、ランダムに、1フレームにつきひとつ、不透明度50%で表示させる
というだけのもの。
※Processingで画像データを扱う方法については、yoppa.orgさんが参考になった。
それで結局こうなった:
地味だけど、まあ、いいんじゃないでしょうか。
動画の書き出しには、saveFrame()
で画像ファイルとして全フレームを書き出して(jpgでOK)、Processingのムービーメーカーでmovを書き出す。Processingのムービーメーカーでmovを書き出すと、変換前の、「mov一歩前」みたいなファイルができて、Mac版のQuicktimeでこれを開くと、ちゃんとしたmovファイルに変換してくれる。Windows版だと、なんか変なことになる(Pro版じゃないとだめなのかな。でもサポート終わってるんだよね)。
ぼくはWindowsで書き出した画像をzipで野良うpろだに上げて(3GBぐらいあるから)、Macでmov→MP4に変換まで行い、DropboxでWindowsに送り返す、という面倒くさいことをやった(WinとMacが置いてある部屋が別なので)。
WindowsのAviUtlでいろいろ編集して完成。
ついでにプレビュー版と称する10秒ぐらいのカットを書き出して、Instagramでプロモした。
Instagramにアップする時に、タグをつけるわけだけど、ふだん、Processingで遊んだ画像をアップするときにつけるタグ以外に、音楽のタグ(今回は#electronicaとか#droneとか)をつけたのだけど、ジャンルが複数に渡ると、反応がよいなあ、と思った。まあ、#droneで、あの「ドローン」のアカウントがいっぱいひっかかってしまうのだけど。
「あの」ドローン:
それと、楽曲を作り始めてから、音源をアップし、ミュージックビデオをアップし、プロモも行う、というところまでぜんぶ一人でできて、ほとんど金がかかっていないというのも、よいことだなあ、と思った(カメラのレンズが欲しいなあとは思う)。
『[普及版]ジェネラティブ・アート』は、人生で今までに読んだプログラミング入門書のなかで、一番面白かった(「普及版」を買うと、カラー版のPDFをダウンロードできて、便利)。厳密にプログラミング入門書とは言えないのかもしれないけど。線を描くのにline()
関数を使えば楽だけど、それでは面白くないのでnoise()
関数でパーリンノイズを使うとか、円を描くのにellipse()
関数を使えば楽だけど、三角関数を使うとか。でも、無駄に遠回りしたり、無駄に面倒なことをやったりしているわけではなくて、出力が美しかったり、システムの創発特性を生み出したり、複雑さと単純さを両立させたり、といったことは、これからのプログラミング(UI/UXについても、そうだ)にとって重要なことなんじゃないか、とも思った。