- シーケンスコマンド一覧
- 00-A7
- キーオン
- トラック
- A8-B5
- タイ
- トラック
- B6-C3
- 休符
- トラック
- C4 xx
- 音量設定(Volume)
- トラック
- C5 xx yy
- 音量変化(Volume)
- トラック
- C6 xx
- パン設定
- トラック
- C7 xx yy
- パン変化
- トラック
- C8 xx yy
- ピッチスライド
- トラック
- C9 xx yy zz
- ビブラート設定
- トラック
- CA
- ビブラート解除
- トラック
- CB xx yy zz
- トレモロ設定
- トラック
- CC
- トレモロ解除
- トラック
- CD xx yy
- オートパン設定
- トラック
- CE
- オートパン解除
- トラック
- CF xx
- ノイズクロック設定
- 全体
- D0
- ノイズオン
- トラックノイズクロック
- D1
- ノイズオフ
- トラックノイズクロック
- D2
- ピッチモジュレーションオン
- トラック
- D3
- ピッチモジュレーションオフ
- トラック
- D4
- エコーオン
- トラック
- D5
- エコーオフ
- トラック
- D6 xx
- オクターブ設定
- トラック
- D7
- オクターブ + 1
- トラック
- D8
- オクターブ - 1
- トラック
- D9 xx
- キートランスポーズ値設定
- トラック
- DA xx
- キートランスポーズ値相対設定
- トラック
- DB xx
- ディチューン
- トラック
- DC xx
- 波形選択
- トラック
- DD xx
- Attack Rate 設定
- トラック
- DE xx
- Decay Rate 設定
- トラック
- DF xx
- Sustain Level 設定
- トラック
- E0 xx
- Sustain Rate 設定
- トラック
- E1
- ADSR 初期化
- トラック
- E2 xx
- ループ開始位置
- トラック
- E3
- 繰り返し・ループ終了
- トラック
- E4
- スラー開始
- トラック
- E5
- スラー終了
- トラック
- E6
- レガート開始
- トラック
- E7
- レガート終了
- トラック
- E8 xx
- 音長 (待機時間) 設定
- トラック
- E9 xx
- 効果音再生 1
- EA
- 効果音再生 2
- EB
- 演奏終了
- トラックノイズクロック
- EC-EF, FB-FF
- 演奏終了 2
- F0 xx
- 音楽演奏速度設定
- 音楽トラック
- F1 xx yy
- 音楽演奏速度変化
- 音楽トラック
- F2 xx
- エコーボリューム設定
- 全体
- F3 xx yy
- エコーボリューム変化
- 全体
- F4 xx yy
- エコーフィードバック設定・FIR フィルタ係数テーブル選択
- 全体
- F5 xx
- 音楽音量設定
- 音楽トラック
- F6 xx yy_zz
- 条件ジャンプ
- トラック
- F7 xx_yy
- ジャンプ
- トラック
- FA
- 音楽音量設定 2
- 音楽トラック
シーケンスコマンド
00-A7キーオントラック
D6・D7・D8 コマンドで設定されるオクターブの値、このコマンドに対応した値と D9・DA コマンドのトランスポーズ値、DB・DC コマンドで設定される微調整値でピッチを計算し、キーオンします。
コマンドに対応したティック数だけ待機します。
EB コマンドで演奏終了、または次に処理する 00-C3 コマンドがタイ以外の場合は、コマンドに対応した数値 - 2 ティック後にキーオフします。
DSP Voice の Volume・Pitch 計算フラグがオンになります。
DSP Voice の Source Number・ADSR の値が設定されます。
C8 コマンドをキーオンと同時に使用しない場合は、ピッチ変化量が 0 になります。
音長 | 1 | 2 | 3 | 4. | 4 | 6 | 8. | 8 | 12 | 16 | 24 | 32 | 48 | 64 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
C | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D |
C# | 0E | 0F | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | 1B |
D | 1C | 1D | 1E | 1F | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |
D# | 2A | 2B | 2C | 2D | 2E | 2F | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 |
E | 38 | 39 | 3A | 3B | 3C | 3D | 3E | 3F | 40 | 41 | 42 | 43 | 44 | 45 |
F | 46 | 47 | 48 | 49 | 4A | 4B | 4C | 4D | 4E | 4F | 50 | 51 | 52 | 53 |
F# | 54 | 55 | 56 | 57 | 58 | 59 | 5A | 5B | 5C | 5D | 5E | 5F | 60 | 61 |
G | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 6A | 6B | 6C | 6D | 6E | 6F |
G# | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 7A | 7B | 7C | 7D |
A | 7E | 7F | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 8A | 8B |
A# | 8C | 8D | 8E | 8F | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 |
B | 9A | 9B | 9C | 9D | 9E | 9F | A0 | A1 | A2 | A3 | A4 | A5 | A6 | A7 |
ティック数 | C0 | 60 | 40 | 48 | 30 | 20 | 24 | 18 | 10 | 0C | 08 | 06 | 04 | 03 |
A8-B5タイトラック
コマンドに対応したティック数だけ待機します。
EB コマンドで演奏終了、または次に処理する 00-C3 コマンドがタイ以外の場合は、コマンドに対応した数値 - 2 ティック後にキーオフします。
音長 | 1 | 2 | 3 | 4. | 4 | 6 | 8. | 8 | 12 | 16 | 24 | 32 | 48 | 64 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
タイ | A8 | A9 | AA | AB | AC | AD | AE | AF | B0 | B1 | B2 | B3 | B4 | B5 |
ティック数 | C0 | 60 | 40 | 48 | 30 | 20 | 24 | 18 | 10 | 0C | 08 | 06 | 04 | 03 |
B6-C3休符トラック
コマンドに対応したティック数だけ待機します。
音長 | 1 | 2 | 3 | 4. | 4 | 6 | 8. | 8 | 12 | 16 | 24 | 32 | 48 | 64 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
休符 | B6 | B7 | B8 | B9 | BA | BB | BC | BD | BE | BF | C0 | C1 | C2 | C3 |
ティック数 | C0 | 60 | 40 | 48 | 30 | 20 | 24 | 18 | 10 | 0C | 08 | 06 | 04 | 03 |
C4音量設定(Volume)トラック
C4 xx
xx : 音量 (0x00 〜 0xFF)
トラック音量の値が xx に設定されます。
実行中の C5 コマンドは中断されます。
C5音量変化(Volume)トラック
C5 xx yy
xx : 処理時間 (0x00 〜 0xFF)
yy : 音量 (0x00 〜 0xFF)
トラック音量が現在の値から yy まで X ティックで変化します。
xx | X |
---|---|
0 | 0 |
0 以外 | xx - 1 |
C6パン設定トラック
C6 xx
xx : パン (0x00 〜 0xFF)
パンの値が xx に設定されます。
0x00 (左) - 0x80 (中央・モノラル) - 0xFF (右)
実行中の C7 コマンドは中断されます。
C7パン変化トラック
C7 xx yy
xx : 処理時間 (0x00 〜 0xFF)
yy : パン (0x00 〜 0xFF)
パンが現在の値から yy まで X ティックで変化します。
0x00 (左) - 0x80 (中央・モノラル) - 0xFF (右)
xx | X |
---|---|
0 | 0 |
0 以外 | xx - 1 |
C8ピッチスライドトラック
C8 xx yy
xx : 処理時間 (0x00 〜 0xFF)
yy : 音程変化 (0x80 〜 0x7F)
xx ティックで現在の音程から yy (semitone) 変化します。
計算結果の下位 8 ビットの値 (符号なし) がピッチスライド終了時の音程の値になります。
ピッチスライドが終了する前に更にピッチスライドを実行すると、"2 回目の処理時間" で "現在の音程" から "1 回目の処理を始める直前の (ビブラートでの変化分を除く) 音程の値に 1 回目と 2 回目の音程変化の値を加算した値 (semiton)" まで変化します。
C9ビブラート設定トラック
C9 xx yy zz
xx : ディレイ (0x00 〜 0xFF)
yy : 周期 (0x00 〜 0xFF)
zz : 揺れ方と揺れの大きさ (0x00 〜 0xFF)
キーオンまたはコマンド実行の xx ティック後から、約 4.5 * (yy + 1) (ms) 毎に音程が変化し続けます。
zz の上位 2 ビットで揺れ方を、下位 6 ビットで揺れの大きさを設定します。
時間経過による揺れの大きさの倍率は 4 段階 (約 0.5, 1.0, 1.5, 2.0) ありますが、xx = 0 の場合は最初から約 2.0 倍の値で計算されます。
タイの直前にも実行できますが、ピッチ変化量計算に使用されるカウンタ値が初期化されません。
CA コマンド (または zz に 0 を設定) で解除されます。
処理回数 | zz の上位 2 ビットの値 | |||||
---|---|---|---|---|---|---|
0b11 | 0b01 | 0b?0 | 0b11 | 0b01 | 0b?0 | |
0 | ± 0 | ± 0 | ± 0 | - | - | - |
1 | + p1 | + p1 | - p1 | + p4 | + p4 | - p4 |
2 | - p1 | ± 0 | ± 0 | - p4 | ± 0 | ± 0 |
3 | + p2 | + p2 | - p2 | + p4 | + p4 | - p4 |
4 | - p2 | ± 0 | ± 0 | - p4 | ± 0 | ± 0 |
5 | + p3 | + p3 | - p3 | + p4 | + p4 | - p4 |
6 | - p3 | ± 0 | ± 0 | - p4 | ± 0 | ± 0 |
7 | + p4 | + p4 | - p4 | + p4 | + p4 | - p4 |
8 | - p4 | ± 0 | ± 0 | - p4 | ± 0 | ± 0 |
9 | + p4 | + p4 | - p4 | + p4 | + p4 | - p4 |
10 | - p4 | ± 0 | ± 0 | - p4 | ± 0 | ± 0 |
xx | 0x01 - 0xFF | 0x00 |
CAビブラート解除トラック
CA
ビブラートを解除します。
CBトレモロ設定トラック
D7 xx yy zz
xx : ディレイ (0x00 〜 0xFF)
yy : 周期 (0x00 〜 0xFF)
zz : 揺れ方と揺れの大きさ (0x00 〜 0xFF)
キーオンまたはコマンド実行の xx ティック後から、約 4.5 * (yy + 1) (ms) 毎に音量変化量の値が変化し続けます。
DSP Voice の Volume 計算時に C4・C5 コマンドの音量とこのコマンドの音量の倍率の積を計算します。その計算結果は符号なし 8 ビットに収まる値 (255 を超える場合は 255) になります。
zz の上位 2 ビットで揺れ方を、下位 6 ビットで揺れの大きさを設定します (最大で v2 は約 50% になります) 。
時間経過による揺れの大きさの倍率は 4 段階 (約 0.5, 1.0, 1.5, 2.0) ありますが、xx = 0 の場合は最初から約 2.0 倍の値で計算されます。
タイの直前にも実行できますが、音量倍率変化量計算に使用されるカウンタ値が初期化されません。
CC コマンド (または zz に 0 を設定) で解除されます。
処理回数 | zz の上位 2 ビットの値 | |||||
---|---|---|---|---|---|---|
0b11 | 0b01 | 0b?0 | 0b11 | 0b01 | 0b?0 | |
0 | ± 0 | ± 0 | ± 0 | - | - | - |
1 | + v1 | + v1 | - v1 | + v4 | + v4 | - v4 |
2 | - v1 | ± 0 | ± 0 | - v4 | ± 0 | ± 0 |
3 | + v2 | + v2 | - v2 | + v4 | + v4 | - v4 |
4 | - v2 | ± 0 | ± 0 | - v4 | ± 0 | ± 0 |
5 | + v3 | + v3 | - v3 | + v4 | + v4 | - v4 |
6 | - v3 | ± 0 | ± 0 | - v4 | ± 0 | ± 0 |
7 | + v4 | + v4 | - v4 | + v4 | + v4 | - v4 |
8 | - v4 | ± 0 | ± 0 | - v4 | ± 0 | ± 0 |
9 | + v4 | + v4 | - v4 | + v4 | + v4 | - v4 |
10 | - v4 | ± 0 | ± 0 | - v4 | ± 0 | ± 0 |
xx | 0x01 - 0xFF | 0x00 |
CCトレモロ解除トラック
CC
トレモロを解除します。
CDオートパン設定トラック
CD xx yy
xx : 周期 (0x00 〜 0xFF)
yy : 揺れ方と揺れの大きさ (0x80 〜 0x7F)
初回は約 4.5 * (X / 2) (ms) で 0 → Y 、以降は約 9 * X (ms) 周期で Y → -Y → Y とパン移動量が変化し続けます。
この値は DSP Voice の Volume 計算時に、処理中のパンの値に加算されます。パンの計算結果は符号なし 8 ビットに収まる値 (0 未満は 0 、255 を超える場合は 255) になります。
yy で揺れ方 (Y の符号) と揺れの大きさ (Y の絶対値) を設定します。
CE コマンド (または yy に 0 を設定) で解除されます。
xx | X |
---|---|
0 | 2 |
奇数 | xx + 1 |
偶数 | xx |
yy | Y | 揺れ方 | 揺れの大きさ |
---|---|---|---|
0x80 - 0xFF | -(~yy) | 左 → 右 → 左 | ~yy |
0x00 - 0x7F | yy | 右 → 左 → 右 | yy |
CEオートパン解除トラック
CE
オートパンを解除します。
CFノイズクロック設定全体
CF xx
xx : ノイズクロック (0x00 〜 0x1F)
DSP に設定するノイズクロックの値を設定します (0 〜 32kHz)。
音楽と効果音で異なる値を設定できます。
ノイズを使用した効果音が演奏状態であれば効果音の値、そうでない場合は音楽の値が自動的に DSP に設定されます。
xx の上位 3 ビットは無視されます。
D0ノイズオントラックノイズクロック
D0
DC コマンドで設定した波形データの代わりにノイズを発声するようになります。
ループしない波形が設定されている場合はその長さの時間だけ発声します。
D1ノイズオフトラックノイズクロック
D1
DC コマンドで設定した波形データを使用して発声するようになります。
D2ピッチモジュレーションオントラック
D2
ひとつ前のチャネルの DSP 内部の値 (OUTX) でピッチ変調をかけるようになります。
音楽トラック 1 (Voice 0) には変調がかかりません。
D3ピッチモジュレーションオフトラック
D3
ピッチ変調をかけなくなります。
D4エコーオントラック
D4
エコーがかかるようになります。
D5エコーオフトラック
D5
エコーがかからなくなります。
D6オクターブ設定トラック
D6 xx
xx : オクターブ (0x00 〜 0xFF)
キーオン時のピッチ計算に使用されるオクターブの値が xx に設定されます。
D7オクターブ + 1トラック
D7
キーオン時のピッチ計算に使用されるオクターブの値が、現在の値 + 1 に設定されます。計算結果の下位 8 ビットの値が設定されます。
D8オクターブ - 1トラック
D8
キーオン時のピッチ計算に使用されるオクターブの値が、現在の値 - 1 に設定されます。計算結果の下位 8 ビットの値が設定されます。
D9キートランスポーズ値設定トラック
D9 xx
xx : トランスポーズ値 (0x80 〜 0x7F)
キーオン時のピッチ計算に使用される音程の値を xx (Semitone) 変化させます。
xx = 0 で解除されます。
DAキートランスポーズ値相対設定トラック
DA xx
xx : トランスポーズ値変化 (0x80 〜 0x7F)
トランスポーズ値が、現在の値 + xx に設定されます。計算結果の下位 8 ビットの値が設定されます。
DBディチューントラック
DB xx
xx : ピッチ微調整 (0x80 〜 0x7F)
キーオン時に計算されるピッチの値を微調整することができます。
この値は DC コマンドのピッチ微調整に使用する値の一つに加算され、結果の下位 8 ビットが使用されます。
xx に 0 を設定で解除されます。
このコマンドの値のみがピッチ計算に使用される (DC コマンドの値でピッチ微調整を行わない) 場合、ピッチの値はこのコマンドを利用しない場合の値の約 0.5 〜 1.5 倍になります。
DC波形選択トラック
DC xx
xx : 波形番号 (0x00 〜 0x3F)
波形を選択します。
内部で DSP に設定する ADSR の値と、ピッチ微調整に使用する値二つが設定されます。
DDAttack Rate 設定トラック
DD xx
xx : Attack Rate (0x00 〜 0x0F)
DSP に設定する Attack Rate の値が設定されます。
上位 4 ビットは無視されます。
チャネル使用中のトラックで使用すると、即 DSP Voice ADSR の値が上書きされます。
DEDecay Rate 設定トラック
DE xx
xx : Decay Rate (0x00 〜 0x07)
DSP に設定する Decay Rate の値が設定されます。
上位 5 ビットは無視されます。
チャネル使用中のトラックで使用すると、即 DSP Voice ADSR の値が上書きされます。
DFSustain Level 設定トラック
DF xx
xx : Sustain Level (0x00 〜 0x07)
DSP に設定する Sustain Level の値が設定されます。
上位 5 ビットは無視されます。
チャネル使用中のトラックで使用すると、即 DSP Voice ADSR の値が上書きされます。
E0Sustain Rate 設定トラック
E0 xx
xx : Sustain Rate (0x00 〜 0x1F)
DSP に設定する Sustain Rate の値が設定されます。
上位 3 ビットは無視されます。
チャネル使用中のトラックで使用すると、即 DSP Voice ADSR の値が上書きされます。
E1ADSR 初期化トラック
DD・DE・DF・E0 コマンドで設定された値を DC コマンドで自動的に設定される値に戻します。
チャネル使用中のトラックで使用すると、即 DSP Voice ADSR の値が上書きされます。
E2ループ開始位置トラック
E2 xx
xx : カウントダウンカウンタの初期値 (0x00 〜 0xFF)
このコマンドと E3 コマンドでループ処理を行うことができます。
1 トラックで同時に使用可能なループ処理の最大数は 4 です (5 以上は一番古いデータが上書きされます)。
ループ内の F6 コマンドのチェック回数を 0 に初期化します。
ループ内に F6 コマンドがある場合、カウンタ値を調整する必要があります。
xx | 初期値 | ループ回数 |
---|---|---|
0x00, 0xFF | 0 | 無限 |
0x01 - 0xFE | xx + 1 | 最大で xx + 1 回 |
E3繰り返し・ループ終了トラック
E3
E2 コマンドのカウンタ値が 0 の場合
最内ループ開始位置までジャンプします (無限ループ)。
E4スラー開始トラック
E4
既にキーオンされた状態で次の処理コマンドがキーオンの場合、直前のキーオフ処理とキーオン処理を実行せずピッチ変更のみを実行します。
レガートを解除します。
E5 コマンドで解除します。
E5スラー終了トラック
E5
スラーを解除します。
E6レガート開始トラック
E6
既にキーオンされた状態で次の処理コマンドがキーオンの場合、直前のキーオフ処理を実行しなくなります。
スラーを解除します。
E7 コマンドで解除します。
E7レガート終了トラック
E7
レガートを解除します。
E8音長 (待機時間) 設定トラック
E8 xx
xx : 音長(待機時間) (0x00 〜 0xFF)
xx が 0x00 以外の値の場合、次に実行するキーオン・タイ・休符コマンドの(更に次のコマンドを実行するまでの)待機時間が、コマンド対応した値ではなく xx ティックに設定されます。
xx が 2 以下であればキーオフせず、3 以上は通常のキーオン・タイ・休符コマンドと同じ設定になります。
EB演奏終了トラック
EB
演奏を終了します。
スラー・レガート・ノイズ・ピッチモジュレーション・エコーが無効になります。
すべての効果音が無演奏状態になった場合、DSP のノイズクロックは音楽の値が設定されます。
EC-EF, FB-FF演奏終了 2トラック
EC, ED, EE, EF, FB, FC, FD, FE, FF
ノイズ・ピッチモジュレーション・エコーが無効になります
他の処理内容は EB コマンドと同じですが、これらのコマンドは次のキーオン・タイ・休符コマンドを探す処理で無視されます。
F0音楽演奏速度設定音楽トラック
F0 xx
xx : 演奏速度 (0x01 〜 0xFF)
演奏速度の値が xx に設定されます。
効果音からは設定できません。
速度が 0 になるとコマンド処理ができなくなります。
実行中の F1 コマンドは中断されます。
bpm = (1000 / 4.5) * (zz / 256) / 48 * 60 (処理が間に合わないことがあるため若干小さな値になります)
F1音楽演奏速度変化音楽トラック
F1 xx yy
xx : 処理時間 (0x01 〜 0xFF)
yy : 演奏速度 (0x00 〜 0xFF)
演奏速度が現在の値から yy まで X ティックで変化します。
効果音からは設定できません。
速度が 0 になるとコマンド処理ができなくなります。
bpm = (1000 / 4.5) * (zz / 256) / 48 * 60 (処理が間に合わないことがあるため若干小さな値になります)
xx | X |
---|---|
0 | 0 |
0 以外 | xx - 1 |
F2エコーボリューム設定全体
F2 xx
xx : エコーボリューム (0x00 〜 0xFE)
DSP に設定するエコーボリュームの値が xx / 2 に設定されます (xx の下位 1 ビットは無効です) 。
効果音からは設定できません。
F3エコーボリューム変化全体
F3 xx yy
xx : 処理時間 (0x00 〜 0xFF)
yy : エコーボリューム (0x00 〜 0xFE)
DSP に設定するエコーボリュームが現在の値から yy / 2 まで X ティックで変化します (yy の下位 1 ビットは無効です) 。
効果音からは設定できません。
xx | X |
---|---|
0 | 0 |
0 以外 | xx - 1 |
F4エコーフィードバック設定・FIR フィルタ係数テーブル選択全体
F4 xx yy
xx : エコーフィードバック (0x80 〜 0x7F)
yy : FIR フィルタ係数テーブル選択 (0x00 〜 0x03)
xx で DSP に設定するエコーフィードバックの値を設定します。
yy で DSP に設定する FIR フィルタ係数のテーブルを選択します。
効果音からは設定できません。
yy の上位 6 ビットは無視されます。
yy | エコーフィルタ | |||||||
---|---|---|---|---|---|---|---|---|
C0 | C1 | C2 | C3 | C4 | C5 | C6 | C7 | |
00 | 7F | 00 | 00 | 00 | 00 | 00 | 00 | 00 |
01 | 0C | 21 | 2B | 2B | 13 | FE | F3 | F9 |
02 | 58 | BF | DB | F0 | FE | 07 | 0C | 0C |
03 | 34 | 33 | 00 | d9 | E5 | 01 | FC | EB |
F5音楽音量設定音楽トラック
F5 xx
xx : 音量 (0x00 〜 0xFF)
音楽の音量計算に使用される倍率の値の一つが xx に設定されます。
F6条件ジャンプトラック
F6 xx yy zz
xx : ジャンプするときのチェック回数
zzyy : ジャンプ先
ループ内で F6 コマンドを処理した回数が xx 回の場合、zzyy に APU RAM アドレス 0x0000 の 16 ビットの値を加算した結果の下位 16 ビットのアドレスへジャンプします。
ジャンプする場合 E2 コマンドのカウンタ値が 2 であればループを抜けるので、E3 コマンドは不要です。
効果音は使用できません。
F7ジャンプトラック
F7 xx yy
yyxx : ジャンプ先
yyxx に APU RAM アドレス 0x0000 の 16 ビットの値を加算した結果の下位 16 ビットのアドレスへジャンプします。
FA音楽音量設定 2トラック
FA
チャネルの音量計算に使用される倍率の値の一つが、F5 コマンドの値ではなく "2 の チャネル番号 - 1 乗" に設定されます。
効果音からは設定できません。
DC コマンドで解除されます。