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
OnSong 1.999 — 最後に更新: August 29, 2019