ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE
ユーザーマニュアル
MIDI シンタックス
OnSongはMIDIコマンドを表現するためにテキストベースの構文を使用します。メタデータエディターのMIDIイベントを使用することもできますが、テキストでMIDIコマンドを表現することもできます。
区切り値
まず最初に、複数のMIDIコマンドは、タブ文字、コンマ、セミコロン、縦棒、または改行を含むさまざまな文字で区切ることができます。コンマが最も一般的な区切り文字です。例えば:
1.2:0@0, PC1.2:3@0, N67@1, START, SS8
チャンネル
各エントリには@シンボルが含まれる場合があります。シンボルの後の数値は、コマンドを送信するチャンネルです。MIDIではチャンネルがゼロから始まるため、チャンネル1はゼロ(0)、チャンネル2は1(1)となります。
@シンボルが使用されない場合、コマンドはすべてのチャンネルで送受信されます。
プレフィックス
リスト内の各エントリにはプレフィックスが含まれています。このプレフィックスは、送信するMIDIコマンドのタイプを決定します。これらには以下が含まれます:
- PCまたはプレフィックスなしはプログラムチェンジイベントです。
- Nはノートイベントです。
- CCはコントロールチェンジイベントです。
- SSはソングセレクトイベントです。
- STARTはスタートコマンドです。
- STOPはストップコマンドです。
- CONTINUEはコンティニューコマンドです。
- WAITは、より多くのイベントを送信する前に特定の時間待機します。
- F0はSysExメッセージの前に付きます。
- @はMIDIグローバルタグの前に付きます。
値
コマンドの値は@シンボルの直前、または@が指定されない場合はエントリの最後に表示されます。これはプレフィックスに基づいたプログラムチェンジ、コントロールチェンジ、ノート、またはソングセレクトの値です。SysExエントリの場合、SysExの16進値はF0プレフィックスの直後に指定されます。F0はすべてのSysExコマンドのヘッダーとして使用されます。
サブ値
場合によっては、追加情報がMIDIコマンドにサブ値として伝達されます。例えば、MSBおよびLSB、ならびにコントロール値のベロシティがこのように送信されます。これはvalue部分にコロンを追加することで表現されます。サブ値は送信されるMIDIコマンドのタイプに応じて異なるコンテキストを持ちます:
- プログラムチェンジにはプログラムチェンジのMSB/LSBに合わせたサブ値があります。これらの値はピリオドで区切られ、MSBは左、LSBは右に配置されます。
- コントロールチェンジにはこれを使用して設定されたコントロールの値があります。数値は0~127の間です。省略された場合は、127の値が推測されます。複数の値をハイフンで区切ることで、値をステップさせることもできます。例えば、127-0はオン/オフの状態の間で127の値をラッチします。
- ノートイベントには、ノートを演奏するベロシティに関するサブ値があります。これは0~127の数値に設定できます。複数のノートベロシティをハイフンで区切ることで、ステップさせることができます。
例
簡単なプログラムチェンジから始めましょう。このシナリオでは、チャンネル1でMSB4およびLSB2も送信するプログラムチェンジ8を使用します。例は、この最も複雑なバリエーションから始まり、バンクセレクトとチャンネルを削除してより広い範囲になります:
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
次に、ノートイベントを見てみましょう。OnSongはMIDI C0をMIDIノートスケールの0から数えるため、チャンネル8でC4を75%ベロシティで演奏したい場合は、以下を入力します:
N60:95@7, N60@7, N60:95, N60
繰り返しになりますが、MIDI構文から値が削除されるにつれて、MIDIステートメントはより広くなり、特異性が低くなることを覚えておくことが重要です。例えば、ノートイベントの最後のバージョンは、すべてのチャンネルでC4を100%ベロシティで送信します。
WAITコマンドを追加してMIDIを遅延させることもできます。以下は2秒およぐ500ミリ秒(半秒)のMIDIを遅延させます。秒数は1~10秒またはミリ秒で指定できます。
WAIT2, WAIT500
最後に、MIDIグローバルを参照できます。これは参照できる事前に構成されたMIDIイベントのリストです。「on」をタグとして持つMIDIグローバルがある場合(引用符なし)、以下で参照できます:
@on