Quartz Composer日記#1

Quartz Composerを使ってみた。
http://vimeo.com/17486388
Quartz Composer自体には録画機能がついていないので、表示される画面を別ソフトで録画しなければならず、苦労した。フリーソフトで上手くいくものがなく、QuickTime Playerもフレームレートが粗すぎてこういう用途には使えなかったので、今回はiShowUという29.95ドルのシェアウェアのデモ版で録画してみた。
Pro ToolsからMIDIノートを送信し、Quartz Composerでそれを受信して映像にしている。こういうパッチを組むのは楽しいし時間もあまりかからないのだが、MacOSXの内部でアプリケーション間でMIDIデータを送受信できるはずのIAC Driverが全てのMIDIノートを送受信してくれなくて仕方なくMIDIインターフェイスのoutからinへMIDIケーブルで繋いで送受信したり、上述したように撮影に手間取ったりして困った。
Quartz ComposerのウィンドウもiShowUの録画領域も同じ512x384ピクセルに設定したので、両者が少しでもずれると画面の端に線が入ってしまう状態になっていた。次からはQuartz Composerのウィンドウは少し広めのサイズに設定しようと思う。
これで俺も動く動画が作れるようになったかもしれない。曲作るのかわからないが。UTAU曲作りたいけどなあ。
【追記】
メロディーはメロディーのMIDIノート(ベロシティを出力する)を片っ端からJavaScriptパッチに入れて、
if (inputNumber[0] != 0) {
result.outputNumber = -0.35;
} else if (inputNumber[1] != 0) {
という感じで条件分岐してアウトプットの値を決め、それをBillboardのY Positionに入れている。
歌詞は今回はMIDIノートからの出力を複数用意したBillboardのEnableにそのまま入れてしまったが、順次に同じ位置に表示する用途ならJavaScriptで条件分岐してBillboardは1つにした方が良いだろう。少しでも同時表示をする場合はBillboardを複数使うことになるだろうが。
ピアノは半音ずつMIDIノートナンバーに対応してRGBRGB…と設定してベロシティを足して色を合成した。何を言っているかわからないかもしれないが短文で説明するのは俺はこれが限界だ。トニックはトニックの色がして、IIIはトニックとドミナントの中間の色がして、IとVIの(セコンダリー)ドミナントで同じディミニッシュコードを弾いているところはちゃんと同じ色になっているあたりが面白い。ここから新しい音楽理論でも構想できそうだ。
【追々記】
この時期はなりふり構わずif文を1つ1つ書いたが、今(12月7日深夜)にして思えばこのメロディーに対する描画のようなことをするならfor文を使った方が早い。具体的なコードはさっき書いた記事↓で。
http://d.hatena.ne.jp/knowsur/20101207/1291747469