要件をまとめると、あらかじめ時間に沿ったLEDの色データ打ち込み、映像または音声と同時に再生したい、ということです。
何らかのシーケンサーが必要なので、MIDI を使用しました。
予算が全く無かったので、こんな感じでした。
・Garage Band →MIDI エディター&MIDI 出力 (midiO プラグイン)
・PureData →MIDI 入力&シリアル出力 (XBee)
・QuickTime Player7 pro →映像出力
これらのソフトをApple Script で連携させました。
この構成で約6分の曲をループ状態にして、1日回しっぱなし(10時-18時) の展示会を乗り切りました。
、、、さすがに複雑すぎるので、今後構成を見直したく、思っています。
まずは現状の紹介
○Audio MIDI 設定でIAC の設定をする
アプリケーション > ユーティリティ > Audio MIDI 設定
1) MIDI スタジオ画面
ウインドウ > MIDI ウインドウを表示
2) IAC のプロパティ 画面
IAC をダブルクリック で開く
・装置がオンラインになっていることを確認
・ポート名などに日本語が入っていると、表示できないソフトがあるので、
名前を英数のみに変えておく
IAC は Inter-Application Communication のことで、ソフト同士のMIDI 入出力を仮想的に接続します。ソフトA のMIDI 出力に IAC のポート1(上図だと IAC:IAC-1)を設定し、ソフトB のMIDI 入力にIAC のポート1(同じく IAC:IAC-1)を設定することで、ソフトA のMIDI 信号がソフトB に入力されるということです。
○Garage Band からMIDI 信号を出力する
midiO プラグインの使い方はこちらのサイトが詳しい
midiO の設定画面(上図「ソフトウェア音源 > 編集 > サウンドジェネレータ」にあるmidiO のアイコンをクリックすると開く)で、MIDI Destination に IAC-1を指定する。
○Pure Data でMIDI 信号を受ける
今回は単純なNote On/Off だけで制御しているので、
notein パッチとstripnote (ノートNo とベロシティの分離)でOK。
こんな感じ。
MIDI 信号と色の対応は自分で適当に割り当てています。
曲の終わりに特定の信号を用意して、Apple Script を呼び出すことで、QuickTime のビデオ再生を同期させました。
AppleScript はこんな感じ。
GarageBand の巻き戻し&再生と、QuickTime Player の巻き戻し&再生
立ち上げ時もこのスクリプトを使ってスタートできるのですが、初回はQT がフルスクリーンになる(ウィンドウが拡大するアニメーションをする)時間がかかるため、ずれます。
2周目から合う用に、Garage Band でちょっとずつずらしては再生の繰り返し、で合わせました。
0 件のコメント:
コメントを投稿