狠狠撸

狠狠撸Share a Scribd company logo
SSAW08 第6回

Jitter入門
2008年6月3日
Jitterとは

 ? Maxグラフィカルプログラミング環境のための、映像、マトリクス(行
   列)、3Dグラフィックス向けのオブジェクト群
 ? Max/MSP環境の拡張機能
Jitterで出来ること

? ビデオ処理
   ? ビデオのデータに最適化されている
   ? 様々な演算機能 (解析、合成、色変換、畳み込み演算 etc.)
   ? QuickTime形式のサポート
   ? DVカメラ入力をリアルタイム処理
? 2D / 3Dグラフィックス
   ? OpenGLをサポート
   ? ハードウェア (GPU) によるアクセラレーション
? 音と映像の融合 (リアルタイムAV)
   ? Max/MSPと統合して使用可能
   ? 映像と音響が密に関連した作品を実現可能
      ? 映像を音響へ
      ? 音響を映像へ
      ? 映像と音響、相互のフィードバック
マトリクスとは何か?

? Jitterでは、「マトリクス(Matrix)」というデータフォーマットで扱う
? マトリクスとは何か?
   ? Jitter理解のキーとなる
マトリクスとは何か?

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




                       シグナル
マトリクスとは何か?

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

? Jitterでは、データを1から32次元までのマトリクスで表現する
? 緑色のパッチケーブルで表現される
? 例:蚕耻颈肠办罢颈尘别ムービーの再生
マトリクスとは何か?

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




                                   R
                               G
                           B
                       A
マトリクスとは何か?

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




                  マトリクス名   データ型

                      プレーンの数 マトリクスの幅と高さ
マトリクスとは何か?

? 映像を表現する場合、データ型は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
     ? 一つのプレーンを表現するのにちょうど良い
ランダムなマトリクスデータを生成

? jit.noise
    ? jit.noise [プレーン数] [データ型] [幅] [高さ]
    ? bangが入力されるたびにランダムなマトリクスデータを生成
    ? qmetroで一定間隔でbangを生成
        ? metroと似ているが、処理速度に応じて時間間隔を自動調整する
マトリクスの表示

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

? フルスクリーン表示の例
マトリクスの操作

? マトリクスの色情報を操作してみる
? jit.brcosa
    ? マトリクスの色を操作
       ? br:Brightness → 明度
       ? co:Contrast → 明度
       ? sa:Saturation → 彩度
    ? brightness [数値]、 contrast [数値]、saturation [数値] というメッ
       セージを入力して、現在の数値を変更する
マトリクスの操作

? jit.brcosaの使用例
アトリビュート

? Max/MSPで、オブジェクトにパラメータを設定するには
  ? メッセージを送る
  ? アーギュメント (引数) を設定する
  ? アーギュメントの意味は、オブジェクトに書き込む順番で決まる
  ? 例:周波数440Hz、位相0のサイン波
     ? 周波数と位相はその出現順位によって区別している
アトリビュート

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

? jit.brcosaをアトリビュートで設定した例
QuickTimeムービーの再生

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

? 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;
マトリクスの演算

? jit.opの使用例
音声に反応する映像

? jit.qt.movieオブジェクトに、 rate 時間 というメッセージを入力すること
  で、ムービーの再生スピードを変更できる
? 音声のボリュームを、時間に関連づけてみる
    ? sfplay :サウンドファイル(ai?)を再生する
    ? snapshot :シグナルを一定間隔でサンプリングしてメッセージにする
音声に反応する映像

? 音に反応する映像
音声に反応する映像

? 様々なパラメータを映像に関連づけてみる
? jit.brcosa
    ? 明度、コントラスト、彩度を変化
? jit.rota
    ? マトリクスのスケールと回転を変化
? gateを用いて映像に適応する要素を選択できるようにしている
    ? 再生スピード
    ? 明度
    ? コントラスト
    ? 彩度
    ? 傾き
    ? ズーム
音声に反応する映像

? 映像の明度、彩度、傾き、大きさなど様々なパラメータに関連づけてみる
? jit.brcosa
    ? 明度、コントラスト、彩度を変化
? jit.rota
    ? マトリクスのスケールと回転を変化
音响の视覚化


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


? jit.peek
    ? マトリクスデータをシグナルデータに書き出す
    ? jit.poke の逆
    ? 音を映像に書き出す
    ? 書き出された映像を音に変換
    ? フィードバックループが生まれる
映像←→音响のフィードバック
映像←→音响のフィードバック
カールステン?ニコライ风

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

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

More Related Content

Ssaw08 0603