- シーケンスコマンド一覧
- 00–B3
- キーオン
- トラック
- B4–C2
- 休符
- トラック
- C3–D1
- タイ
- トラック
- D2 xx_yy zz
- 音楽演奏速度 設定・変化
- 全ての音楽トラック
- D3 xx yy zz
- 何もしない
- D4 xx
- エコーボリューム設定
- 全体
- D5 xx yy
- エコーフィードバック設定・FIR フィルタ係数テーブル選択
- 全体
- D6 xx yy zz
- ピッチスライド設定
- トラック
- D7 xx yy zz
- トレモロ設定
- トラック
- D8 xx yy zz
- ビブラート設定
- トラック
- D9 xx yy zz
- オートパン設定
- トラック
- DA xx
- オクターブ設定
- トラック
- DB xx
- 音色選択
- トラック
- DC xx
- Attack 設定(Software)
- トラック
- DD xx
- Sustain 設定(Software)
- トラック
- DE xx
- Release 設定(Software)
- 音楽トラック
- DF xx
- ノイズクロック設定
- 全体
- E0 xx
- ループ開始位置
- トラック
- E1
- オクターブ + 1
- トラック
- E2
- オクターブ - 1
- トラック
- E6
- ピッチスライド解除
- トラック
- E7
- トレモロ解除
- トラック
- E8
- ビブラート解除
- トラック
- E9
- オートパン解除
- トラック
- EA
- エコー オン
- トラック
- EB
- エコー オフ
- トラック
- EC
- ノイズ オン
- トラック
- ED
- ノイズ オフ
- トラック
- EE
- ピッチモジュレーション オン
- トラック
- EF
- ピッチモジュレーション オフ
- トラック
- F0
- 繰り返し・ループ終了
- トラック
- F1
- 演奏終了
- トラック ノイズクロックは全体
- F2 xx_yy zz
- 音量 設定・変化(Volume)
- トラック
- F3 xx_yy zz
- パン 設定・変化
- 音楽トラック
- F4 xx_yy
- ジャンプ
- トラック
- F5 xx yy_zz
- ループ内条件ジャンプ
- トラック
- F6
- ジャンプ 2
- F7–FF
- 演奏終了 2
- トラック ノイズクロックは全体
シーケンスコマンド
00–B3 キーオン トラック
DA・E1・E2 コマンドで設定されるオクターブの値 及び このコマンドに対応した値 並びに DB コマンドで設定される調整値 を用いてピッチを計算し、キーオンします。
コマンドに対応したティック数 (以下 T) 待機します。
T ティック後にキーオン・休符・演奏終了の何れかを処理する 場合は、T - 1 ティック後に自動キーオフ処理を実行します。
DSP チャネルの Volume・Pitch 計算フラグを設定します。
DSP チャネルの Source Number・ADSR(1·2)・DD コマンドの GAIN の値を設定します。
ピッチスライド・トレモロ・ビブラート・オートパン・ソフトウェアエンベロープ (DC・DE) の内部データを初期化します。
DSP チャネルを使用中のトラックではない 場合は、処理の殆どをスキップします。
音長 | 1 | 2. | 2 | 4. | 3 | 4 | 8. | 6 | 8 | 12 | 16 | 24 | 32 | 48 | 64 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
C | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E |
C# | 0F | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | 1B | 1C | 1D |
D | 1E | 1F | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 2A | 2B | 2C |
D# | 2D | 2E | 2F | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 3A | 3B |
E | 3C | 3D | 3E | 3F | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 4A |
F | 4B | 4C | 4D | 4E | 4F | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 |
F# | 5A | 5B | 5C | 5D | 5E | 5F | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 |
G | 69 | 6A | 6B | 6C | 6D | 6E | 6F | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 |
G# | 78 | 79 | 7A | 7B | 7C | 7D | 7E | 7F | 80 | 81 | 82 | 83 | 84 | 85 | 86 |
A | 87 | 88 | 89 | 8A | 8B | 8C | 8D | 8E | 8F | 90 | 91 | 92 | 93 | 94 | 95 |
A# | 96 | 97 | 98 | 99 | 9A | 9B | 9C | 9D | 9E | 9F | A0 | A1 | A2 | A3 | A4 |
B | A5 | A6 | A7 | A8 | A9 | AA | AB | AC | AD | AE | AF | B0 | B1 | B2 | B3 |
ティック数 | C0 | 90 | 60 | 48 | 40 | 30 | 24 | 20 | 18 | 10 | 0C | 08 | 06 | 04 | 03 |
B4–C2 休符 トラック
コマンドに対応したティック数待機します。
音長 | 1 | 2. | 2 | 4. | 3 | 4 | 8. | 6 | 8 | 12 | 16 | 24 | 32 | 48 | 64 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
休符 | B4 | B5 | B6 | B7 | B8 | B9 | BA | BB | BC | BD | BE | BF | C0 | C1 | C2 |
ティック数 | C0 | 90 | 60 | 48 | 40 | 30 | 24 | 20 | 18 | 10 | 0C | 08 | 06 | 04 | 03 |
C3–D1 タイ トラック
コマンドに対応したティック数 (以下 T) 待機します。
T ティック後にキーオン・休符・演奏終了の何れかを処理する 場合は、T - 1 ティック後に自動キーオフ処理を実行します。
音長 | 1 | 2. | 2 | 4. | 3 | 4 | 8. | 6 | 8 | 12 | 16 | 24 | 32 | 48 | 64 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
タイ | C3 | C4 | C5 | C6 | C7 | C8 | C9 | CA | CB | CC | CD | CE | CF | D0 | D1 |
ティック数 | C0 | 90 | 60 | 48 | 40 | 30 | 24 | 20 | 18 | 10 | 0C | 08 | 06 | 04 | 03 |
D2 音楽演奏速度 設定・変化 全ての音楽トラック
D2 xx yy zz
yyxx : 処理時間 ($0000–$FFFF)
zz : 音楽演奏速度 ($01–$FF)
このコマンドで変化中である 場合は、変化処理を中断して実行します。
音楽演奏速度を U8(zz) に設定します。
U8(zz) が 音楽演奏速度の U8(現在値) である 場合は、処理を終了します。
音楽演奏速度が U8(現在値) から U8(zz) まで U16(yyxx) - 1 ティックで変化します。
一回あたりの変化量の絶対値が 1/256 未満である 場合は、0 で変化し続けます。
設定
yyxx : 処理時間 ($0000, $0001)
変化
yyxx : 処理時間 ($0002–$FFFF)
BPM = (1000 ∕ 4.5) × (音楽演奏速度 ∕ 256) ∕ 48 × 60 処理が間に合わないことがあるため、若干小さな値になる可能性があります
演奏速度が 0 になるとコマンド処理ができなくなります。
効果音からは設定できません。
D4 エコーボリューム設定 全体
D4 xx
xx : エコーボリューム ($00–$FE)
DSP に設定するエコーボリュームの値を LSR8(xx, 1) に設定します。
効果音からは設定できません。
D5 エコーフィードバック設定・FIR フィルタ係数テーブル選択 全体
D5 xx yy
xx : エコーフィードバック ($80–$7F)
yy : FIR フィルタ係数テーブル選択 ($00–$03)
DSP に設定するエコーフィードバックの値を S8(xx) に設定します。
DSP に設定する FIR フィルタ係数のテーブルの番号を U5(yy) に設定します。
yy の範囲チェックは省略されています。
U5(yy) | FIR フィルタ係数 | |||||||
---|---|---|---|---|---|---|---|---|
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 |
D6 ピッチスライド設定 トラック
D6 xx yy zz
xx : ディレイ ($00–$FF)
yy : 処理時間 ($01–$FF)
zz : 音程変化 ($80–$7F)
音楽
キーオンから X ティック後に PiS が Y ティックで PITCH(NK + S8(zz)) - PiK 変化します。
効果音
キーオンから X ティック後に PiS が Y ティックで 約 PE 変化します。
Pitch = U16(PiK + PiS + PiV) 周波数倍率は下位 14 ビットが有効です
E6 コマンド 又は zz に 0 を指定 で解除します。
共通
xx yy X Y
- 0 - 無効
any 0 以外 U8(xx + 1) U8(yy) - 1
効果音
zz SZ MZ
0 以上 00 - ⌊(000 + zz) ∕ 12⌋ zz - (00 - ⌊(000 + zz) ∕ 12⌋) × 12
0 未満 11 - ⌊(131 + zz) ∕ 12⌋ zz + (11 - ⌊(132 + zz) ∕ 12⌋) × 12
zz P1 P2 P2H P2L PE
0 以上 LSL16(PiK, SZ) U16(P1 ∕ 12) H8(P2) L8(P2) PiK × 0 + (P1 + L8(P2H × MZ) + U16(P2L × MZ))
0 未満 LSR16(PiK, SZ) PiK - (P1 + L8(P2H × MZ) + U16(P2L × MZ))
D7 トレモロ設定 トラック
D7 xx yy zz
xx : ディレイ ($00–$FF)
yy : 周期 ($00–$FF)
zz : 揺れの大きさ ($00–$FF)
音楽
キーオンから X ティック後に約 9 × Y ㎳ 周期で音量の倍率の一つが 256 → Z → 256 と変化し続けます。
効果音
キーオンから X ティック後に約 6.13 × Y ㎳ 周期で音量の倍率の一つが 256 → Z → 256 と変化し続けます。
トレモロ無効時 又は 倍率の計算結果が 0 である 場合は、この音量の倍率を 256 として処理します。
E7 コマンド 又は yy に 0 若しくは 1 を指定 で解除します。
xx | X |
---|---|
$FF 以外 | U8(xx) |
$FF | 0 |
yy | Y0 | Y |
---|---|---|
$00–$01 | 解除 | - |
$02–$FF | LSR8(yy, 1) | U8(Y0 + 1) |
周期 | Z |
---|---|
1 ∕ 2 | H8(256 × 256 - ⌊U8(zz) × 256 ∕ Y0⌋ × Y) |
D8 ビブラート設定 トラック
D8 xx yy zz
xx : ディレイ ($00–$FF)
yy : 周期 ($00–$FF)
zz : 揺れの大きさ ($00–$FF)
音楽
キーオンから X ティック後と、以降は約 4.5 × Y ㎳ 毎に PiV が変化し続けます。
効果音
キーオンから X ティック後と、以降は約 3.06 × Y ㎳ 毎に PiV が変化し続けます。
Pitch = U16(PiK + PiS + PiV) 周波数倍率は下位 14 ビットが有効です
処理回数が 1 且つ zz が Y0 未満である 場合は PiV が 0 になるため、ピッチは変化しません。
処理回数が 3 以上 13 以下の奇数 且つ Y0 × MIN(⌈処理回数 ∕ 2⌉, 8) が 8 未満である 場合は PiV が 0 になるため、ピッチは変化しません。
E8 コマンド 又は yy に 0 若しくは 1 を指定 で解除します。
xx | X |
---|---|
$FF 以外 | U8(xx) |
$FF | 0 |
yy | Y0 | Y |
---|---|---|
$00–$01 | 解除 | - |
$02–$FF | LSR8(yy, 1) | U8(Y0 + 1) |
zz | Z |
---|---|
any | ⌊U8(zz) × 256 ∕ Y0⌋ |
処理回数 | PiV |
---|---|
0 | ± 0 |
1 | + ⌊P' × ⌊Z |
2 | ± 0 |
3 | + ⌊P' × ⌊Z × ⌊Y0 × 2 ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ |
4 | ± 0 |
5 | + ⌊P' × ⌊Z × ⌊Y0 × 3 ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ |
6 | ± 0 |
7 | + ⌊P' × ⌊Z × ⌊Y0 × 4 ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ |
8 | ± 0 |
9 | + ⌊P' × ⌊Z × ⌊Y0 × 5 ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ |
10 | ± 0 |
11 | + ⌊P' × ⌊Z × ⌊Y0 × 6 ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ |
12 | ± 0 |
13 | + ⌊P' × ⌊Z × ⌊Y0 × 7 ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ |
14 | ± 0 |
15 | + ⌊P' × ⌊Z × ⌊Y0 × 8 ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ |
16 | ± 0 |
17 | + ⌊P' × ⌊Z × ⌊Y0 × 8 ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ |
18 | ± 0 |
D9 オートパン設定 トラック
D9 xx yy zz
xx : ディレイ ($00–$FF)
yy : 周期 ($00, $02–$FF)
zz : 揺れの大きさ ($01–$7E)
音楽
キーオンから X ティック後に初回は約 4.5 × Y0 ㎳ で 0 → ZR 、以降は約 9 × Y1 ㎳ 周期で ZR → ZL → ZR と PaA が変化し続けます。
効果音
キーオンから X ティック後に初回は約 3.06 × Y0 ㎳ で 0 → ZR 、以降は約 6.13 × Y1 ㎳ 周期で ZR → ZL → ZR と PaA が変化し続けます。
パン = U8(PaC + PaA)
E9 コマンド 又は yy に 0 を指定 で解除します。
yy が 1 である 場合は、正しく処理ができません。
xx | X |
---|---|
$FF 以外 | U8(xx) |
$FF | 0 |
yy | Y0 | Y1 |
---|---|---|
0 | 無効 | - |
0 以外 | LSR8(yy, 1) + 1 | U8(yy) + 1 |
yy | Z | ZR | ZL |
---|---|---|---|
1 | - | -1 | 0 |
2 以上 | ⌊U8(zz) × 256 ∕ (Y0 - 1)⌋ | H8(Z × Y0) | H8(- Z × (Y1 - Y0)) |
DA オクターブ設定 トラック
DA xx
xx : オクターブ ($00–$0A)
ノート番号計算に使用するオクターブの値を、U8(xx) に設定します。
DB 音色選択 トラック
DB xx
xx : 音色番号 ($00–$7F)
音色を選択します。
"キーオン時に DSP チャネルに設定する Source Number の値 と ピッチ微調整に使用する値" を "トラックに" 設定します。
xx の範囲チェックは省略されています。
DC Attack 設定(Software) トラック
DC xx
xx : 音量倍率変化テーブル選択 ($00–$1F)
音楽
キーオン時から約 9 ㎳ 毎の音量倍率変化テーブルを選択します。
効果音
キーオン時から約 6.13 ㎳ 毎の音量倍率変化テーブルを選択します。
倍率が 0 である場合は変化を終了し、直前の倍率のまま DSP チャネルの動作フラグを (通常は ADSR モードから) GAIN モードに設定します。
GAIN の値は変化しません。通常はキーオン時の DD コマンドの設定値が使用されます。
xx の範囲チェックは省略されています。
xx に $11–$13・$19–$1D・$1F の何れかを指定した場合は倍率が 0 に設定され、更にキーオン直後に動作フラグを GAIN モードに設定されます。
音量倍率変化テーブル
DD Sustain 設定(Software) トラック
DD xx
xx : Gain rate ($00–$1F)
キーオンから (DC コマンドで設定した) 一定時間経過後の GAIN の値を "トラックに" 設定します。
GAIN の値は「減少モード : 指数」のみ設定可能で、$A0 + U5(xx) が設定されます。
このコマンドの設定値は、キーオン時に DSP チャネルに設定されます。
DE Release 設定(Software) 音楽トラック
DE xx
xx : 待ち時間 ($00–$64)
キーオン後に DSP チャネルの "動作フラグが GAIN モード" 、"GAIN の値が $B1 (減少モード : 指数・$11)" に設定されるまでの待ち時間 (音長の合計に対する割合) を設定します。
効果音は効果がありません。
xx | 設定値 | 内部値 | ディレイ (ティック数) | Release Rate (最大) |
---|---|---|---|---|
$00, $65–$FF | 100% | 0 | 無効 | 0 |
$01–$63 | 約 xx% | ⌊U8(xx) × 256 ∕ 100⌋ | ⌊T × 内部値 ∕ 256⌋ | 約 ⌊256 - 内部値⌋ ∕ 256 |
$64 | 約 39% | 100 |
DF ノイズクロック設定 全体
DF xx
xx : ノイズクロック ($00–$1F)
DSP に設定するノイズクロックの値を設定します (0–32kHz)。
音楽と効果音で異なる値を設定可能で、U5(xx) が設定されます。
音楽の値が更新されます。
効果音のノイズ使用フラグが解除状態である 場合のみ音楽の値を DSP に設定します。
効果音の値が更新され、その値をDSP に設定します。
ノイズクロックを設定した後は、"効果音の演奏終了処理" で "効果音のノイズ使用フラグが解除される" まで DSP のノイズクロックは効果音の値から変化しません。
音楽トラックで設定した場合
効果音トラックで設定した場合
E0 ループ開始位置 トラック
E0 xx
xx : カウントダウンカウンタの初期値 ($00–$FF)
このコマンドと F0 コマンドを用いてループ処理を行います。
最内ループの F5 コマンドのカウンタ値を 0 に初期化します。
ループ内で F5 コマンドを複数回使用する 場合は、初期値を調整する必要があります。
一つのトラックで同時に使用可能なループ処理の最大数は 4 です。5 以上使用すると、以降のトラックのデータなどを破壊します。
xx | 初期値 | ループ回数 |
---|---|---|
$00, $FF | 0 | 無限 |
$01–$FE | U8(xx) + 1 | 最大で U8(xx) + 1 回 |
E1 オクターブ + 1 トラック
E1
ノート番号計算に使用するオクターブの値を、U8(現在値 + 1) に設定します。
E2 オクターブ - 1 トラック
E2
ノート番号計算に使用するオクターブの値を、U8(現在値 - 1) に設定します。
E6 ピッチスライド解除 トラック
E6
ピッチスライドを解除します。
E7 トレモロ解除 トラック
E7
トレモロを解除します。
E8 ビブラート解除 トラック
E8
ビブラートを解除します。
E9 オートパン解除 トラック
E9
オートパンを解除します。
EA エコー オン トラック
EA
エコーがかかるようになります。
DSP のエコーが有効になり、エコーボリュームに D4 コマンドの設定値が設定されます。
EB エコー オフ トラック
EB
エコーがかからなくなります。
全てのトラックがエコーを使用しない状態になると、DSP の エコーが無効になり、エコーボリュームに 0 が設定されます。
EC ノイズ オン トラック ノイズクロックは全体
EC
DB コマンドで設定した波形データの代わりにノイズを発声するようになります。
ループが無効である波形が設定されている 場合は、その長さの時間だけ発声します。
DSP のノイズクロックの値は変化しません。
ED ノイズ オフ トラック ノイズクロックは全体
ED
DB コマンドで設定した波形データを使用して発声するようになります。
DSP のノイズクロックの値は変化しません。
EE ピッチモジュレーション オン トラック
EE
一つ前のチャネルの DSP 内部の値 (OUTX) を用いてピッチ変調をかけるようになります。
音楽トラック 1 は効果がありません。
EF ピッチモジュレーション オフ トラック
EF
ピッチ変調をかけなくなります。
F0 繰り返し・ループ終了 トラック
F0
E0 コマンドのカウンタ値が 0 の場合
最内ループ開始位置までジャンプします (無限ループ)。
E0 コマンドのカウンタ値が 1 以上の場合
カウンタ値を 1 減じます。
カウンタ値が 1 以上である場合は、最内ループ開始位置までジャンプします。カウンタ値が 0 になる場合は、ループを抜けます。
F1 演奏終了トラック ノイズクロックは全体
F1
演奏を終了します。
エコー・ノイズ・ピッチモジュレーションが無効になり、DSP の設定が "同じチャネルを使用する音楽トラックの設定に" 切り替わります。
全ての効果音トラックが演奏終了状態になる 場合は、音楽のノイズクロックの値のビット 0 に 0 を設定します。
全ての効果音トラックのノイズ設定が無効になる 場合は、効果音のノイズ使用フラグが解除され、DSP のノイズクロックに音楽の値を設定します。
効果音
F2 音量 設定・変化(Volume) トラック
F2 xx yy zz
yyxx : 処理時間 ($0000–$FFFF)
zz : 音量 ($00–$FF)
このコマンドで変化中である 場合は、変化処理を中断して実行します。
VC を U8(zz) に設定します。
DSP チャネルの Volume 計算フラグは設定されません。
U8(zz) が U8(VC) と等しい 場合は、処理を終了します。
トラック音量が U8(VC) から U8(zz) まで U16(yyxx) - 1 ティックで変化します。
DSP チャネルの Volume 計算フラグを設定します。
一回あたりの変化量の絶対値が 1/256 未満である 場合は、0 で変化し続けます。
設定
yyxx : 処理時間 ($0000)
変化
yyxx : 処理時間 ($0002–$FFFF)
F3 パン 設定・変化 音楽トラック
F3 xx yy zz
yyxx : 処理時間 ($0000–$FFFF)
zz : パン ($00–$FF)
このコマンドで変化中である 場合は、変化処理を中断して実行します。
PaC を U8(zz) に設定します。
DSP チャネルの Volume 計算フラグは設定されません。
U8(zz) が U8(PaC) と等しい 場合は、処理を終了します。
パンの値が U8(PaC) から U8(zz) まで U16(yyxx) - 1 ティックで変化します。
DSP チャネルの Volume 計算フラグを設定します。
一回あたりの変化量の絶対値が 1/256 未満である 場合は、0 で変化し続けます。
設定
yyxx : 処理時間 ($0000)
変化
yyxx : 処理時間 ($0002–$FFFF)
パン = U8(PaC + PaA)
$00 (左) – $80 (中央・モノラル) – $FF (右)
効果音トラックで使用すると、音楽トラックのデータを破壊します。
F4 ジャンプ トラック
F4 xx yy
yyxx : ジャンプ先 (絶対アドレス)
アドレス U16(yyxx) までジャンプします。
F5 ループ内条件ジャンプ トラック
F5 xx yy zz
xx : 処理回数
zzyy : ジャンプ先 (絶対アドレス)
最内ループ内で F5 コマンドを処理した回数が U8(xx) である 場合は、アドレス U16(zzyy) までジャンプします。
このコマンドはステップタイム計算などで無視されます。
F7–FF 演奏終了 2 トラック ノイズクロックは全体
F7, F8, F9, FA, FB, FC, FD, FE, FF
演奏を終了します。
エコー・ノイズ・ピッチモジュレーションが無効になり、DSP の設定が "同じチャネルを使用する音楽トラックの設定に" 切り替わります。
全ての効果音トラックが演奏終了状態になる 場合は、音楽のノイズクロックの値のビット 0 に 0 を設定します。
全ての効果音トラックのノイズ設定が無効になる 場合は、効果音のノイズ使用フラグを解除し、DSP のノイズクロックに音楽の値を設定します。
効果音
F1 コマンドと違い、これらのコマンドはステップタイム計算などで無視されます。