- 制御コード
- 00-BF
- 既定のステップタイム・既定のゲートタイム・既定のベロシティ・キー設定 など (トラック)
- 01-7E
- ステップタイム設定 (チャネル)
- C0 xx_yy
- 波形選択 など
- C1 xx
- パン設定
- C2 xx
- 音量設定 (音楽)
- C3 xx
- 演奏速度
- C4 xx
- キートランスポーズ値設定
- C5 xx
- 音量設定
- C6 xx
- 優先度設定
- C7 xx
- ピッチ微調整値設定
- C8
- エコーオン
- C9
- エコーオフ
- CA ww xx yy zz
- エコーディレイ・エコーボリューム・エコーフィードバック設定 FIR フィルタ係数テーブル選択
- CB xx_yy
- 相対ジャンプ
- CC xx_yy
- 相対ジャンプ (復帰アドレス退避)
- CD
- 復帰
- CE xx
- ループ開始位置
- CF
- 繰り返し・ループ終了
- D0
- 演奏・チャネルコマンド処理終了
- D1 xx
- 基準のノート番号設定
- D2
- オクターブ + 1
- D3
- オクターブ - 1
- D4
- ステップタイム設定 (休符)
- D5 xx
- 内部フラグリセットとセット
- D6 xx
- ピッチベンドレンジ設定
- D7 xx
- キートランスポーズ値設定2
- D8 xx
- キートランスポーズ値相対設定
- D9 xx
- キートランスポーズ値・ピッチ微調整値相対設定
- DA
- キーオン
- DB
- キーオフ
- DC xx
- 音量相対設定
- DD xx
- ピッチベンド値設定
- DE xx_yy
- 波形選択
- DF xx
- キーオフ2
- E0 xx
- ノイズクロック設定
- E1 xx
- ノイズクロック相対設定
- E2 xx
- キートランスポーズ値・ピッチ微調整値設定
- E3 xx
- 音量設定2
- E4 xx
- パン設定2
- E5 xx
- ステップタイム設定2
制御コード
00-BF既定のステップタイム・既定のゲートタイム・既定のベロシティ・ノート番号設定 などトラック
x1 x2 x3 x4
x1 : 既定のステップタイム (ティック数) (0x00 〜 0x7E, 省略可)
x2 : 既定のゲートタイム (ティック数) (0x00 〜 0x7F, 省略可)
x3 : 既定のベロシティ (0x00 〜 0x7F, 省略可)
x4 : キー (0x80 〜 0x9F)
x1 x4 x5
x1 : 既定のステップタイム (ティック数) (0x00 〜 0x7E, 省略可)
x4 : キー (0xA0 〜 0xBF)
x5 : 既定のゲートタイム または 既定のベロシティ | 0x80 (0x00 〜 0xFF)
x1 x2 x3 xx
x1 : 既定のステップタイム (ティック数) (0x00 〜 0x7E, 省略可)
x2 : 既定のゲートタイム (ティック数) (0x00 〜 0x7F, 省略可)
x3 : 既定のベロシティ (0x00 〜 0x7F, 省略可)
xx : コマンド (0xC0 〜 0xE5)
x1 で次のコマンドを実行するまでの待ち時間とその規定値 (ティック数) を設定します。値が 0x00 の場合は、既定の値として設定されません。省略された場合は、待ち時間は既定値が設定されます。
x2 でキーオフまでの待ち時間とその規定値 (ティック数) を設定します。省略された場合は、待ち時間は既定値が設定されます。0x00 を設定することでキーオフしなくなります (タイ)。
x3 でキーオオン時の音量の倍率とその規定値 (ティック数) を設定します。省略された場合は、音量の倍率は既定値が設定されます。
x4 の下位 5 ビットの値に基準のノート番号の値を加算した値がノート番号として設定されます (ドラムセットではない場合)。
x4 の下位 5 ビットの値で波形の種類を設定します (ドラムセットの場合)。
01-7Eステップタイム設定チャネル
xx
xx : ステップタイム (ティック数) (0x01 〜 0x7E)
xx で次のコマンドを実行するまでの待ち時間 (ティック数) を設定します。
C0波形選択などトラック
C0 xx yy
yyxx 設定用データの先頭アドレス (相対指定)
ドラムセットであるかどうか、チャネル制御用のコード、DSP に設定する波形などの "データを設定するデータ" の先頭アドレスを設定します。
yyxx は 設定用データの先頭アドレスから次のコマンドのアドレスを減じた値を設定します。
L_波形データ: 00 ;ドラムセットではない DE xx yy ;DSP の 波形 や ADSR などのデータ (yyxx = L_チャネルデータ - L_波形データ_0) L_波形データ_0: ... L_チャネルデータ: ?? ?? ?? ?? ;DSP データ : SRCN, ADSR(1), ADSR(2), Gain ?? ?? ?? ;内部データ : C4+, C7+, ゲートタイム+ L_トラックデータ: ... C0 xx yy ;波形選択など (yyxx = L_波形データ - L_トラックデータ_0) L_トラックデータ_0: ...
L_波形データ: 01 ;ドラムセット xx yy ;相対アドレス (yyxx = L_波形データ80 - L_波形データ_o81) L_波形データ_o81: xx yy ;相対アドレス (yyxx = L_波形データ81 - L_波形データ_) L_波形データ_: ... L_波形データ80: DE xx yy ;DSP の 波形 や ADSR などのデータ (yyxx = L_チャネルデータ80 - L_波形データ80_0) L_波形データ80_0: ... L_波形データ81: DE xx yy ;DSP の 波形 や ADSR などのデータ (yyxx = L_チャネルデータ81 - L_波形データ81_0) L_波形データ81_0: ... L_チャネルデータ80: ?? ?? ?? ?? ;DSP データ : SRCN, ADSR(1), ADSR(2), Gain ?? ?? ?? ;内部データ : C4+, C7+, ゲートタイム+ L_チャネルデータ81: ?? ?? ?? ?? ;DSP データ : SRCN, ADSR(1), ADSR(2), Gain ?? ?? ?? ;内部データ : C4+, C7+, ゲートタイム+ L_トラックデータ: ... C0 xx yy ;波形選択など (yyxx = L_波形データ - L_トラックデータ_0) L_トラックデータ_0: ...
C1パン設定トラック・チャネル
C1 xx
xx : パン (0x00 〜 0x20)
パンの値が xx に設定されます。
0x00 (左) - 0x10 (中央・モノラル) - 0x20 (右)
C2音量設定 (音楽)全体 (音楽)
C2 xx
xx : 音量 (0x00 〜 0xFF)
音楽の音量計算に使用される倍率の値の一つが xx に設定されます。
C3演奏速度設定全体
C3 xx
xx : 演奏速度 (0x00 〜 0xFF)
演奏速度の値が xxに 設定されます。
C4キートランスポーズ値設定トラック
C4 xx
xx : トランスポーズ値 (0x80 〜 0x7F)
キーオン時のピッチ計算に使用される音程の値を xx (Semitone) 変化させます。
xx = 0 で解除されます。
C5音量設定トラック・チャネル
C5 xx
xx : 音量 (0x00 〜 0xFF)
音量の値が xx に設定されます。
DSP Voice の Volume (L, R) の値が再計算されます。
C6優先度設定トラック・チャネル
C6 xx
xx : 優先度 (0x02 〜 0xFF)
キーオン時に空きチャネルがない場合の優先度の値が xx に設定されます。値が大きいほど優先度が高くなります。
トラックの優先度よりも低いチャネル | 詳細 |
---|---|
存在する | 優先度が最低かつ最小番号のチャネルがキーオフされ、そのチャネルでキーオンされる |
存在しない | トラックのキーオンコマンドは無視される |
C7ピッチ微調整値設定トラック
C7 xx
xx : ピッチ微調整値 (0x00 〜 0xFF)
キーオン時のピッチ計算に使用される音程の値を xx/256 (Semitone) 変化させます。
xx = 0 で解除されます。
C8エコーオントラック
C8
エコーがかかるようになります。
C9エコーオフトラック
C9
エコーがかからなくなります。
CAエコーディレイ・エコーボリューム・エコーフィードバック設定 FIR フィルタ係数テーブル選択全体
CA ww xx yy zz
ww : エコーディレイ (0x00 〜 0x04)
xx : エコーボリュームの倍率 (0x80 〜 0x7F)
yy : エコーフィードバック (0x80 〜 0x7F)
zz : FIR フィルタ係数テーブル選択 (0x00 〜 0x02)
ww で DSP に設定するエコーディレイの値を設定します。
xx で DSP に設定するエコーボリュームの倍率を設定します。
yy で DSP に設定するエコーフィードバックの値を設定します。
zz で DSP に設定する FIR フィルタ係数のテーブルを選択します。
xx | 詳細 |
---|---|
0x00 - 0x7F | V × xx >> 8 << 1 |
0x80 - 0xFF | ~(V × (~xx + 1) >> 8 << 1) + 1 |
zz | エコーフィルタ | |||||||
---|---|---|---|---|---|---|---|---|
C0 | C1 | C2 | C3 | C4 | C5 | C6 | C7 | |
00 | 7F | 00 | 00 | 00 | 00 | 00 | 00 | 00 |
01 | 58 | BF | DB | F0 | FE | 07 | 0C | 0C |
02 | 0C | 21 | 2B | 2B | 13 | FE | F3 | F9 |
CB相対ジャンプトラック・チャネル
CB xx yy
yyxx : ジャンプ先 (相対指定)
次のコマンドのアドレスに yyxx を加算した結果の下位 16 ビットのアドレスへジャンプします。
CC相対ジャンプ (復帰アドレス退避)トラック・チャネル
CC xx yy
yyxx : ジャンプ先 (相対指定)
次のコマンドのアドレスを退避し、その値に yyxx を加算した結果の下位 16 ビットのアドレスへジャンプします。
このコマンドで退避領域を 2 バイト使用します。
復帰・ループ終了せずにこのコマンドと CE コマンドを使用し続けると、他のデータを破壊する可能性があります。
オフセット | サイズ | 詳細 |
---|---|---|
-2 | 2 | 退避したアドレス |
0 | - | 次に退避するデータの先頭 |
CD復帰トラック・チャネル
CD
退避領域の最後の 2 バイトの領域を解放し、その領域に退避されていた 16 ビットの値のアドレスに復帰します。
オフセット | サイズ | 詳細 |
---|---|---|
0 | 2 | 退避していたアドレス |
CEループ開始位置トラック・チャネル
CE xx
xx : カウントダウンカウンタの初期値 (0x00 〜 0xFF)
このコマンドと CF コマンドでループ処理を行うことができます。
xx でループ回数を設定します。
このコマンドで退避領域を 3 バイト使用します。
復帰・ループ終了せずにこのコマンドと CC コマンドを使用し続けると、他のデータを破壊する可能性があります。
xx | ループ回数 |
---|---|
0x00 | 256 |
0x01 - 0xFF | xx |
オフセット | サイズ | 詳細 |
---|---|---|
-3 | 2 | 退避したアドレス |
-1 | 1 | 退避したカウントダウンカウンタの値 |
0 | - | 次に退避するデータの先頭 |
CF繰り返し・ループ終了チャネル
CF
退避領域の最後の 1 バイトの領域の値を 1 減じます。
結果が 0 以外の場合、結果を退避領域の最後の 1 バイトの領域に退避し、退避領域の最後の 3 バイトの領域のうちの 2 バイト (16 ビット) の値のアドレスに復帰します。
結果が 0 の場合、退避領域の最後の 3 バイトの領域を解放します。
オフセット | サイズ | 詳細 |
---|---|---|
0 | 2 | 退避していたアドレス |
+2 | 1 | 0x01 |
D0演奏・チャネルコマンド処理終了トラック・チャネル
D0
演奏を終了します。 (トラック)
チャネルコマンド処理を終了します。 (チャネル)
D1基準のノート番号設定トラック
D1 xx
xx : 基準のノート番号 (0x00 〜 0xFF)
キーオン時のピッチ計算に使用される基準のノート番号の値が xx に設定されます。
D2オクターブ + 1トラック
D2
キーオン時のピッチ計算に使用される基準のノート番号の値が、現在の値 + 12 に設定されます。計算結果の下位 8 ビットの値が設定されます。
D3オクターブ - 1トラック
D3
キーオン時のピッチ計算に使用される基準のノート番号の値が、現在の値 - 12 に設定されます。計算結果の下位 8 ビットの値が設定されます。
D4ステップタイム設定 (休符)トラック
D4
次のコマンドを実行するまでの待ち時間が、既定の音長 (ティック数) に設定されます。
D5内部フラグリセットとセットトラック・チャネル
D5 xx
xx : フラグ
内部フラグに、現在の値のビット 2 をクリアした値と xx の論理和の結果が設定されます。
チャネルデータ初期化時にはトラックの演奏速度フラグのみ引き継がれます。
ビット | フラグ | クリア | セット | 備考 |
---|---|---|---|---|
0 | ドラムセット | ドラムセットではない | ドラムセット | C0 コマンド |
2 | 演奏速度 (コマンド処理) | 演奏速度の値 | 最高速度 | 効果音 ? |
3 | エコー | オフ | オン | C8・C9 コマンド |
4 | チャネルミュート | オフ | オン |
D6ピッチベンドレンジ設定トラック
D6 xx
xx : ピッチベンドレンジの倍率 (0x00 〜 0xFF)
ピッチ計算に使用されるピッチベンドレンジの倍率の値が、xx に設定されます。
xx | ピッチベンドレンジ |
---|---|
0x08 | 1 |
0x10 | 2 |
0x20 | 4 |
0x40 | 8 |
0x80 | 16 |
D7キートランスポーズ値設定2チャネル ?
D7 xx
xx : トランスポーズ値 (0x80 〜 0x7F)
(キーオン時の) ピッチ計算に使用される音程の値を xx (Semitone) 変化させます。
xx = 0 で解除されます。
DSP Voice の Pitch の値が再計算されます。
D8キートランスポーズ値相対設定トラック・チャネル
D8 xx
xx : トランスポーズ値変化 (0x80 〜 0x7F)
トランスポーズ値が、現在の値 + xx に設定されます。計算結果の下位 8 ビットの値が設定されます。
DSP Voice の Pitch の値が再計算されます。
D9キートランスポーズ値・ピッチ微調整値相対設定トラック・チャネル
D9 xx
xx : ピッチ微調整値変化 (0x80 〜 0x7F)
キートランスポーズ値を上位バイト値、ピッチ微調整値を下位バイト値とした符号付き 16 ビットの値に、xx を 16 ビットに符号拡張した値が加算されます。計算結果の下位 16 ビットの値が使用されます。
下位 16 ビットの値が正の場合は、上位バイトの値がキートランスポーズ値、下位バイトの値がピッチ微調整値として設定されます。
下位 16 ビットの値が負の場合は、キートランスポーズ値とピッチ微調整値に 0 が設定されます。
DSP Voice の Pitch の値が再計算されます。
DAキーオンチャネル
DA
キーオンします。
DBキーオフチャネル
DB
キーオフします。
DC音量相対設定トラック・チャネル
DC xx
xx : 音量変化 (0x80 〜 0x7F)
音量の値が、現在の値 + xx に設定されます。計算結果の下位 8 ビットの値が設定されます。
DSP Voice の Volume (L, R) の値が再計算されます。
DDピッチベンド値設定トラック・チャネル
DD xx
xx : ピッチベンド値 (0x80 〜 0x7F)
ピッチベンド値が xx に設定されます。
ピッチ計算に使用される音程の値が ((xx * 64 * ピッチベンドレンジの倍率) SAR 8) / 256 (Semitone) 変化します。
DSP Voice の Pitch の値が再計算されます。
DE波形選択チャネル
DE xx yy
yyxx : データの先頭アドレス (相対指定)
チャネル初期化用のデータアドレスを設定します。
yyxx は 設定用データの先頭アドレスから次のコマンドのアドレスを減じた値を設定します。
自動的にキーオフし、DSP にチャネル初期化用のデータが設定されます。
オフセット | 説明 | 詳細 | 補足 |
---|---|---|---|
+0 | Voice : Source number | 波形番号 | 0x80 以上はノイズ再生 (SN = 0x00) |
+1 | Voice : ADSR (1) | Attack rate, Decay rate, ADSR/Gain モード選択 | |
+2 | Voice : ADSR (2) | Sustain rate, Sustain level | |
+3 | Voice : Gain | Volume (Direct) / Gain rate, Gain mode (Custom) | |
+4 | ゲートタイム延長 | キーオフまでの時間を延長 (ティック数) | 延長時のチャネル優先度 = 0x01 |
+5 | キートランスポーズ値 | C4 コマンドと同じ効果 | 0x80 で Pitch 計算が変化 |
+6 | ピッチ微調整値 | C7 コマンドと同じ効果 |
DFキーオフ2チャネル
DF xx
xx : キーオフ・設定する値 (0x00 〜 0xFF)
xx が 0x00 の場合、チャネルのデータに 0x00 を設定して終了します。
xx が 0x00 以外の場合、同じ値のチャネルをすべてキーオフしデータに 0x00 を設定、コマンド実行中のチャネルのデータに xx を設定します。
E0ノイズクロック設定全体
E0 xx
xx : ノイズクロック (0x00 〜 0x1F)
DSP に設定するノイズクロックの値を設定します (0 〜 32kHz)。
上位 3 ビットは無視されません。
E1ノイズクロック相対設定全体
E1 xx
xx : ノイズクロック変化 (0xE1 〜 0x1F)
DSP のノイズクロックの値が現在の値 + xx に設定されます。計算結果の下位 5 ビットの値が設定されます。