- シーケンスコマンド一覧
- 01–7E
- ステップタイム設定
- チャネル
- 80–BF
- キーオン予約(既定のステップタイム・ゲートタイム・ベロシティ も設定可能)
- トラック
- C0–E1
- コマンド実行(既定のステップタイム・ゲートタイム・ベロシティ も設定可能)
- トラック
- 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
シーケンスコマンド
01–7Eステップタイム設定チャネル
xx
xx : ステップタイム (ティック数) ($01–$7E)
xx で次のコマンドを実行するまでの待ち時間 (ティック数) を設定します。
80–BFキーオン予約トラック
キーオン予約
ds dg dv xx
ds : 既定のステップタイム (ティック数) ($00–$7E, 省略可)
dg : 既定のゲートタイム (ティック数) ($00–$7F, 省略可)
dv : 既定のベロシティ ($00–$7F, 省略可)
xx : ノート番号 | $80 ($80–$9F)
ds を省略した場合は、dg と dv を設定することができません。
dg を省略した場合は、dv を設定することができません。
既定のゲートタイム または 既定のベロシティ を設定してキーオン予約
ds xx dx
ds : 既定のステップタイム (ティック数) ($00–$7E, 省略可)
xx : ノート番号 | $A0 ($A0–$BF)
dx : 既定のゲートタイム ($00–$7F) または 既定のベロシティ | $80 ($80–$FF)
ds で次のコマンドを実行するまでの待ち時間とその規定値 (ティック数) を設定します。値が 0 の場合は、既定の値として設定されません。
dg でキーオフまでの待ち時間とその規定値 (ティック数) を設定します。省略された場合は、待ち時間は既定値が設定されます。0 を設定することでチャネルのシーケンスデータまたは優先度の設定以外の方法ではキーオフしなくなります。
dv でキーオン時の音量の倍率とその規定値 (ティック数) を設定します。省略された場合は、音量の倍率は既定値が設定されます。
xx がノート番号の場合は下位 5 ビットの値に基準のノート番号の値・コマンドのトランスポーズ値を加算した値がノート番号として設定されます。ドラムセットの場合は音色も設定されます。
これらのコマンドはトラックの設定をチャネルにコピーするだけで、実際にはチャネルの DA コマンドでキーオンします。
C0–E1コマンド実行トラック
ds dg dv xx
ds : 既定のステップタイム (ティック数) ($00–$7E, 省略可)
dg : 既定のゲートタイム (ティック数) ($00–$7F, 省略可)
dv : 既定のベロシティ ($00–$7F, 省略可)
xx : コマンド ($C0–$E1)
ds を省略した場合は、dg と dv を設定することができません。
dg を省略した場合は、dv を設定することができません。
ds で次のコマンドを実行するまでの待ち時間とその規定値 (ティック数) を設定します。値が 0 の場合は、既定の値として設定されません。
dg でキーオフまでの待ち時間とその規定値 (ティック数) を設定します。省略された場合は、待ち時間は既定値が設定されます。0 を設定することでチャネルのシーケンスデータまたは優先度の設定以外の方法ではキーオフしなくなります。
dv でキーオン時の音量の倍率とその規定値 (ティック数) を設定します。省略された場合は、音量の倍率は既定値が設定されます。
xx が D4 以外のコマンドである場合は、次のコマンドを実行するまでの待ち時間が 0 になります。
C0音色(セット)設定トラック
C0 xx yy
yyxx 音色(セット)データの先頭アドレス (相対指定)
ドラムセットであるかどうか、チャネル制御用のコード、DSP に設定する波形などの "データを設定するデータ" の先頭アドレスを設定します。
yyxx は 設定用データの先頭アドレスから次のコマンドのアドレスを減じた値を設定します。
ドラムセットではない場合の例
L_音色データ:
00 ;ドラムセットではない
L_チャネル_シーケンスデータ:
DE xx yy ;音色データ設定 (yyxx = L_チャネル_音色データ - L_チャネル_シーケンスデータ_DE03)
L_チャネル_シーケンスデータ_DE03:
...
L_チャネル_音色データ:
?? ?? ?? ?? ;DSP データ : SRCN, ADSR(1), ADSR(2), Gain
?? ?? ?? ;内部データ : ゲートタイム+, C4+, C7+
L_トラック_シーケンスデータ:
...
C0 xx yy ;音色設定 (yyxx = L_音色データ - L_トラック_シーケンスデータ_C003)
L_トラック_シーケンスデータ_C003:
...
ドラムセットの例
L_音色セットデータ:
01 ;ドラムセット
L_音色セットデータ_$00:
xx yy ;相対アドレス (yyxx = L_チャネル_シーケンスデータ_$00 - L_音色セットデータ_$01)
L_音色セットデータ_$01:
xx yy ;相対アドレス (yyxx = L_チャネル_シーケンスデータ_$01 - L_音色セットデータ_)
L_音色セットデータ_:
...
L_チャネル_シーケンスデータ_$00:
DE xx yy ;音色データ設定 (yyxx = L_チャネル_音色データ_$00 - L_チャネル_シーケンスデータ_$00_DE03)
L_チャネル_シーケンスデータ_$00_DE03:
...
L_チャネル_シーケンスデータ_$01:
DE xx yy ;音色データ設定 (yyxx = L_チャネル_音色データ_$01 - L_チャネル_シーケンスデータ_$01_DE03)
L_チャネル_シーケンスデータ_$01_DE03:
...
L_チャネル_音色データ_$00:
?? ?? ?? ?? ;DSP データ : SRCN, ADSR(1), ADSR(2), Gain
?? ?? ?? ;内部データ : ゲートタイム+, C4+, C7+
L_チャネル_音色データ_$01:
?? ?? ?? ?? ;DSP データ : SRCN, ADSR(1), ADSR(2), Gain
?? ?? ?? ;内部データ : ゲートタイム+, C4+, C7+
L_トラック_シーケンスデータ:
...
C0 xx yy ;音色セット設定 (yyxx = L_音色セットデータ - L_トラック_シーケンスデータ_C003)
L_トラック_シーケンスデータ_C003:
...
C1パン設定トラック・チャネル
C1 xx
xx : パン ($00–$20)
パンの値が xx に設定されます。
$00 (左)–$10 (中央・モノラル)–$20 (右)
DSP Voice の Volume (L, R) の計算フラグがオンになります。
チャネルはこのコマンドでキーオン予約時の設定を上書き可能です。
パン | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | 1B | 1C | 1D | 1E | 1F | 20 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
倍率 (左) | 80 | 80 | 7F | 7F | 7E | 7D | 7C | 7A | 78 | 76 | 74 | 71 | 64 | 6B | 68 | 64 | 60 | 5C | 57 | 53 | 4E | 49 | 43 | 3E | 38 | 32 | 2B | 25 | 1E | 17 | 10 | 08 | 00 |
倍率 (右) | 00 | 08 | 10 | 17 | 1E | 25 | 2B | 32 | 38 | 3E | 43 | 49 | 4E | 53 | 57 | 5C | 60 | 64 | 68 | 6B | 64 | 71 | 74 | 76 | 78 | 7A | 7C | 7D | 7E | 7F | 7F | 80 | 80 |
C2音楽音量設定全ての音楽トラック
C2 xx
xx : 音量 ($00–$FF)
音楽の音量計算に使用される倍率の値の一つが xx に設定されます。
C3演奏速度設定全体
C3 xx
xx : 演奏速度 ($00–$FF)
演奏速度の値が xxに 設定されます。
速度が 0 になるとコマンド処理ができなくなります。
bpm = (1000 / 7.5) * (zz / 256) / 48 * 60 (若干小さな値になります)
C4キートランスポーズ値設定トラック
C4 xx
xx : トランスポーズ値 ($80–$7F)
キーオン時のピッチ計算に使用される音程の値を xx (Semitone) 変化させます。
xx = 0 で解除されます。
C5音量設定トラック・チャネル
C5 xx
xx : 音量 ($00–$FF)
音量の値が xx に設定されます。
DSP Voice の Volume (L, R) の計算フラグがオンになります。
トラックの音量が変化した場合は、そのトラックが使用中の全てのチャネルの最大音量が変化します。
C6優先度設定トラック・チャネル
C6 xx
xx : 優先度 ($02–$FF)
キーオン予約時に使用可能なチャネルがない場合の優先度の値が xx に設定されます。値が大きいほど優先度が高くなります。
チャネルはこのコマンドでキーオン予約時の設定を上書き可能です。
トラックの優先度よりも低いチャネル | 詳細 |
---|---|
存在する | 優先度が最低かつ最小番号のチャネルがキーオフされ、そのチャネルでキーオンされる |
存在しない | トラックのキーオン予約コマンドは無視される |
C7ピッチ微調整値設定トラック・チャネル
C7 xx
xx : ピッチ微調整値 ($00–$FF)
キーオン時のピッチ計算に使用される音程の値を xx/256 (Semitone) 変化させます。
xx = 0 で解除されます。
DSP Voice の Pitch の値が再計算されます。
C8エコー オントラック
C8
キーオン予約コマンド実行時にエコーがかかるようになります。
C9エコー オフトラック
C9
キーオン予約コマンド実行時にエコーがかからなくなります。
CAエコーディレイ・エコーボリューム・エコーフィードバック設定 FIR フィルタ係数テーブル選択全体
CA ww xx yy zz
ww : エコーディレイ ($00–$04)
xx : エコーボリュームの倍率 ($80–$7F)
yy : エコーフィードバック ($80–$7F)
zz : FIR フィルタ係数テーブル選択 ($00–$02)
ww で DSP に設定するエコーディレイの値を設定します。
xx で DSP に設定するエコーボリュームの倍率を設定します。
yy で DSP に設定するエコーフィードバックの値を設定します。
zz で DSP に設定する FIR フィルタ係数のテーブルを選択します。
xx | 詳細 |
---|---|
$00–$7F | V × xx >> 8 << 1 |
$80–$FF | ~(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 バイト使用します。
退避領域のサイズは 10 バイトです。
復帰・ループ終了せずにこのコマンドと CE コマンドを使用し続けると、他のデータを破壊する可能性があります。
オフセット | サイズ | 詳細 |
---|---|---|
-2 | 2 | 退避したアドレス |
0 | - | 次に退避するデータの先頭 |
CD復帰トラック・チャネル
CD
退避領域の最後の 2 バイトの領域を解放し、その領域に退避されていた 16 ビットの値のアドレスに復帰します。
オフセット | サイズ | 詳細 |
---|---|---|
0 | 2 | 退避していたアドレス |
CEループ開始位置トラック・チャネル
CE xx
xx : カウントダウンカウンタの初期値 ($00–$FF)
このコマンドと CF コマンドでループ処理を行うことができます。
xx でループ回数を設定します。
このコマンドで退避領域を 3 バイト使用します。
退避領域のサイズは 10 バイトです。
復帰・ループ終了せずにこのコマンドと CC コマンドを使用し続けると、他のデータを破壊する可能性があります。
xx | ループ回数 |
---|---|
$00 | 256 |
$01–$FF | xx |
オフセット | サイズ | 詳細 |
---|---|---|
-3 | 2 | 退避したアドレス |
-1 | 1 | 退避したカウントダウンカウンタの値 |
0 | - | 次に退避するデータの先頭 |
CF繰り返し・ループ終了トラック・チャネル
CF
退避領域の最後の 1 バイトの領域の値を 1 減じます。
結果が 0 以外の場合、結果を退避領域の最後の 1 バイトの領域に退避し、退避領域の最後の 3 バイトの領域のうちの 2 バイト (16 ビット) の値のアドレスに復帰します。
結果が 0 の場合、退避領域の最後の 3 バイトの領域を解放します。
オフセット | サイズ | 詳細 |
---|---|---|
0 | 2 | 退避していたアドレス |
+2 | 1 | $01 |
D0演奏・チャネルコマンド処理終了トラック・チャネル
D0
演奏を終了します。 (トラック)
チャネルコマンド処理を終了します。 (チャネル)
D1基準のノート番号設定トラック
D1 xx
xx : 基準のノート番号 ($00–$FF)
キーオン時のピッチ計算に使用される基準のノート番号の値が 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 : ピッチベンドレンジの倍率 ($00–$FF)
ピッチ計算に使用されるピッチベンドレンジの倍率の値が、xx に設定されます。
xx | ピッチベンドレンジ |
---|---|
$08 | 1 |
$10 | 2 |
$20 | 4 |
$40 | 8 |
$80 | 16 |
D7キートランスポーズ値設定 2チャネル
D7 xx
xx : トランスポーズ値 ($80–$7F)
(キーオン時の) ピッチ計算に使用される音程の値を xx (Semitone) 変化させます。
xx = 0 で解除されます。
DSP Voice の Pitch の値が再計算されます。
トラックで使用し値を更新しても、トラックが使用しているチャネルのトランスポーズ値は変化しません。
D8キートランスポーズ値相対設定トラック・チャネル
D8 xx
xx : トランスポーズ値変化 ($80–$7F)
トランスポーズ値が、現在の値 + xx に設定されます。計算結果の下位 8 ビットの値が設定されます。
DSP Voice の Pitch の値が再計算されます。
D9キートランスポーズ値・ピッチ微調整値相対設定トラック・チャネル
D9 xx
xx : ピッチ微調整値変化 ($80–$7F)
キートランスポーズ値を上位バイト値、ピッチ微調整値を下位バイト値とした符号付き 16 ビットの値に、xx を 16 ビットに符号拡張した値が加算されます。計算結果の下位 16 ビットの値の上位 8 ビットがキートランスポーズ値・下位 8 ビットがピッチ微調整値として設定されます。
下位 16 ビットの値が正の場合は、上位バイトの値がキートランスポーズ値、下位バイトの値がピッチ微調整値として設定されます。
下位 16 ビットの値が負の場合は、キートランスポーズ値とピッチ微調整値に 0 が設定されます。
DSP Voice の Pitch の値が再計算されます。
DAキーオンチャネル
DA
キーオンします。
DBキーオフチャネル
DB
キーオフします。
DC音量相対設定トラック・チャネル
DC xx
xx : 音量変化 ($80–$7F)
音量の値が、現在の値 + xx に設定されます。計算結果の下位 8 ビットの値が設定されます。
DSP Voice の Volume (L, R) の計算フラグがオンになります。
トラックの音量が変化した場合は、そのトラックが使用中の全てのチャネルの最大音量が変化します。
DDピッチベンド値設定トラック
DD xx
xx : ピッチベンド値 ($80–$7F)
ピッチベンド値が xx に設定されます。
ピッチ計算に使用される音程の値が ((xx * 64 * ピッチベンドレンジの倍率) SAR 8) / 256 (Semitone) 変化します。
DSP Voice の Pitch の値が再計算されます。
トラックの設定を変更すると、トラックが使用中の全てのチャネルの Pitch が計算されます。
DE音色データ設定チャネル
DE xx yy
yyxx : データの先頭アドレス (相対指定)
チャネル初期化用のデータアドレスを設定します。
yyxx は 設定用データの先頭アドレスから次のコマンドのアドレスを減じた値を設定します。
自動的にキーオフし、DSP にチャネル初期化用のデータが設定されます。
オフセット | 説明 | 詳細 | 補足 |
---|---|---|---|
+0 | Voice : Source number | 音色番号 | $80 以上はノイズ再生 (SN = $00) |
+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 | ゲートタイム延長 | キーオフまでの時間を延長 (ティック数) | 延長時のチャネル優先度 = $01 |
+5 | キートランスポーズ値 | C4 コマンドと同じ効果 | $80 で Pitch 計算が変化 |
+6 | ピッチ微調整値 | C7 コマンドと同じ効果 |
DFキーオフ 2(他のチャネル)チャネル
DF xx
xx : キーオフ・設定する値 ($00–$FF)
xx が 0 の場合、チャネルのデータに 0 を設定して終了します。
xx が 0 以外の場合、同じ値のチャネルをすべてキーオフしデータに 0 を設定、コマンド実行中のチャネルのデータに xx を設定します。
E0ノイズクロック設定全体
E0 xx
xx : ノイズクロック ($00–$1F)
DSP に設定するノイズクロックの値を設定します (0–32kHz)。
上位 3 ビットは無視されません。
E1ノイズクロック相対設定全体
E1 xx
xx : ノイズクロック変化 ($E1–$1F)
DSP のノイズクロックの値が現在の値 + xx に設定されます。計算結果の下位 5 ビットの値が設定されます。