ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE
ユーザーマニュアル
MIDI構文
OnSongは、MIDIコマンドを表現するためにテキストベースの構文を使用します。Metadata EditorのMIDI Eventsを使用することもできますが、テキストでMIDIコマンドを表現することもできます。
区切り文字による値
何よりもまず、複数のMIDIコマンドは、タブ文字、カンマ、セミコロン、縦棒、または改行を含むさまざまな文字で区切ることができます。カンマが最も一般的な区切り文字です。例えば、以下のようになります:
1.2:0@0, PC1.2:3@0, N67@1, START, SS8
チャネル
各エントリに@記号が含まれる場合があります。この記号の後の数値は、コマンドを送信するチャネルです。MIDIのチャネルはゼロから始まるため、チャネル1はゼロ(0)、チャネル2は1(1)などとなります。
@記号が使用されない場合、コマンドはすべてのチャネルで送受信されます。
プレフィックス
リスト内の各エントリにはプレフィックスが含まれます。このプレフィックスは、送信するMIDIコマンドのタイプを決定します。これらには以下が含まれます:
- PCまたはプレフィックスなしはプログラムチェンジイベントです。
- Nはノートイベントです
- CCはコントロールチェンジイベントです。
- NRPNはノンレジスタパラメータナンバーです。
- SSはソングセレクトイベントです。
- STARTはスタートコマンドです。
- STOPはストップコマンドです。
- CONTINUEはコンティニューコマンドです。
- WAITは、さらにイベントを送信する前に特定の時間待機します。
- F0はSysExメッセージの前に付きます。
- @はMIDIグローバルタグの前に付きます。
値
コマンドの値は@記号の直前、またはサフィックスが指定されていない場合はエントリの最後に表示されます。これは、プレフィックスに基づくプログラムチェンジ、コントロールチェンジ、ノート、またはソングセレクトの値です。SysExエントリの場合、SysExの16進数値はF0プレフィックスの直後に提供され、すべてのSysExコマンドのヘッダーとして使用されます。
サブ値
場合によっては、追加情報がMIDIコマンドにサブ値として伝えられます。たとえば、MSBおよびLSB、ならびにコントロール値の速度がこのように送信できます。これは、値部分にコロンを追加することで表現されます。サブ値は、送信されるMIDIコマンドのタイプに応じてコンテキストが異なります:
- プログラムチェンジは、プログラムチェンジのMSB/LSBに合わせたサブ値を持っています。これらの値はピリオドで区切られ、MSBが左側、LSBが右側にあります。
- コントロールチェンジは、これを使用して設定されたコントロールの値を持っています。数値は0~127の間です。省略された場合、値127が推奨されます。ハイフンで複数の値を区切って、値をステップスルーすることもできます。たとえば、127-0は値127をオンとオフの状態の間でラッチします。
- ノートイベントは、ノートを再生する速度に関連するサブ値を持っています。これは0~127の数値に設定できます。ハイフンで複数のノート速度を区切って、ステップスルーできます。
例
簡単なプログラムチェンジから始めましょう。このシナリオでは、プログラムチェンジ8を使用し、チャネル1でMSB 4とLSB 2も送信します。この例は、このバリエーションの最も複雑な形から始まり、バンクセレクトとチャネルを削除してより広くなります:
PC3.1:7@0, 3.1:7@0, 3:7@0, 3:7, 7@0, 7
コントロールチェンジは同様ですが、構文の左側はコントロールチェンジ番号で、右側は値です(オプション)。値が指定されていない場合は、127が代わりに送信されます。チャネル3でコントロールチェンジ106を値64で送信します。
CC105:63@2, CC105:63. CC105@2, CC105
次に、ノートイベントを見てみましょう。チャネル8でC4を75%のベロシティで再生したい場合、OnSongはMIDI C0を0として開始するため、以下を入力します:
N60:95@7, N60@7, N60:95, N60
同様に、MIDI構文から値を削除すると、MIDIステートメントがより広く、より特定的でなくなることに注意することが重要です。たとえば、ノートイベントの最後のバージョンは、すべてのチャネルで100%のベロシティでC4を送信します。
WAITコマンドを追加することで、MIDIを遅延させることもできます。次の例は、MIDIを2秒および500 ms(0.5秒)遅延させます。秒は1~10秒またはミリ秒で指定できます。
WAIT2, WAIT500
最後に、事前構成されたMIDIイベントのリストである参照できるMIDIグローバルを参照できます。「on」をタグ(引用符なし)として持つMIDIグローバルがある場合、以下を使用してそのグローバルを参照できます:
@on