Analog-Style Software Video Synthesizer
Lumen は、魅力的なビジュアルをリアルタイムで簡単に作成できる Mac アプリケーションです。
Lumen では、ハードウェアのビデオシンセサイザーと同じプロセスで、ソフトウェアならではの最新機能を使用できます。
遊び心と奥深さを兼ね備えたセミモジュラー・デザインの Lumen は、ビデオシンセサイザーの入門に最適です。
※ https://lumen-app.com より。DeepL で翻訳。
Annotation
以下は公式サイトのチュートリアルを元に、自分が必要な部分を抜粋した覚え書き。
公式チュートリアルは英語なので、当方による誤読、誤訳の可能性もある。
決して難解ではない英語で書かれているため、可能な限り原本に当たることをお薦めする。
なお、使用している画像や動画は公式チュートリアルから[無断で]拝借している旨、先に告白しておく。
Video Synthesizer
アナログのビデオシグナルが高くなるとテレビ画面上に明るいスポットができ、低くなると暗いスポットができる。 しかし、その明るいスポットや暗いスポットが画面のどこに現れるかは、電子ビームがその瞬間にどこにあるかによって決まる。 つまり、電子ビームの動きとビデオシグナルの立ち上がりと立ち下がりが一緒になって、リアルタイムでビデオ画像を描くことになる。
Browse Panel
ダブルクリックでパッチライブラリをロード。
自分で作成したパッチも、保存するとここからロードできる。
新しいパッチを作るときは、File -> New または command + N。
XY パッド (Snapshots) をクリックアンドドラッグして、パッチのバリエーションを変化させる。
ここでいう「バリエーションの変化」は、Knobs Panel や Patch Panel での各種パラメータの変化によるもの。つまり、XY パッド (Snapshots) をクリックアンドドラッグすることによって、各種パラメータがリンクしつつ変化していくことになる。
X 座標と Y 座標の値の変化によって、どのパラメータがどの程度変化するのかを把握できれば、ライブなどにおけるリアルタイム制御に有用な機能であると思われる。
「どのパラメータがどの程度変化するのか」をこちらで設定することができれば、なおよい。
把握と設定については、マニュアルの記述の有無を確認しつつ、実際に操作しながらその可能性を検証していく必要がある。
Knobs Panel
Semi-Modular Synthesizer
Lumen は、いわゆるセミモジュラー・シンセサイザー。
Oscillatorやエフェクトなど「サブモジュール」と呼ばれるパーツで構成され、それぞれがビデオシグナルを生成または処理する。
これらのサブモジュールはそれぞれ、特定の順序で内部結線されている(デフォルトのパッチでは、3 つの Oscillator (A, B, C) は Mixer でミックスされ、Effects を経由して Output に送られる)。内部結線はパッチングで変更できる。
Keyboard Shortcuts
control キーを押しながらノブをドラッグすると、パラメータはゆっくりと調整され、control + shift キーを押しながらだと、よりゆっくりと調整される。
shift キーを押しながらノブをドラッグすると、パラメータはあらかじめ設定された特定の値にスナップする。
Undo (command + z) や Redo (shift + command + z) も使用可能。
ノブをダブルクリックするとデフォルト設定にリセットされる。
Oscillator
Frequency
Frequency は 0.125Hz から 3MHz までの範囲で設定可能。
外側のノブが Coarse、内側のノブが Fine。Fine ノブは 何周でもグルグル回せる。
リフレッシュ・レートが 60Hz であることから、Oscillator を特定の周波数帯域に設定すると、特定のパターンを発生させることができる。
0.125Hz – Frequency が約 10Hz 以下になると、色の点滅しか見えなくなる。
59.88Hz – Frequency が 10Hz を超えるとスクロールするラインが見える。 ゆっくりとした動き、スクリーンとほぼ同じ高さの間隔のラインを作りたい場合は、Frequency を 60Hz に近づける。 ラインをゆっくり動かしたいときや、ラインの間隔を画面の高さの何分の一かにしたいときは、Frequency を 60Hz の倍数付近(120Hz や 180Hz など)に設定する。
480.8Hz – Frequency を上げるとラインの数が増える。
28.74kHz – Frequencyが 6kHz を超えると、線が小さくなり、斜めの線が見え始める。
880kHz – 非常に高い Frequency では、ノイズのようなパターンが見られる。
Oscillator Source (Processing Video from a Webcam)
Lumen はビデオパターンの生成だけでなく、外部ビデオ入力を変調するのにも使うことができる。
Mac OS でウェブカメラとして使用できるほとんどのカメラや、Syphon 出力をサポートするアプリケーション ※ からの入力を処理することが可能。
※ Syphon 出力をサポートするアプリケーションは、こちらにリストがある。
わたしは Adobe Premiere Pro を使っているので、github から Syphon-Transmit をダウンロード(ページ最下部の “Assets” を開くと Syphon.Transmit.bundle.zip がある)。
zip を解凍してプラグインを/Library/Application Support/Adobe/Common/Plug-ins/7.0/MediaCore/
にインストールして Premiere Pro を立ち上げてみたら、”Plugin Damaged” と怒られたので、Premiere Pro を強制終了し、Terminal アプリケーションでxattr -cr /Library/Application\ Support/Adobe/Common/Plug-ins/7.0/MediaCore/Syphon\ Transmit.bundle
を実行したところ、設定画面に Syphon Server Transmitter が現れてくれて一安心。
選択されたビデオソースのフレームは、解像度とアスペクト比に合わせて、Lumen パッチの画面領域いっぱいにリサイズおよびクロップされる。 ビデオ入力ソースが幅 640 ピクセル、高さ 480 ピクセルの場合、画像の解像度は最高レベルに保たれる。
- 画面上部の Camera Input ドロップダウンリストから入力ソース(ウェブカメラなど)を選択。
- Oscillator Source ボタン(Frequency ノブの左下)をクリックして、Oscillator の入力ソースを “Cam” に切り替える。デフォルトパッチでは、3 つの Oscillator はそれぞれ入力ソースのRed、Green、Blue チャンネルに対応している。
- Oscillator サブモジュールのいくつかのノブは、“Cam” モードでは無効になる。
ウェブカメラからの外部ビデオ入力処理はコンピュータに大きな負荷を強いるため、カメラを使用しない場合は、Camera Imput ドロップダウンリストから “None” を選択することで、コンピュータの負荷を軽減することが推奨されている。
[External Feedback Patching]
外付けのウェブカメラを用意し、それを Camera Inputドロップダウンリストから入力ソースとして選択する。 その出力をパッチで使用し、Lumen の出力をフルスクリーンで表示しているスクリーンやテレビにウェブカメラを向けることで、フィードバック効果を得ることができる。
Wave Shaper
Wave Shaper ノブを CCW から CW へと動かすことで、Oscillator の波形はノコギリ波→三角波→サイン波と滑らかに変化し、映像パターンに異なる効果を与える。
Sync
Sync ノブは、パターンのスクロールの速度と方向を設定する。
センターにノッチがあるが、control キーを押しながら操作することでノッチを回避可能。
- Unsynced: CCW に絞りきると、Oscillator は自由自在に動き、動くラインを作り出す。
- Horizontal Sync: センターに合わせると、Oscillator の位相がフレームごとにリセットされ、静止した水平ラインが作られる。
- Vertical Sync: CW に絞りきると、Oscillator の位相が水平ラインごとにリセットされ、静止した垂直ラインが作られる。
CCW に絞りきった状態からセンターの間では、センターに近づくほど、ラインの動くが遅くなる。
センターから CW に絞りきるまでの間では、ラインが回転する。
Mod (Oscillator Modulation)
デフォルトのパッチでは、モジュレーションシグナルは以下のように内部結線されている。内部結線はパッチングで変更できる。
- Oscillator B は Oscillator A のシグナルによって変調される。
- Oscillator C は Oscillator B のシグナルによって変調される。
- Oscillator A は Output のシグナルによって変調される。
Mod ノブで、Oscillator に送られるモジュレーションシグナルのアマウントを設定する。
Lumen では、Oscillator から出力されるシグナルの(色は関係なく)明るさだけがモジュレーションシグナルとして使用される。 明るさは、赤、緑、青の各チャンネルからの最大成分値を使用して測定される。
Output(最終的な出力シグナル)はモジュレーションシグナルとして Oscillator A に送られるが、最終的な出力シグナルは Oscillator A に(も)依存しているため、フィードバックループが形成されることになる。
Oscillator Modulation には以下の 3 種類のモードが存在し、Modulation Mode Selector ボタン(Frequency ノブの右下)で切り替える。
[1. Phase Mod]
Phase Mod は、モジュレーションシグナルによって Oscillator の出力シグナルを時間的に前後に動かす。モジュレーションシグナルが暗ければ暗いほど、あるいは明るければ明るいほど、Oscillator の出力はより大きく動く。
Phase Mod を使うと、くねくねしたラインを作ることができる。 Mod ノブを右に回せば回すほど、ラインはよりくねくねしたものになる。 様々な周波数、波形、Sync 設定、モジュレーションアマウントを組み合わる実験の過程で、スウィート・スポットを見つけていくことになる。
Phase Mod ではフィードバックループが大きな効果を発揮する。
フィードバックループにより Oscillator A が最終出力イメージによって変調されるため、3 つの Mod ノブ全てを少し上げるだけで、“noisy artifacts” がたくさん見えるようになる。
[2. Key Mod]
Key Mod は Phase Mod と全く同じ(出力シグナルを時間的に前後に動かす)方法で出力シグナルを変更するが、モジュレーションシグナルにスレッショルド関数(二値化による閾値処理)を適用して、100% の明るさ、または 0% の明るさ(あるいは 100% の暗さ)だけが出力に使用されるようにする。
これは「キーイング」(keying) と呼ばれ、これを行う Oscillator サブモジュールの一部は「キーヤー」(keyer) と呼ばれる。
Lumen におけるキーヤーは Threshold Selector ノブ(Key Mod 選択時には Wave Shaper ノブが Threshold Selector ノブに変わる)。これを使って、「100% の明るさ」と判断されるシグナルレベルの範囲を選択する。
Threshold Selector ノブは以下のように作用する。
PWM (pulse-width modulation) のようなものだと考えるとわかりやすい……のか?
- CCW に絞りきると、キーヤーはソース画像の最も暗い部分のみを「100% 明るい」と判断する。センターから CCW に回すほど上限閾値が低くなる。
- センターに合わせると、中域(あまり明るくも暗くもない部分)のみが「100% 明るい」と判断されるようになる。上限閾値と下限閾値が同時に設定される。
- CW に絞りきると、キーヤーはソース画像の最も明るい部分だけを「100% 明るい」と判断する。センターから CW に回すほど、下限閾値は高くなる。
[3. Hue Mod]
Hue Mod は、Oscillator の Colorizer で選んだ色の Hue(色相)値を、モジュレーションシグナルによってシフトさせる。モジュレーションシグナルが大きい(明るい)ほどシフトする量も大きくなる。
Freq Mod (Frequency Modulation = FM)
Freq Mod は Oscillator の周波数変調 (FM)。
モジュレーションシグナルが大きいほど Frequency が高くなり、小さいほど Frequency が低くなる。
Freq Modノブを CW に回すと、周波数変調のモジュレーションアマウントが増加する。
デフォルトのパッチでは、モジュレーションシグナルは以下のように内部結線されている。内部結線はパッチングで変更できる。
- Oscillator A は LFO A によって変調される。
- Oscillator B は LFO B によって変調される。
- Oscillator C は LFO C によって変調される。
LFO A と LFO B は Dual LFO サブモジュールにある。
LFO C は Patch Panel の右下隅に追いやられている(“we just didn’t have room for it on the Knobs Panel”)。
LFO A と LFO Bの上段のノブ(Frequency ノブ)、および LFO C のノブで LFO の周波数を設定する。0.002Hz から 10Hz までの範囲で設定可能。
LFO A と LFO Bの下段のノブ(Skew ノブ)を CCW から CW へと動かすことで、LFO の波形は下降ノコギリ波→三角波→上昇ノコギリ波と滑らかに変化する。
LFO C の波形はサイン波のみ。
Color
Colorizer で、色相 (hue) と彩度 (saturation) を設定する。
Mix Level
Mix Level ノブで Mixer への入力レベルを調整し、Oscillator の出力が Mixer 経由後の出力において、どの程度明るく見えるかを設定する。
Effects
Lumenは、ビデオ処理に使用できる、以下の 3 つのエフェクトを内蔵している。
- Transform: フレーム全体を拡大縮小、回転、平行移動する。
- K. Scope: シングルノブの万華鏡 (kaleidoscope) で、フレームの回転も可能。
- Trails: フレームバッファを使用して、古典的なビデオ・トレイル効果を再現する。
Transform
Effects サブモジュールの上部 4 つのノブが、Transform エフェクトをコントロールするためのもの。
[Scale]
Scale ノブはバイポーラー。
映像の拡大縮小率は 25%から 200%までの範囲で設定可能。
[Rotate]
Rotate ノブもバイポーラー。ノブは 360 度回転させることが可能。
センターが 0 度で、ノブの回転と同方向にフレームを回転させることができる。
[Offset X / Offset Y]
Offset X ノブと Offset Y ノブもバイポーラー。ノブは 360 度回転させることが可能。
CCW に回すと映像が左 (Offset X) または下 (Offset Y) にシフトし、CW に回すと右 (Offset X) または上 (Offset Y) にシフトする。センターではオフセットは生じない。
[The “Hall of Mirrors” Feedback Effect]
公式チュートリアルに記載されている、エフェクト効果の一例。
- デフォルトパッチにリセット(File -> New または command + N)。
- Oscillator の Mod ノブ、Sync ノブ、Frequency ノブを、面白いものができるまでいじる。
- Oscillator A が Phase Mod モードになっていることを確認する。
- Oscillator A の Mod ノブ(モジュレーションアマウント)をかなり上げる。ただし、CWに絞りきらない。
- Offset ノブの片方または両方を少しだけ回す。
Scale や Rotate を組み合わせることでより面白くなる、との記載もあり。
※ “Feedback Effect” と称している理由は、Oscillator A の Mod のモジュレーションアマウントによって効果を生み出しているからだろう。
K. Scope
K. Scope ノブは多回転式ノブであり、16 周させることで、最後まで回したことになる。
回すたびに、入力されるビデオシグナルが回転し、分割数が増える。
[Creating Geometric Shapes]
1 つの Oscillator と K. Scope だけで、円や多角形を作ることができる。
- デフォルトパッチにリセット(File -> New または command + N)。
- 2 つの Oscillator の Mix ノブを CCW に絞りきり、1 つの Oscillator だけが表示されるようにする。
- Horizontal Sync にする(Sync ノブをセンターに合わせる)。
- Frequency が 60Hz 前後 (デフォルト値) であることを確認する。
- Modulation Mode Selector ボタンで、Key Modモードにする。
- K. Scope ノブを以下の値のいずれかに調整する。
- 正方形: K. Scope ノブ 2 周 + 45度
- 正三角形: K. Scope ノブ 3 周 + 90度
- 円: K. Scope ノブ 約 14 周 + 85度
- Threshold Selector ノブを調整し、正確なシェイプになるように調整する。周波数を上げると、同心円状のシェイプができる。
Trails
trails エフェクトが機能するのは、フレームバッファを実装しているから。 新しいビデオフレームが生成されるたびに、フレームバッファに保存される。trails エフェクトは、2 つのフレーム(各コンポーネント)の最大値を取って出力することで、現在のフレームと前のフレームを結合するためにこれを使用する。ここで生成されたフレームはふたたびフレームバッファに保存されるため、時間経過によるフィードバックが生み出される。
Trails ノブを CCW に絞りきると、エフェクトは発生しない。CW に回していくと、現在のビデオフレームと前のビデオフレームの最も明るい部分を合成する。
カメラからの入力を使った例が、上の画像。この例では、Trails を 80%くらいまで上げて、指輪に反射する光を使ってライトペインティングをしているそうだ。
Trails を上げるほど、ビデオの明るい部分によって作られた軌跡がフェードアウトするまでの時間が長くなる。100%まで上げると、フェードアウトしなくなる。
このエフェクトは、動きや明滅の多いパッチの、チラつきや騒々しさを抑制するためにも使える。
Patch Panel(未完)
Sections
Patch Panel にも Oscillator や Trails など、Knobs Panel と同名のサブモジュールがいくつかある。これらのサブモジュールはそれぞれ、Lumen のシグナル処理パイプラインの特定の部分と一致している。ビデオシグナルは Camera -> Oscillators -> Mixer -> Effects と流れる。以下は Patch Panel におけるセクション。
Inputs And Outputs
処理パイプラインの各ステップは、ポートと呼ばれる 2 種類の接続ポイントで構成されている。出力ポートはシグナルを生成し、入力ポートは出力ポートからのシグナルを受け入れる。
各サブモジュールに、いくつかの入力ポートと出力ポートがある。入力ポートと出力ポートは、わかりやすく色分けされて表示されている。
Normal (Normalization)
デフォルトのパッチでは何も接続されていないように見えるが、実際には内部結線(ノーマライズ)されている。
内部結線のうち、ビデオシグナルのデフォルトは、パネル上に示されている。より分かりやすくしたものが下図。
コントロールシグナルの内部結線はパネルに表示されていない。デフォルトは下図。
Patching With Cables
モジュラー・シンセシスでは、出力ポートを入力ポートに接続することを「パッチング」、あるいは「パッチする」と呼ぶ。パッチングの主な目的は、ポートを接続し、シグナル・フローを生み出す、あるいはデフォルトのシグナル・フロー(内部結線)を変更すること。
Lumen の Patch Panel では、出力ポートをクリック&ドラッグして、入力ポートに接続することでパッチングを行う。1 つの出力ポートから 2 つ以上の入力ポートにパッチングすることも可能だが、2 つ以上の出力ポートから 1 つの入力ポートにパッチングすることはできない。
パッチケーブルの接続を解除するには、接続先をクリックし、そこからドラッグする。Shift キーを押しながら接続されているポートのいずれかをクリックしても、ケーブルを外すことができる。
内部結線と異なるパッチングを行った場合、パッチングが優先される(内部接続が切断される)。
Video And Control Signals
Lumen のパッチングシステムには、ビデオシグナルとコントロールシグナルの 2 種類のシグナルがある。
ビデオシグナルには画像を形成する、すなわち急速に変化する値が含まれているのに対し、コントロールシグナルには、1 フレームにつき正確に 1 回、つまり 1 秒間に 60 回更新される値が含まれている。
各信号タイプは、それぞれ対応するタイプのポートを経由する。
コントロールシグナルは、どのタイプの入力ポートにも接続できる。
コントロールシグナルをビデオ入力ポートにパッチすると、グレーのベタ塗りのように見える。 コントロールシグナルが低ければ暗く、高ければ明るくなる。
ビデオシグナルは、ビデオ入力ポートにのみ接続できる。 例えば、Camera 出力をTransform Scale 入力にパッチすることはできない。
Three Signals In One
従来のハードウェア・ビデオ・シンセサイザーでは、赤、緑、青のビデオ・チャンネルは 100%独立して扱われる。 このため、自由度が高い反面、一度に複数のチャンネルを操作する場合、パッチングに手間がかかる。
Lumenでは、各ビデオケーブルはコンポジットケーブルであるため、常に赤、緑、青のチャンネルを伝送する。Oscillator の出力を Master 入力に接続すれば、最終出力は白黒ではなくカラーになる。
単一のモジュレーション信号が必要な場合、3 つのチャンネルの最大値が使用される。 たとえば、赤のビデオ・チャンネルのみで発生しているビデオシグナルがある場合でも、それを Oscillator の Mod In ポートに入力し、その Oscillator をモジュレートすることができる。
Oscillators
Internal Architecture
Lumen の Oscillator は、内部でいくつかの異なるコンポーネントに接続されている。 Oscillator が Input を受け取り、それを Waveshaper に通し、次に Colorizer に通し、その結果できたシグナルを出力として使う。
- Input: Oscillator がどのシグナルを処理するかは、Oscillator Source ボタンで選択する。これにより、カメラ入力ポートのシグナルを使用するか、内部で生成されたノコギリ波を使用するかが決まる。
- Waveshaper: Waveshaper はノコギリ波を三角波とサイン波に変える。 Mod モードが Phase または Key の場合、Waveshaper は Mod In に入力されたシグナルに基づいて、入力シグナルに位相変調も適用する。Oscillator の入力ソースがカメラの場合でも、Waveshaper は常に動作している。
- Colorizer: Waveshaper から出力されるものは何であれ、Oscillator の Color で選択した色相と彩度でカラー化される。 Mod モードが Hue の場合、選択された色相は Mod In に入力されたシグナルに基づいて変調される。
Patch Ideas
これらのパッチのアイデアには、それぞれ 1 つまたは 2 つの Oscillator が使用されているので、デフォルトパッチを使ってこれらを試す場合は、使用しない Oscillator の Mix Level を下げておくこと。
[Noise]
- パッチ: Oscillator の Out を同じ Oscillator の Mod In に入力
- Mod モード: Phase Mod
- Sync: Unsynced (CCW)
- Frequency: 1.2kHz 以上
[Solid Color]
- Sync: Horizontal Sync (センター)
- Frequency: 0.125Hz (CCW)
- 波形: ノコギリ波 (CCW)
[Solid Half-Screen]
- Mod モード: Key
- Sync: Horizontal Sync (センター)
- Frequency: 約 60Hz
- Threshold: 矩形波が画面の半分を埋めるように調整する
垂直に二等分するには、Sync を Vertical Sync (CW) に設定し、Frequency を下げる。
[Ramps]
[Solid Half-Screen] パッチと基本的に同じだが、次の点が異なる。
- Mod モード: Phase
- 波形: ノコギリ波 (CCW)
垂直にするには、Sync を Vertical Sync (CW) に設定し、Frequency を下げる。
明るい部分を画面の上(または左)ではなく下(または右)にするには、次のように変更する。
- 波形: 三角波 (センター)
- Frequency: 当初設定の半分の周波数に調整
[Diamond]
このアイデアには、2 つの Oscillator と Signal Processor が含まれる。
- パッチ: Oscillator A の Out を Signal Processor の In A に入力
- パッチ: Oscillator B の Out を Signal Processor の In B に入力
- パッチ: Signal Processor の Out を画面表示に使用
- Signal Processor モード: Fade (shift キーを押しながらノブを操作するとスナップする)
- Oscillator A
- Sync: Horizontal Sync (センター)
- Frequency: 約 60Hz
- 波形: 三角波 (センター)
- Oscillator B
- Sync: Vertical Sync (CW)
- Frequency: ダイアモンド型がスクリーンいっぱいになるように調整する
- 波形: 三角波 (センター)
三角波の代わりにノコギリ波を使えば、上のコーナーから斜めにスロープ (ramps) を作ることができる。
三角波の代わりにサイン波を使えば、周囲をぼかしたようなパターン (a vignette/spotlight pattern) を作ることができる。
[Freeze Frame]
- 波形: ノコギリ波 (CCW)
- Oscillator Source: Osc
- パッチ: Oscillator の Out を 同じ Oscillator の Camera In に入力
Oscillator Source を Cam に切り替えると、画面がフリーズする。
フリーズしたフレームが暗くなりきるまで、ゆっくりとWaveshaper ノブを CW に回していく。
新しいフレームをキャプチャするには、Oscillator Source をもう一度 Osc に戻してから Cam に切り替える。
※ このパッチをライブラリに保存しても、ロードした際に 100%復元されるわけではない。これは、Lumen ではビデオシンセサイザーのシグナルは保存されず、ノブの位置と Oscillator のフェーズだけが保存されるため。ライブラリからこのパッチをロードした後、新しいフレームをキャプチャするには、Oscillator Source を何度か切り替える必要がある。
External Connections
このサブモジュールは、 Patch Panel からアクセスでき、複数の外部ビデオシグナルを Lumen に供給する。
Aux In A とAux In B は、Camera サブモジュールとまったく同じように動作する。ドロップダウンリストを使って入力ソースを選択し、ポートが使用中であればLEDが点灯する。
Patch Ideas
[Multi-Cam External Feedback]
Camera サブモジュールの [External Feedback] のアイデア(上述)を発展させたもの。
外部ウェブカメラを 2 台用意し、Aux In A と Aux In B から出力されるビデオシグナルの両方をパッチで使い、Lumen の出力をフルスクリーンで表示しているスクリーンやテレビに、両方の外部カメラを別のアングルから向ける。
Signal Processor
これに関する公式チュートリアルの記載は、現時点で存在しない。“Lumen Submodule Reference” にも記載はなく、Oscillator の Patch Idea [Diamond] で一度触れられるのみ。
ある意味、これがいちばん謎なサブモジュールなので、公式チュートリアルの公開を待ちつつ、実験して理解していくしかなさそう。
Mixer
Mix Level ノブは Knobs Panel の Oscillator サブモジュールにあり、ミキサーへの入力レベルを調整するのに使われる(上述)。
Patch Panel にはビデオシグナル用の In と Out のポートがある。In ポートは、デフォルトパッチでは、以下のように内部結線されている。
- In A は Oscillator A のOut からビデオシグナルを受け取る。
- In B は Oscillator B のOut からビデオシグナルを受け取る。
- In C は Oscillator C のOut からビデオシグナルを受け取る。
Out ポートは、3 種類の異なる合成方法に基づくポートで構成されている。
- Max: 各ビデオコンポーネント(赤、緑、青)の3つの入力の最大値を取る。つまり、最も明るい赤、最も明るい青、最も明るい緑が入力から除外される。その結果、明るく鮮やかな色になることもあれば、Mix Level を下げれば暗く濁った色になることもある。
- Layer: このモードでは、3 つの入力信号が「スタック」され、A が下、B が真ん中、C が上になる、と想像すると分かりやすい。このモードでは、Mix Level は明るさをコントロールする代わりにスレッショルドをコントロールし、閾値以下では各入力信号の最も暗い部分が「カットアウト」され、下の信号が現れることになる。Layer ポートを使用する際は、Oscillator C の Mix Level を下げないと効果が得られないことに留意が必要。
- YUV: YUV 色空間は、3 つの成分(Y(輝度信号 luma)、U、V(色差信号 chrominance))で色を表現する方法である。このモードでは、各入力画像の最も明るい部分がこれらの成分の 1 つとして解釈される。In A が Y、In B が U、In C が V となる。YUV モードでビデオシグナルをミックスすると「レトロでサイケデリックで虹色に見えるということだけ知っていればいい」らしい。
Patch Ideas
[Mixing in Layer or YUV Mode]
Max ポートからの出力は Transform サブモジュールに内部接続されているので、Layer または YUV モードを使ってミキシングしたい場合は、レイヤー(またはYUV)出力ポートから別の入力へパッチする必要がある。クロスフェーダーを使って複数のミキサー出力をブレンドしてみるのも面白いらしい。
[Framebuffer]
- デフォルトパッチにリセット(File -> New または command + N)。
- Oscillator B と Oscillator C の Mix Level を 0%に下げる。
- Layer からの出力を Transform In と Mixer In A にパッチする(上図)。
- プレビュー画面の映像がフリーズする。これは Layer から出力されたシグナルが In A にフィードバックされ、完全なループを作り出しているから。
- このループを破壊するために、カメラからのビデオソースなどを Mixer In B に入力する。Oscillator B の Mix Level はまだ 0%なので、変化はまだ見えない。
- ゆっくりとOscillator B の Mix Level を上げ、フリーズしている映像の上に何かが現れるのを確認する。閾値が下がることで、ビデオシグナルの明るい部分がフレームバッファに書き込まれている。
- 何かが現れたら、カメラの前で何かを動かしてみる。Lumen がビデオフレームを作るたびに、画像の最も明るい部分がフレームバッファに書き込まれるのがわかる。
- Oscillator B の Mix Level を好みに合わせて調整する。 Mixer In C に別の入力を追加してもいいが、Mix Level を上げるのを忘れずに。
[Fading Framebuffer]
ゆっくりと黒くフェードアウトするフレームバッファを得るには、まず上記のパッチを作成し、control キーを押しながら Oscillator A の Mix Level を 99.3%程度まで下げる。 Oscillator A の Mix Level を下げれば下げるほど、イメージは速くフェードアウトする。
[Spare Trails]
ミキサーのチャンネルを犠牲にして、trails エフェクトを作ることができる。
Max からの出力を In C に入力する。Oscillator C の Mix Level でエフェクトの量をコントロールする。 エフェクトが見えるようになるのは 50%以上から。 control キーを押しながらノブを回して、適切な値を慎重に設定する必要があるかもしれない。
[Voltage-Controlled Spare Trails Effect]
上記のパッチと、クロスフェーダーの Patch Idea [Fader/VCA](後述)を組み合わせることができる。
これで、エフェクトの量をコントロールシグナル、またはビデオシグナルで変更することができる。
[Feedback Mixer]
Mixer はマスター出力シグナルを作るために使わなければならない、というルールはない。複雑なフィードバックを作るために、シグナルをミックスするのに使うこともできる。
下図のパッチでは、Mixer を使って、Oscillator A、Oscillator B、Oscillator C のシグナルのどの量を Oscillator C のモジュレーションに使うかをコントロールしている。
Oscillator C に送られるモジュレーションシグナルの量は、それぞれのOscillatorの Mix Level ノブでコントロールする。
K. Scope (Kaleidoscope)
K. Scope ノブは Knobs Panel にあり、回すたびに、入力されるビデオシグナルが回転し、分割数が増える。(上述)。
Patch Panel にはビデオシグナル用の In と Out のポートがある。
Patch Ideas
[Fractals]
- Oscillator の Mod を 40%程度まで上げる。
- K.Scope を 3 分割以上に設定する。
- Transform エフェクトの Scale をデフォルト設定より少し下げる。
- Transform エフェクトの Rotation、Oscillator の Wave Shaper、Color、Mix Levelを好みに合わせて調整する。
[Spare Rotation Effect]
K.Scope を 1 分割未満に設定すると、ビデオシグナルを回転させるのに使える。
Transform サブモジュールがすでに他の用途に使われている場合に、代用として使用可能。
Crossfader
Lumen のクロスフェーダーは、In A と In B の 2 つのシグナルを取り込み、この 2 つのシグナルの加重平均を行い、その結果を Out ポートに送る。中央にある Fade ノブは平均の重みをコントロールする。
- CCW に絞りきると、In A からの出力シグナルだけが Out ポートに送られる。
- センターに合わせると、In A と In B が等しく平均化されて出力される。
- CW に絞りきると、In B からの出力シグナルだけが Out ポートに送られる。
Control In ポートにコントロールシグナルをパッチングすることで、クロスフェーダーを変調することができる。シグナルが Control In にパッチされると、Fade ノブはモジュレーションのアマウントと向きをコントロールする 。
Patch Ideas
[2-Channel Mixer]
- パッチ: 1 つのシグナルを In A に入力
- パッチ: もう 1 つのシグナルを In B に入力
- Fade ノブ: 2 つのシグナルのミックスをコントロール
[Fader / VCA]
クロスフェーダーとして使用するのと似ているが、In B には何もパッチしない。
- パッチ: シグナルを In A に入力
- パッチ: フェード量をコントロールするシグナルを Control In に入力
- Fade ノブ: フェード・モジュレーションの量をコントロール
[Trails / Framebuffer / Freeze Frame]
クロスフェーダーを使って Trails のようなエフェクトを実現することができる。
- パッチ: シグナルを In A に入力
- パッチ: Out ポートからの出力を In B に戻す
- Fade ノブ: ほぼ CW だが、絞りきらずに調節して、効果をコントロール
Control In にパッチングすることで、エフェクトの電圧コントロールが可能になる。
また、Fade ノブを CW に絞りきるとフレームがフリーズするため、Control In に 100% の明るさになる信号(Key モードの Oscillator からの出力など)を接続すると、電圧コントロール可能なフリーズフレームが発生する。
Out と In B の間に Transform エフェクトを挟み込んで、少し回転を加えてみても面白いらしい。
[Rectifier]
受け取った入力シグナルの波形を、その中央付近で効果的にミラーリングすることにより、知覚される周波数(線の数)は 2 倍になるが、信号の振幅(明暗のコントラスト)は小さくなる。
- パッチ: シグナルを In A に入力
- パッチ: 同じシグナルを Control In にも入力
- Fade ノブ: CW に絞りきる
[Waveshaper]
クロスフェーダーを使って、画像のコントラストをわずかに上げる(すでに暗い部分をより暗くする)こともできる。
- パッチ: シグナルを In A に入力
- パッチ: 同じシグナルを Control In にも入力
- Fade ノブ: CCW に絞りきる
Dual LFO
Dual LFO サブモジュールは Frequency ノブと Skew ノブが Knobs Panel にあり(上述)、それ以外のコントロールは Patch Panel で行うことができる。
- Out ポート: LFO はコントロールシグナルを生成する。 つまり、LFO A と LFO B の出力は、たとえば Transform エフェクトにあるような、ビデオ入力ポートやコントロール入力ポートに接続できる。
- Mod In ポート: LFO A と LFO B は周波数変調 (FM) にも対応している。 Mod In ポートにコントロールシグナルを入力すると、LFO の周波数をコントロールシグナルで変調させることができる。
- Mod Amt ノブ: Mod In ポートに入力された周波数モジュレーションのアマウントと向きをコントロールする。 このノブはバイポーラー(左がマイナス、右がプラス)。センターは 0 なので、周波数変調が無効になる。
- Reset ポート: ここに入力された信号が内部スレッショルド(ちょうど半分)より高くなると、LFO の位相がリセットされ、LFO のサイクルがリスタートされる。
- Free/Linked ボタン:
- Free モードでは各 LFO が独立して動作する(デフォルト)。
- Linked モードでは LFO B は LFO A の周波数にロックされる。このモードでは、LFO B の Frequency ノブは、LFO A に対する LFO B の位相をコントロールする。0%と 100%で、LFO B の位相は LFO A と同じになり、50%では LFO A と完全に逆位相になる。Linked モードでも各LFOのSkew、Mod、Reset のコントロールとポートは独立したまま。
Patch Ideas
[Quadrature-ish LFO]
互いに位相がずれつつ関連して動くモジュレーションシグナルを生成する。
- Dual LFO を Linked モードにする。
- LFO B のFrequency を 50%に設定して、2 つのLFOの位相が完全にずれるようにする。
- 例えば、Transform サブモジュールの Offset X In と Offset Y In などに LFO のコントロールシグナルを入力する (効果を確認するには、Offset X ノブとOffset Yノブをデフォルトからずらしておく)。
- LFO A の Frequency を好みに合わせて設定。2 つの LFO の位相のずれを変化させても面白いかも。
[Chaotic Modulation Source]
LFO A と LFO B の両方が周波数変調に対応しているので、互いに変調し合い、ランダム(のよう)に (pseudo-random) ゆっくり動くコントロールシグナルを作ることができる。
- Out A を Mod In B にパッチする。
- Out B を Mod In A にパッチする。
- Mod Amt A ノブと Mod Amt B ノブをセンターからずらす。
これで、周波数とモジュレーションアマウントを好みに調整し、LFO A と LFO B を予測不可能なコントロールシグナルとして使うことができる。
[Logarithmic / Exponential Curves]
Skew ノブで生成できるのは三角波とノコギリ波に限定されるが、LFO の出力を Mod In に戻すと、指数 (exponential) や対数 (logarithmic) のカーブも生成できる。
- Out から Mod In にパッチする。
- Mod Amt ノブを CW に回せば指数カーブ、CCW に回せば対数カーブになる。回せば回すほど、生成されるシグナルはより「曲がった」状態になる。
LFO C
LFO C は Patch Panel からアクセスできる。Frequency ノブのみを備え、出力シグナルはサイン波。(上述)
Patch Ideas
[Auto-Crossfade]
LFO C は、スムーズなクロスフェードを行わせるのに適している。
- 1つのビデオシグナルを Crossfader サブモジュールの In A に入力する。
- 別のビデオシグナルを Crossfader サブモジュールの In B に入力する。
- LFO C のコントロールシグナルを Crossfader サブモジュールの Control In に入力する。
- Fade ノブを CW に絞りきって、2つのソースを 100%フェードさせる。
これで、クロスフェーダーから出力されるビデオシグナルは、永遠に前後にクロスフェードすることになる。
Master Out からのビデオシグナルを Crossfader サブモジュールの In に入力すると、フィードバックを使用することができる。
[Resetting Dual LFO]
LFO C の出力を Dual LFO サブモジュールの Reset A または Reset B に入力することで、ハードエッジを持つモジュレーションシグナルや、LFO C と同期したモジュレーションシグナルを作ることができる。
Using Lumen with an External Display
Patch -> Fullscreen から出力画面を選ぶ。ライブで重宝しそう。
Saving Videos
Lumen には動画を書き出す機能が(現時点では)実装されていないが、Syphon Recorder というアプリケーションを使うことで「録画」と「録音」が可能。
Syphon Recorder の設定画面で好みの設定に変更してから(Lumen の公式チュートリアルでは Frame Rate = 60・Dimensions = 640 x 480 が推奨設定だが、古いバージョンに基づく解説である点に留意が必要)、メイン画面の Source で “Main Output – Lumen” を選択し、“Record” ボタンを押すと録画+録音開始。“Stop Recording” ボタンを押せば録画+録音終了。
動画は録画終了後すぐに Quicktime Player で再生され、ユーザディレクトリの Movies/Syphon Recordings に保存される(どちらも設定画面で変更可能)。
Syphon Recorder の設定画面を見る限りでは、音声も同時に録音できるようだが(録音の音質については確認が必要)、DAW による演奏開始と Syphon Recorder による録画開始を同期できるわけではないので、あとから(Premiere Pro などを用いた)時間的な位置合わせが必要となるケースが発生する(演奏がフェードインからスタートする場合など)。演奏開始と録画開始を同期できる方法があればいいのだが……引き続き調査が必要。
Remote Control From MIDI Controlers / Other Apps
MIDI コントローラや DAW から出力された MIDI メッセージによる、パラメータのリモートコントロールが可能。
MIDI learn も使えるし、画面上で MIDI メッセージの宛先を設定することも可能。
Lumen が受信可能な MIDI メッセージは以下の 3 種類。Output Range の調整やインバーティング(変域を Min > Max にする)も可能。
- Pitch Bend …解像度 16,384 (214) = ノブのコントロール(ボタンのコントロールも可能)
16 チャンネルまで使えば 16 個のパラメータをコントロールできる。 - Control Change (CC) …解像度 128 (27) = ノブのコントロール(ボタンのコントロールも可能)
16 チャンネルまで使えば 16 × 128 (control number 0-127) = 2048 個のパラメータをコントロールできる。
解像度が低いので、変域を狭めることでスムーズなコントロールを得ることができる場合もある。 - Note On/Off (Note to Gate) = ボタンのコントロール(ノブのコントロールも可能)
Pitch Bend または CC を Lumen のボタンにマッピングした場合、コントローラのノブを半分以上ひねった状態に相当するときのみ、アクションがトリガーされる。
Note On/Off (Note to Gate) を Lumen のノブにマッピングした場合、ノブは、コントローラのボタンを押し始めたときと押し終わったときに相当する瞬間に、Output Range の Min と Max の間で回される。
同じコンピュータ上の異なるアプリケーションでの MIDI メッセージのやりとりを可能にするためには、仮想 MIDI バスを使う(Mac OS ならば IAC Bus を有効化する)必要がある。
Ableton Live で MIDI メッセージ出力に対応していないデバイス(LFO とか)から MIDI メッセージを吐き出させるには、MIDI Controls for Ableton Live などの M4L デバイスにマッピングすることで可能。
CV を MIDI メッセージに変換すれば(Ableton Live なら CV Tools を使うとか)、モジュラーシンセサイザー等から出力される CV によるリモートコントロールも可能。
TouchOSC Bridge と組み合わせることで、TouchOSC によるリモートコントロールも可能。