トランスフォーマーオブジェクト

トランスフォーマーオブジェクトは、MIDI イベントのリアルタイムでの選択やフィルタなどの処理に使用します。

メタイベントの処理も可能ですが、トランスフォーマーの設定に影響しないものに限られます。メタイベントには、トランスフォーマーで処理の対象となるもののほかに、トランスフォーマーに変更を加えるものがあります。詳しくは、メタイベントを使って条件/操作の値を制御するを参照してください。

新しいトランスフォーマーオブジェクトを作成するには
  • 「新規」>「トランスフォーマー」と選択します(または「新規トランスフォーマー」キーコマンドを使います)。

Figure. Transformer object and its parameter box.

トランスフォーマーオブジェクトの動作

トランスフォーマーオブジェクトは、送られてくるイベントが特定の条件と一致するかどうかをチェックします。一致すると、所定の操作が実行されます。

条件に一致しないイベントは、出力にそのまま送られるか、破棄されます。

トランスフォーマーでは、一致するイベントを処理する前にコピーを作成でき、選択した(一致する)イベントとそれ以外のものを分けて、一番上のケーブルと 2 番目のケーブルから出力することも可能です。

トランスフォーマーを使用するには、MIDI 信号パスに配置する必要があります。

音源の出力を処理するには
  1. 音源の出力をトランスフォーマーにケーブル接続します(音源の内部ポートの割り当ては削除します)。

  2. 「新規」>「インストゥルメント」と選択して新しい音源を作成し、適切な MIDI アウトプットポートに割り当てます。

  3. トランスフォーマーオブジェクトの出力から新たに作成した音源(これは単に MIDI アウトプットポートとして機能するものとなる)にケーブル接続します。

Figure. Instrument-transformer-instrument chain.

トランスフォーマーオブジェクトを設定する

トランスフォーマーアイコンをダブルクリックすると「トランスフォーマー」ウインドウが開き、条件と操作を設定することができます。

Figure. Transformer window.

操作モードを設定する

「トランスフォーマー」ウインドウ上部のポップアップメニューで、トランスフォーマーによる MIDI データの処理方法を定義します。以下に挙げる操作モードから選択が可能です。

操作を実行して不一致のイベントを通過させる

条件に一致する MIDI イベントが処理されます。一致しない MIDI イベントは通過します。

操作を実行して不一致のイベントをフィルタリング

条件に一致する MIDI イベントが処理されます。一致しない MIDI イベントは通過できません。

一致したイベントをフィルタリング

条件に一致する MIDI イベントがすべてフィルタで除外されます。一致しない MIDI イベントは通過します。

一致したイベントをコピーして操作を実行

条件に一致する MIDI イベントがすべてコピーされ、コピーの方に処理が加えられます。オリジナルのイベントと処理されたコピー(および条件に一致しない MIDI イベント)は通過します。処理されたコピーの前に、未変更のオリジナルの方が解析(処理)されます。

一致したイベントをコピーして操作を実行(逆順)

上記のオプションと同じですが、オリジナルは処理済みのコピーの後で解析されます。これは、ノートイベントをパンコントローラに変換する場合などに使用することができます。この場合、パンメッセージがノートよりも先に送信されます。(多くのシンセサイザーでは、再生中のノートのパン位置を変更できません。)

条件スプリッタ(true → 1 番上のケーブル)

条件に一致するイベントに処理が加えられ、トランスフォーマーの最上位の出力に送られます。一致しないイベントは、未処理のままトランスフォーマーの 2 番目の出力に送られます。それ以外の出力は表示されないので使用しません。

交互にスプリット

トランスフォーマーを通過するイベントが上位 2 つの出力に交互に送られます。条件や操作は適用されません。

SysEx マッパー(データバイト 1 →位置、データバイト 2 →値)

このトランスフォーマーモードは、SysEx メッセージの作成と編集に使用します。「トランスフォーマー」ウインドウでの操作が、値フィールドで指定したものに置き換えられます。このフィールドには、SysEX メッセージの構成(長さ、チェックサムの有無、リアルタイムでは変更しないバイト値など)を入力することができます。

Figure. SysEx mapper in the Transformer window.

「条件」領域では、SysEx メッセージのデータバイトに作用する MIDI イベントのタイプを選択します。(一般的に MIDI コントローライベントを使用します。)受信した MIDI イベントは、SysEx メッセージのデータバイトを変更します。その際、以下の規則が適用されます:

  • データバイト 1 は、データバイトの位置を設定します。

  • データバイト 2 は、データバイトの値を設定します。

  • チャンネルによって、行われる処理が決まります:

    • チャンネル 1: 変更された SysEx メッセージが送られます。
    • チャンネル 2: 変更された SysEx メッセージは送られません。
    • チャンネル 3: 未変更の SysEx メッセージが送られます。
    • チャンネル 4 〜 16: 使用されません(将来の用途に予約)。

