2010年2月8日月曜日

QCでiTunesビジュアライザー

Quartz ComposerはCamTwistなど他のアプリケーションのカスタマイズに適しています

以前「TIPS」でマイク入力によるビジュアライザーの作り方を説明しましたが

今回は「iTunes」用のビジュアライザーを制作します

「iTunes」ビジュアライザーはQCを起動させた際に「music Visualizer」を選択すれば

テンプレートのビジュアライザーが始めから出来ている状態から始まります

そこをお好みでカスタマイズすれば、簡単に制作できますが

逆に映像が先に作られている、もしくはマイクデバイスからのビジュアライザーをiTunes用に変更することができます

QCを起動し「basic」を選択してください

今回はLEDライトが音楽に合わせて点滅するビジュアライザーを作ります


「sprite」を配置しXYサイズを「0.04」程度の小さな点状にし

丸い形をした画像を「image」につなぎ「小さな粒」を画面に表示します


次に「iterater」を用意します


「iterater」は決められた回数を繰り返すというパッチです

QCには「if〜for」文の概念はありません

「if〜for」文とはプログラムで「もし○○でなければ、○○であれば」という命令です 

「変数に数字を1ずつ加算していき10になるまで繰り返し変数が10であれば終了する」
といった命令で繰り返しを命じます

QCはよりわかりやすく映像を作る為に「iterater」で「10」と入力するだけで繰り返しを命令することができます


「iterater」はマクロパッチに属しているのでダブルクリックをして「iterater」の中に

コピー&ペーストで先ほどの「小さな粒」を入れて下さい

「iterarer」の中に「Iterator Variables」パッチを配置してください

「Iterator Variables」は「iterarer」の命令を伝えるパッチです




Current Index (Index) : 親の Iterator の何回目の繰り返しかを取得。
Current Position (Number) : 親の Iterator の繰り返し位置。繰り返しの最初で 0.0、繰り返しの最後で 1.0 になる。
Iterations (Index) : 親の Iterator の繰り返し回数。

                (※おなかすいたwikiより転記)

Current Positionを「Y」につなぎます

「iterarer」のindexが10であれば中心(0,0)から上に10個「小さな粒」が表示されます

中心を軸にしたいので「Math」パッチに「-0.5」をたすことにより「-0.5」〜「0.5」に10個の「粒」になります

「粒」を「縦10」「横10」合計100個つくりたいのですが

Current Positionを「X」につないでしまうと斜めに「10」できてしまいます

ここで最上部に戻り再び「iterarer」パッチを用意し、その中に全て入れてしまいます

つまり「縦に10の粒」を横に10「複製」し 画面に100描画することができます


しかし左図の用に「Iterator Variables」からの信号をつなげる「Xposition」がありません

もう一度「sprite」のある階層に戻ります


一つ上の階層にパッチの「穴」を「公開」したいときは

パッチの上で右クリックをし「publish inputs」から

「Xposition」を選択します


再び上の階層に戻ると「Xposition」が現れます

前回と同じように「-0.5」をたして「Xposition」につなぎます

以上で100の粒を表示できました


一番上の階層に戻り

iTunesビジュアライザーの信号を取得するパッチはプリセットで用意されています

QCの上のタブに注目してください


EditorからEdit Protocol Conformance... を選択すると

テンプレートの選択画面が表示されますので「Music Visualizer」を選択

5つのパッチが配置されます


Audio Peak ( Required ) : 音量のビーク値 ( 0.0~1.0 )
Audio Spectrum ( Required ) : 周波数別の音量の配列 ( 0.0~1.0 の配列 0~15 )
Track Position ( Optional ) : 再生中の位置 ( 先頭からの秒 )
Track Signal ( Optional ) : 曲が変わったときにシグナルを発生させる
Track Info ( Optional ) : 再生中の曲の情報の辞書
name : 曲名 ( 文字列 )
artist : アーチスト名 ( 文字列 )
album : アルバム名 ( 文字列 )
genre : ジャンル名 ( 文字列 )
trackNumber : アルバム内の曲の番号 ( 0~ )
numTracks : アルバムの全曲数 ( 1~ )
duration : 曲の長さ ( 秒 )
year : 曲の年
artwork : ジャケットイメージ ( 画像 )
rating : マイレート ( 0~5 )
playCount : 再生回数 ( 0~ )

              (※Quartz Composerにどっぷり! より転記)


Audio PeakやAudio Spectrumからの信号を「iterater」のindexにつなげることにより

縦横に「iTunes」からの音の信号によって変化するモーションが表現できます


一つ下の階層にもどり「iterater」の「Iterations」をpublishします


最上部に戻ると「Iterations」が2つになっているのでお好みの信号をつなぎます

colorはおなじみのHSL Colorの「Hue」をpublishします

最後に「Track Info」から曲の情報を取り出し描画し完成です


完成したQCファイルは「iTunes」の任意のフォルダに移動させ

itunesを再起動すると「ビジュアライザー」の中に反映されます




1 件のコメント:

  1. ビュアライザを作る、で検索したらこちらのサイトに飛んできました。
    とっても美しいですね。こういうことをもっと複雑に組んでいけば
    itunesのビュアライザーのようなものが出来上がるのでしょうか?
    何か、パソコンで作る編み物のような(笑 そんな気がしてなりません。

    返信削除