導入
この記事では、AximmetryをMIDI (MIDIメッセージを受信する)で制御する方法と、Aximmetryを使用してMIDI デバイスを制御する方法(MIDIメッセージを送信する)について説明します。
MIDIハードウェア(コントローラー)
MIDI ハードウェアデバイスは、Aximmetryを実行しているPCに接続する以外の追加の設定手順は不要です。
接続方法は、USB、イーサネット、Wi-Fi、MIDIコネクタなど、任意のタイプが可能です。
MIDIコントローラー
さまざまな種類のボタンを備えた多くのMIDIコントローラーが存在します。
ボタン
ボタンは設定の切り替えに使用できます。
ノブ
一部のノブは、各方向にハードストップ(最小値と最大値)があります。これらのノブは、2つのストップの間(最小値と最大値)で回転可能です。これを「範囲」と呼びます。
一部のノブにはハードストップがなく、任意の方向に任意の角度で回すことができます。このようなノブには範囲がありません。
スライダー
ノブと同様に、スライダーは最小値と最大値の間で範囲を持っています。
MIDIを使用したAximmetryの制御
モジュールプロパティとコントロールボードボタンの制御
一般的なシナリオでは、入力されるMIDIメッセージにはアドレスと単一の浮動小数点数、整数、論理値、または倍精度値のみが含まれます。これらのメッセージは、Aximmetryのプロパティやボタンを制御するために使用できます。
数値プロパティまたは論理プロパティ、またはコントロールボードのボタンの名前を右クリックし、MIDIを割り当てる...を選択します。
コントロールボードのボタンの例:
ピン値の例:
「MIDI コントローラーの割り当て」ウィンドウが表示されます:
次に、コントローラーデバイスから適切なMIDIメッセージを送信します(例:フェーダーを移動またはボタンを押す)と、割り当てが完了します。
コントローラーアクションの種類
Aximmetryでは、異なる設定を制御するためのアクションタイプを提供しています:
Normal
ノブやスライダーを使用して、最小値と最大値の間で値の範囲を制御する場合に使用します。
このタイプでは、範囲の最小値はコントローラーボタンの最小停止位置となり、最大値はコントローラーボタンの最大停止位置となります。
相対
最小値や最大値がなく、デフォルト値のみを持つピンを制御する場合に使用します。
ハードストップのないノブ/スライダーと相性が良いです。
現在の位置がピンのデフォルト値となり、ボタンを調整することで値が増減します。
トグル
コントローラーボタンと組み合わせて最も有用です。ボタンを押すことで、ブール値(no/yes、または 0/1)を切り替えたり、ピンの範囲の最小値または最大値の間で切り替えます。
ノブ/スライダーを使用する場合、いずれの方向に動かしても、上記の値の間で切り替わります。
インクリメント/デクリメント
コントローラーボタンを使用すると、ピン値が増加または減少します。
リセット
コントローラーボタンを使用すると、ピン値がデフォルト値にリセットされます。
リバート
コントローラーボタンを使用すると、ピン値が直前に使用された値に戻ります。
アンアサイン
Pin Valuesパネルで値の名前を右クリックすると、1つまたはすべてのコントローラーを直接アンアサインできます。
NOTE: Unassign 機能のピン値での使用例。コントロールボードの場合も使用方法は同じです。
MIDI アサインメント
コンパウンド内で作成したすべての MIDI アサインメント を確認および管理するには、File / Properties / MIDI Assignments を選択します。
FLOW エディターの制御
FLOW エディターでは、MIDI モジュールを使用して制御構造を構築できます。
すべてのMIDI関連モジュールはInsert Moduleパネルにあります。検索を簡単にするため、「midi」で検索してください:
よく使用される MIDI モジュールピン
Learn 機能
すべてのMIDIメッセージは、3つの要素で構成されます:Device名、Channel番号、およびController番号。
すべてのMIDI 入力モジュールにはLearn 機能があります。この機能を有効にすると、Aximmetryは上記の3つの要素を自動的に指定し、選択したパラメーターに割り当てます。
デバイス
Device ピンはMIDIデバイスの名前を指定します。
チャンネル
Channel ピンはデバイスが使用するチャンネル番号を指定します。
注:MIDIデバイスは16チャンネルを使用し、チャンネル10はドラム用に割り当てられ、タイミングの優先度を保証します。
Config
ConfigピンはAximmetry Performer専用のピンです。
注:Aximmetry Performerは現在利用できません。
Controller
Controllerピンは、チャンネル上のコントローラーの番号を指定します(例:CC 2F、ノートA-1、アフタータッチA0など)。
上記のピンがMIDIトリガーモジュールに表示される例:
Trigger
MIDI Trigger モジュールは、非ゼロ値を含むMIDIメッセージが到着するたびに信号を送信します。
この機能は、Aximmetryでアクションをトリガーしたい場合に非常に便利です。
例:録音を開始する:
Note
MIDIは当初、音楽機器間の通信プロトコルとして設計されたため、音楽ノートを送信できることは驚くべきことではありません。
MIDI Note モジュールで音楽の音を受信できます。
Poly Count
Aximmetryでポリフォニックシンセサイザーを作成できます。これには、MIDI Note ⟶ MIDI Note To Frequency ⟶ Audio Oscillator の論理を複数インスタンス化する必要があります。
Poly Count ピンの値は、シンセサイザーが処理できる音の数を指定します。
モノフォニックシンセサイザーの例:
NOTE: この論理を複製することで、Aximmetryでポリフォニックシンセサイザーを作成できます。
Poly Index
Aximmetryで作成されたポリフォニックシンセサイザーの場合、Poly Indexピン値はシンセサイザー上の音符のシーケンス番号を指定します。これにより、シンセサイザーで同時に複数の音符を再生できます。
4音ポリフォニックシンセサイザーの例:
NOTE: MIDI Note モジュールのGate出力ピンをAudio Oscillator モジュールのActive入力ピンに接続することはオプションです。これにより、MIDIデバイスキーボード/タッチパッドが押された場合にのみ、Audio Oscillatorモジュールから音が出力されます。Gateを参照してください。
この機能を実現するには(例:4音ポリフォニックシンセサイザーで同時に4音を演奏する)、同時に演奏したい音の数に応じて、Poly Countの範囲内でPoly Indexの値を指定する必要があります(例:Poly Countが4の場合、Poly Index 1、2、3、 4 を指定する必要があります。これにより、4つの音を同時に再生できます。これには、上記で示したような4つのモノフォニックシンセサイザーロジックが必要です)。
注意:Poly Indexの最大値は、Poly Countの値を超えてはなりません。そうでないと、シンセサイザーが処理できる音数を超える音を同時に再生することになります。
Note
音を出力します。
ゲート
ゲートは、MIDIデバイスのキーボード/タッチパッドが押されている(押されている状態のデフォルト値は1)か、押されていない(押されていない状態のデフォルト値は0)かを示します。押されている場合、その出力値はVelo Sensパラメーターの設定にも依存します(後述のVelo Sensを参照)。Velo Sensパラメーターの値が0より大きい場合、その依存関係が適用されます。
Velo Sens
Velocity Sensitivityは、MIDIデバイスのキーボード/タッチパッドが押下される速度(ベロシティ)がGateピンの出力に与える影響の度合いを定義します。
Velocity Sensitivityが0に設定されている場合、ベロシティはGateピンの出力信号に影響しません。(その出力値は0または1です。)
Velocity Sensitivity が 0 より大きい場合、ベロシティは Gate ピンの出力信号に影響を与えます。(出力値は 0 または (1 - Velocity Sensitivity) と 1 の間の値になります。実際のベロシティはこの範囲にスケールされます。)
アフタータッチ
アフタータッチは、MIDI デバイスのキーボード/タッチパッドが押された後の圧力について示します。その値は 0 から 1 の範囲です。
MIDIデバイスには2種類のAftertouchがあります:
- Channel Aftertouch:これはMIDIデバイスのすべてのキー/タッチパッドに影響を与える一般的な値です
- Polyphonic Aftertouch:これはMIDIデバイスの単一のキー/タッチパッドに影響を与える特定の値です
Aximmetryは、これらのAftertouch値をキー/タッチパッドごとに単一の入力/出力として処理します。
ノートから周波数
ノートから周波数モジュールは、ノートを周波数に変換します。
例えば、このモジュールを使用してノートを周波数に変換し、その周波数をオーディオフィルターモジュールのカットオフ周波数として使用できます。
ノート範囲
MIDIノート範囲モジュールを使用すると、指定した範囲内の数値にMIDIノートを変換できます。
このモジュールでは、ノート範囲(Min Note, Max Note)と数値範囲(Min Value, Max Value)を指定できます。数値範囲(Min Value to Max Value)は、ノート範囲で指定されたノート数で比例分割されます(Min Note=Min Value, Max Note=Max Value)。各ノートは、MIDIメッセージによってトリガーされると、数値に変換されます (入力信号)によってトリガーされた際に、数値に変換されます。
Min Note
範囲内の最も低いノート。 (C-1 (0)まで指定可能)。その数値はMin Valueに等しい。
Max Note
範囲内の最も高いノート。 (G-9 (127)まで指定可能)。その数値はMax Valueに等しい。
Min Value
数値範囲の最小数値を指定します。
最大値
数値範囲の最大数値を指定します。
初期値
モジュールが出力する初期の数値を指定します。初期値未満の数値を表すノートの場合、初期値が出力されます。
コントローラー
MIDIコントローラーモジュールを使用すると、コントローラーから送信された値を取得できます。
例えば、スライダーを使用すると、ビデオ入力の露出を制御できます:
デフォルトでは、Min とMax values はそれぞれ0と1に設定されています。必要に応じて変更できます。
コントローラーの種類を手動で選択できますが、以前に説明したLearn 機能も使用できます:
Program
指定されたコントローラーデバイスのChannel の最後に使用されたBank とProgram を出力します。
Passthru
このモジュールは、Aximmetry経由で1つのデバイスから別のデバイスにMIDI メッセージを送信できます。
デバイス: Aximmetryにメッセージを送信するコントローラー
出力デバイス: Aximmetryからメッセージを受信するコントローラー
特殊ケース
Aximmetryバージョン2023.3.0以降、デフォルトで任意のMIDIコントローラーをAximmetryの制御に割り当てることができます。ただし、以前のバージョンではこの目的で使用できなかった一部の特殊なMIDIコントローラーがあります。以下のMIDIコントローラーです(各エントリの後半はデフォルトのMIDI機能を説明しています): (the second halves of the entries describe their default MIDI functions):
- CC00 BankSelectMSB
- CC06 DataEntryMSB
- CC20 BankSelectLSB
- CC26 DataEntryLSB
- CC40 DamperPedal
- CC42 Sostenuto
- CC45 Hold2
- CC62 NrpnLSB
- CC63 NrpnMSB
- CC64 RpnLSB
- CC65 RpnMSB
- CC78 AllSoundOff
- CC79 ResetAllControllers
- CC7B AllNotesOff
- CC7C OmniModeOff
- CC7D OmniModeOn
- CC7E MonoMode
- CC7F PolyMode
これらのMIDIコントローラーをAximmetryの機能に割り当てるか、元の機能/意味で使用するか切り替えることができます (この場合、これらのコントローラーをAximmetryの機能に割り当てることはできません)。
これを行うには、Aximmetry ComposerのFile \Properties...に移動し、MIDI Settingsを選択します:
AximmetryからMIDIメッセージを送信する
逆のシナリオでは、AximmetryからMIDI経由で外部デバイスを制御するには、MIDI * Outモジュールを使用します。
必ずターゲットのDeviceとChannelを指定する必要があります。
コントローラー、ノート、またはプログラムとして出力できます。それぞれに対応するモジュールを使用します。
MIDI コントローラー出力
このモジュールは、AximmetryをMIDI コントローラーとして機能させます。
エミュレートするコントローラーの種類、送信する値、信号を送信するデバイスとチャンネルを指定できます。
コントローラー: エミュレートするコントローラーの種類。
MIDI ノート出力
MIDI ノート出力を使用すると、デバイスに音楽的なノートを送信できます。
MIDI プログラム出力
指定したチャンネルのバンクとプログラムを、選択したデバイスに送信します。