33
SSAW08 第6回 Jitter入門 2008年6月3日

Ssaw08 0603

Embed Size (px)

Citation preview

Page 1: Ssaw08 0603

SSAW08 第6回

Jitter入門2008年6月3日

Page 2: Ssaw08 0603

Jitterとは

• Maxグラフィカルプログラミング環境のための、映像、マトリクス(行列)、3Dグラフィックス向けのオブジェクト群

• Max/MSP環境の拡張機能

Page 3: Ssaw08 0603

Jitterで出来ること

• ビデオ処理• ビデオのデータに最適化されている• 様々な演算機能 (解析、合成、色変換、畳み込み演算 etc.)• QuickTime形式のサポート• DVカメラ入力をリアルタイム処理

• 2D / 3Dグラフィックス• OpenGLをサポート• ハードウェア (GPU) によるアクセラレーション

• 音と映像の融合 (リアルタイムAV)• Max/MSPと統合して使用可能• 映像と音響が密に関連した作品を実現可能

• 映像を音響へ• 音響を映像へ• 映像と音響、相互のフィードバック

Page 4: Ssaw08 0603

マトリクスとは何か?

• Jitterでは、「マトリクス(Matrix)」というデータフォーマットで扱う• マトリクスとは何か?

• Jitter理解のキーとなる

Page 5: Ssaw08 0603

マトリクスとは何か?

• MSPでデジタルオーディオを扱う時• シグナルを使用• 黄色と黒の縞模様のパッチケーブル

シグナル

Page 6: Ssaw08 0603

マトリクスとは何か?

• 映像を表現するには、どのようなデータ形式が必要か?• スクリーンは、縦横にRGBのピクセルが並んだもの• 巨大な、表形式ともとらえられる (巨大なExel)• 2次元マトリクス

Page 7: Ssaw08 0603

マトリクスとは何か?

• Jitterでは、データを1から32次元までのマトリクスで表現する• 緑色のパッチケーブルで表現される• 例:QuickTimeムービーの再生

Page 8: Ssaw08 0603

マトリクスとは何か?

• プレーン• 色別の各チャンネル(RGBとアルファチャンネル)• 4つの仮想的な層

RG

BA

Page 9: Ssaw08 0603

マトリクスとは何か?

• マトリクスをJitterオブジェクトで表現すると• 名称:hoge• 8 x 6 の大きさで• RGBAの4つのプレーン• それぞれのセルのデータはchar型 (8bit)

マトリクス名

プレーンの数

データ型

マトリクスの幅と高さ

Page 10: Ssaw08 0603

マトリクスとは何か?

• 映像を表現する場合、データ型はcharを用いることが多い• 何故か?

• 一般的なコンピュータで表現できる色数• 最大32bitカラー

• R:256色(10進数) = 111111(2進数) = 8bit• G:256色(10進数) = 111111(2進数) = 8bit• B:256色(10進数) = 111111(2進数) = 8bit• A:256色(10進数) = 111111(2進数) = 8bit• 合計 32bit

• char:文字型 = 8bit• 一つのプレーンを表現するのにちょうど良い

Page 11: Ssaw08 0603

ランダムなマトリクスデータを生成

• jit.noise• jit.noise [プレーン数] [データ型] [幅] [高さ]• bangが入力されるたびにランダムなマトリクスデータを生成• qmetroで一定間隔でbangを生成

• metroと似ているが、処理速度に応じて時間間隔を自動調整する

Page 12: Ssaw08 0603

マトリクスの表示

• jit.pwindow• パッチ内でマトリクスデータを表示

• jit.window• 別ウィンドウでマトリクスデータを表示• fullscreen 1 というメッセージを入力するとフル画面表示• fsmenubar 0 というメッセージでメニューバー消去• keyオブジェクトと組合せると便利

Page 13: Ssaw08 0603

マトリクスの表示

• フルスクリーン表示の例

Page 14: Ssaw08 0603

マトリクスの操作

• マトリクスの色情報を操作してみる• jit.brcosa

• マトリクスの色を操作• br:Brightness → 明度• co:Contrast → 明度• sa:Saturation → 彩度

• brightness [数値]、 contrast [数値]、saturation [数値] というメッセージを入力して、現在の数値を変更する

Page 15: Ssaw08 0603

マトリクスの操作

• jit.brcosaの使用例

Page 16: Ssaw08 0603