「一致しないものをフィルタリング」チェックボックスを選択すると、受信した MIDI イベント(SysEx メッセージを制御しない)が通過しないよう指定できます。通常は、この機能を有効にして、コントローラのデータが SysEx のデータストリームに介入しないようにします。

トラック・オートメーション・スプリッタ(true → 1 番上のケーブル)

条件が一致する場合、入力イベントは、操作フィールドを通過した後で、トランスフォーマーの最上位のケーブルに接続されたオブジェクトのトラックオートメーションに送られます。受信した MIDI データは、該当する操作フィールドの設定によってフェーダー・イベント・データへとトランスフォームされ、接続されているミキサーオブジェクトのパラメータにオートメーションを適用できるようになります。例外:チャンネルの音量とパンでは、コントロールイベントが使用されます。

条件および操作を定義する

条件と操作は、「トランスフォーム」ウインドウと同じものが使用されます。詳しくは、トランスフォームウインドウで MIDI イベントを編集するを参照してください。唯一の違いとして、トランスフォーマーオブジェクトはリアルタイムで機能することから、位置とノートの長さは意味を持たない点があげられます。

ピッチ・ベンド・イベントを編集する

トランスフォーマーオブジェクトでは、14 ビットのピッチ・ベンド・イベントを処理できます。このイベントには、2 つの別個のデータバイトが含まれます。(「-1-」による加算/スケーリングにより)バイト 1 に加えられた変更は、バイト 2 にも影響します。

データバイト 2 の操作を「スルー」に設定して、14 ビットのピッチ・ベンド・データが正しく処理されるようにしてください。

メタイベントを使って条件/操作の値を制御する

トランスフォーマーの条件や操作の値は、メタイベントを使用して制御することができます。メタイベントは「Logic Pro」の内部メッセージで、MIDI コントローライベントに似た形式を持ちます。ただし、MIDI 定義は持たず、「Logic Pro」の外部に送られることはなく、「Logic Pro」の内部パラメータを制御します。

MIDI コントローライベントと同じように、メタイベントには 2 つのデータ値があります:1 つはメタイベントのタイプを示し(49 〜 127 の範囲、一部は使用されない)、もう 1 つはイベントの値(0 〜 127)です。

メタイベント 122 〜 127 は、トランスフォーマーパラメータを制御します。

  • メタイベント#127 は、最初(最上位)の操作の値を設定します。

  • メタイベント#126 は、2 番目(最下位)の操作が有効である場合、その値を設定します。

  • メタイベント#125 は、最初(最上位)の条件値を設定します。

  • メタイベント#124 は、2 番目(最下位)の条件が有効である場合、その値を設定します。

メモ: トランスフォーマーは、上記以外のメタイベントならば処理できます。

使用される数値条件および数値操作のパラメータは(条件が「すべて」でなく、操作が「スルー」に設定されていない場合)、いずれも同じメタイベントで制御されます。状態条件や状態操作は、メタイベントの影響を受けません。

数値パラメータを個々に設定したり、一部に固定値を使用したりするには、複数のトランスフォーマーを直列接続して使用してください。

  • メタイベント#123 は、トランスフォーマーのマップ位置を設定します。

  • メタイベント#122 は、トランスフォーマーのマップ位置を現在のマップ位置に設定します。(最初にメタイベント#123 で位置を設定します。)

メモ: トランスフォーマーのマップセット操作により、これら 2 つのメタイベントを同時に作成できます。操作ステータスをマップセットに設定した場合、「データバイト 1」パラメータがマップ位置を指定し、「データバイト 2」パラメータがその位置のマップ値を指定します。(メタイベント #122 は「データバイト 1」の値と共に送られ、続いてメタイベント #123 が「データバイト 2」の値と一緒に送られます。)

フェーダーオブジェクトを使ってメタイベントを作成したり、トランスフォーマーで MIDI イベントをメタイベントに変換したり、イベントリストから MIDI リージョンにメタイベントを追加したりすることが可能です。フェーダーを使用する際に出力定義をメタに設定し、「データバイト 1」の値をメタイベント番号に設定します。

フェーダーは、入力定義を変更することによってリモート制御できます。これにより、フェーダー(および別のトランスフォーマー)を使って MIDI イベントをメタイベントに変換し、トランスフォーマーをリモート制御することが可能になります。