アトリビュート

• Max/MSPで、オブジェクトにパラメータを設定するには• メッセージを送る• アーギュメント (引数) を設定する• アーギュメントの意味は、オブジェクトに書き込む順番で決まる• 例:周波数440Hz、位相0のサイン波

• 周波数と位相はその出現順位によって区別している

Page 17: Ssaw08 0603

アトリビュート

• Jitterでは新たにアトリビュートという仕組みが追加された• アトリビュート (Attribute:属性)• 設定するパラメータの属性を指定してから値を設定する• アトリビュートの書式:「@アトリビュート名 値」• 例:jit.brcosaオブジェクトのパラメータをアトリビュートで設定

• brightness = 1.5• contrast = 0.3• saturation = 3.0

Page 18: Ssaw08 0603

アトリビュート

• jit.brcosaをアトリビュートで設定した例

Page 19: Ssaw08 0603

QuickTimeムービーの再生

• jit.qt.movieオブジェクト• QuickTimeムービーを再生• bangメッセージを受け取った時にマトリクスとしてQTのデータを送出• qmetroの更新頻度を変更しても、映像のスピードには変化はない

• qmetroは、あくまで書き換え頻度の設定

Page 20: Ssaw08 0603

マトリクスの演算

• 2つのマトリクスを演算して、1つのマトリクスに合成する• 2つのQuickTimeムービーのマトリクスを合成

• jit.opオブジェクト:マトリクスの演算をするオブジェクト• @val 混ぜる割合• @op(アトリビュート)演算の種類

• pass: pass left input, no operator;• *: multiplication;• /: division;• +: addition;• -: subtraction;• +m: addition modulo(char only);• -m: subtraction modulo(char only);• %: modulo;• min: minimum;• max: maximum;

Page 21: Ssaw08 0603

マトリクスの演算

• jit.opの使用例

Page 22: Ssaw08 0603

音声に反応する映像

• jit.qt.movieオブジェクトに、”rate 時間”というメッセージを入力することで、ムービーの再生スピードを変更できる

• 音声のボリュームを、時間に関連づけてみる• sfplay~:サウンドファイル(aiff)を再生する• snapshot~:シグナルを一定間隔でサンプリングしてメッセージにする

Page 23: Ssaw08 0603

音声に反応する映像

• 音に反応する映像

Page 24: Ssaw08 0603

音声に反応する映像

• 様々なパラメータを映像に関連づけてみる• jit.brcosa

• 明度、コントラスト、彩度を変化• jit.rota

• マトリクスのスケールと回転を変化• gateを用いて映像に適応する要素を選択できるようにしている

• 再生スピード• 明度• コントラスト• 彩度• 傾き• ズーム

Page 25: Ssaw08 0603

音声に反応する映像

• 映像の明度、彩度、傾き、大きさなど様々なパラメータに関連づけてみる• jit.brcosa

• 明度、コントラスト、彩度を変化• jit.rota

• マトリクスのスケールと回転を変化

Page 26: Ssaw08 0603

音響の視覚化

• jit.poke~• オーディオシグナルをマトリクスに書き出す• つまり、音を映像に変換• 2つのオシレータを、マトリクス平面のX軸とY軸にあてはめる• 平面に模様が描かれる• 左右の音の干渉と、パターンが一致する

Page 27: Ssaw08 0603

音響の視覚化

Page 28: Ssaw08 0603

映像←→音響のフィードバック

• jit.peek~• マトリクスデータをシグナルデータに書き出す• jit.poke~の逆• 音を映像に書き出す• 書き出された映像を音に変換• フィードバックループが生まれる

Page 29: Ssaw08 0603

映像←→音響のフィードバック

Page 30: Ssaw08 0603

映像←→音響のフィードバック

Page 31: Ssaw08 0603

カールステン・ニコライ風

• カールステン・ニコライのパフォーマンス風パッチ• サウンドデータをFFTして、周波数帯域に分離• それぞれの帯域のレベルに応じて、OpenGLで描画した長方形の大きさを変化させている

Page 32: Ssaw08 0603

カールステン・ニコライ風

• カールステン・ニコライのパフォーマンス風パッチ• サウンドデータをFFTして、周波数帯域に分離• それぞれの帯域のレベルに応じて、OpenGLで描画した長方形の大きさを変化させている

Page 33: Ssaw08 0603

カールステン・ニコライ風