Gnilda のページ

シーケンスコマンド一覧 — FINAL FANTASY V


  1. ホーム
  2. スーパーファミコンのサウンドドライバ
  3. FINAL FANTASY V
  4. シーケンスコマンド一覧

シーケンスコマンド一覧
00–B3
キーオン
トラック
B4–C2
タイ
トラック
C3–D1
休符
トラック
D2 xx
音量設定(Volume)
トラック
D3 xx yy
音量変化(Volume)
トラック
D4 xx
パン設定
トラック
D5 xx yy
パン変化
トラック
D6 xx yy
ピッチスライド
トラック
D7 xx yy zz
ビブラート設定
トラック
D8
ビブラート解除
トラック
D9 xx yy zz
トレモロ設定
トラック
DA
トレモロ解除
トラック
DB xx yy
オートパン設定
トラック
DC
オートパン解除
トラック
DD xx
ノイズクロック設定
全体
DE
ノイズ オン
トラック ノイズクロックは全体
DF
ノイズ オフ
トラック ノイズクロックは全体
E0
ピッチモジュレーション オン
トラック
E1
ピッチモジュレーション オフ
トラック
E2
エコー オン
トラック
E3
エコー オフ
トラック
E4 xx
オクターブ設定
トラック
E5
オクターブ + 1
トラック
E6
オクターブ - 1
トラック
E7 xx
キートランスポーズ値設定
トラック
E8 xx
キートランスポーズ値相対設定
トラック
E9 xx
ディチューン
トラック
EA xx
音色選択
トラック
EB xx
Attack Rate 設定
トラック
EC xx
Decay Rate 設定
トラック
ED xx
Sustain Level 設定
トラック
EE xx
Sustain Rate 設定
トラック
EF
ADSR 初期化
トラック
F0 xx
ループ開始位置
トラック
F1
繰り返し・ループ終了
トラック
F2
演奏終了
トラック ノイズクロックは全体
F3 xx
音楽演奏速度基本値設定
全ての音楽トラック
F4 xx yy
音楽演奏速度基本値変化
全ての音楽トラック
F5 xx
エコーボリューム設定
全体
F6 xx yy
エコーボリューム変化
全体
F7 xx yy
エコーフィードバック設定・FIR フィルタ係数テーブル選択
全体
F8 xx
音楽音量設定
全ての音楽トラック
F9 xx yy_zz
ループ内条件ジャンプ
音楽トラック
FA xx_yy
ジャンプ
音楽トラック
FB xx_yy
条件ジャンプ
音楽トラック
FC–FF
演奏終了 2
トラック ノイズクロックは全体

シーケンスコマンド

00–B3 キーオン トラック

E4E5E6 コマンドで設定されるオクターブの値、このコマンドに対応した値 及び E7E8 コマンドのトランスポーズ値 並びに E9EA コマンドで設定される調整値を用いてピッチを計算し、キーオンします。

コマンドに対応したティック数 (以下 T) 待機します。

T ティック後にキーオン休符演奏終了の何れかを処理する 場合は、T - 2 ティック後に自動キーオフ処理を実行します。

DSP チャネルの Volume・Pitch 計算フラグを設定します。

DSP チャネルの Source Number・ADSR(1·2) の値が設定されます。

ピッチスライドビブラートトレモロオートパンの内部データを初期化します。

DSP チャネルを使用中のトラックではない 場合は、処理の殆どをスキップします。

キーオン(音長は 10 進数 他は 16 進数)
音長12.234.468.8121624324864
C000102030405060708090A0B0C0D0E
C#0F101112131415161718191A1B1C1D
D1E1F202122232425262728292A2B2C
D#2D2E2F303132333435363738393A3B
E3C3D3E3F404142434445464748494A
F4B4C4D4E4F50515253545556575859
F#5A5B5C5D5E5F606162636465666768
G696A6B6C6D6E6F7071727374757677
G#78797A7B7C7D7E7F80818283848586
A8788898A8B8C8D8E8F909192939495
A#969798999A9B9C9D9E9FA0A1A2A3A4
BA5A6A7A8A9AAABACADAEAFB0B1B2B3
ティック数C09060404830202418100C08060403

B4–C2 タイ トラック

コマンドに対応したティック数 (以下 T) 待機します。

T ティック後にキーオン休符演奏終了の何れかを処理する 場合は、T - 2 ティック後に自動キーオフ処理を実行します。

ピッチスライド処理 の 一回あたりの変化量が未計算である 場合は、内部データを初期化します。

タイ(音長は 10 進数 他は 16 進数)
音長12.234.468.8121624324864
タイB4B5B6B7B8B9BABBBCBDBEBFC0C1C2
ティック数C09060404830202418100C08060403

C3–D1 休符 トラック

コマンドに対応したティック数待機します。

休符(音長は 10 進数 他は 16 進数)
音長12.234.468.8121624324864
休符C3C4C5C6C7C8C9CACBCCCDCECFD0D1
ティック数C09060404830202418100C08060403

D2 音量設定(Volume) トラック

D2 xx
xx : 音量 ($00–$FF)

D3 コマンドで変化中である 場合は、変化処理を中断して実行します。

VCU8(xx) に設定します。

DSP チャネルの Volume 計算フラグを設定しません。

D3 音量変化(Volume) トラック

D3 xx yy
xx : 処理時間 ($00–$FF)
yy : 音量 ($00–$FF)

このコマンドで変化中である 場合は、変化処理を中断して実行します。

U8(yy)U8(VC) と等しい 場合は、処理を終了します。

xx が 0 である 場合は、D2 yy を実行します。

トラック音量の値が U8(VC) から U8(yy) まで X ティックで変化します。

ティック毎の U8(VC)U8(変化前の値) と異なる 場合は、DSP チャネルの Volume 計算フラグを設定します

処理時間
xxX
00
0 以外U8(xx) - 1

D4 パン設定 トラック

D4 xx
xx : パン ($00–$FF)

D5 コマンドで変化中である 場合は、変化処理を中断して実行します。

PaCU8(xx) に設定します。

DSP チャネルの Volume 計算フラグを設定しません。

パン = CLAMP(CLAMP(PaCE8(PaF), 0, 255)PaA, 0, 255)

$00 (左) – $80 (中央・モノラル) – $FF (右)

PaF の値はファンクションで設定・変化します (符号あり 8 ビット エクシス 128)。音楽と効果音で異なる値を設定可能です。

音楽の PaF の通常の初期値は $80 (0) です。

音楽の音量倍率
パンの音量倍率(パンはチャネル音量計算直前の値)
効果音の音量倍率
パンの音量倍率(パンはチャネル音量計算直前の値)

D5 パン変化 トラック

D5 xx yy
xx : 処理時間 ($00–$FF)
yy : パン ($00–$FF)

このコマンドで変化中である 場合は、変化処理を中断して実行します。

U8(yy)U8(PaC) と等しい 場合は、処理を終了します。

xx が 0 である 場合は、D4 yy を実行します。

パンの値が U8(PaC) から U8(yy) まで X ティックで変化します。

ティック毎の U8(PaC)U8(変化前の値) と異なる 場合は、DSP チャネルの Volume 計算フラグを設定します

処理時間
xxX
00
0 以外U8(xx) - 1

D6 ピッチスライド トラック

D6 xx yy
xx : 処理時間 ($00–$FF)
yy : 音程変化 ($80–$FF, $01–$7F)
初回 (キーオンまたはタイで初期化)

NCU8(NKS8(yy)) を設定します。

PiCPiK から PITCH(NC) まで U8(xx) ティックで変化します。

二回目以降 (タイで初期化)

このコマンドで変化中である 場合は、変化処理を中断して実行します。

NCU8(NCS8(yy)) を設定します。

PiC が現在値から PITCH(NC) まで U8(xx) ティックで変化します。

変化処理実行中は DSP チャネルの Pitch 計算フラグを設定します。

一回あたりのピッチ変化量計算は、キーオンまたはタイコマンド処理時に一度だけ実行します。

ピッチ計算

PiBU16(PiCPiV)

E8(PiF) : $80–$FF (約 128/256–255/256 倍)

Pitch = U16((U16(PiB × (256 E8(PiF)) ∕ 256) × 1)PiB)周波数倍率は下位 14 ビットが有効です

E8(PiF) : $00–$7F (約 256/256–510/256 倍)

Pitch = U16((U16(PiB × (256 E8(PiF)) ∕ 256) × 2)PiB)周波数倍率は下位 14 ビットが有効です

PiF の値はファンクションで設定・変化します (符号あり 8 ビット エクシス 128)。

音楽と効果音で異なる値を設定可能です。

PiF の規定値は $80 (0) です。

D7 ビブラート設定 トラック

D7 xx yy zz
xx : ディレイ ($00–$FF)
yy : 周期 ($00–$FF)
zz : 揺れ方と揺れの大きさ ($00–$FF)

キーオンまたはコマンド実行の U8(xx) ティック後から、約 4.5 × U8(yy) + 1 ㎳ 毎に PiV が変化し続けます。

xx 及び zz の上位 2 ビットで揺れ方を、zz の下位 6 ビットで揺れの大きさを設定します。

時間経過による |PiV| の大きさの変化は 4 段階ありますが、xx が 0 である場合は初回から最大値で計算されます。

変化処理実行中に PiV を計算する場合は、DSP チャネルの Pitch 計算フラグを設定します。

D8 コマンド (または zz に 0 を指定) で解除されます。

揺れの大きさとピッチ変化量(P' = U16(PiC × 15 ∕ 256), Z0 = U6(zz), Z1 = Z0 × 2 + 1)
ピッチ変化量大きさの倍率ピッチ変化量の値
p1約 0.5U16(P' × MAX(1, LSR8(Z1, 2) + Z0) ∕ 256)
p2約 1.0U16(P' × MAX(1, LSR8(Z1, 1) + Z0) ∕ 256)
p3約 1.5U16(P' × MAX(1, LSR8(Z1, 1) + Z0) ∕ 256)
p4約 2.0U16(P' × MAX(1, LSR8(Z1, 0) + Z0) ∕ 256)
処理回数とピッチ変化量 PiV
処理回数zz の上位 2 ビットの値
%11%01%?0%11%01%?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$01–$FF$00

ピッチ計算

PiBU16(PiCPiV)

E8(PiF) : $80–$FF (約 128/256–255/256 倍)

Pitch = U16((U16(PiB × (256 E8(PiF)) ∕ 256) × 1)PiB)周波数倍率は下位 14 ビットが有効です

E8(PiF) : $00–$7F (約 256/256–510/256 倍)

Pitch = U16((U16(PiB × (256 E8(PiF)) ∕ 256) × 2)PiB)周波数倍率は下位 14 ビットが有効です

PiF の値はファンクションで設定・変化します (符号あり 8 ビット エクシス 128)。

音楽と効果音で異なる値を設定可能です。

PiF の規定値は $80 (0) です。

D8 ビブラート解除 トラック

D8

ビブラート解除します。

D9 トレモロ設定 トラック

D9 xx yy zz
xx : ディレイ ($00–$FF)
yy : 周期 ($00–$FF)
zz : 揺れ方と揺れの大きさ ($00–$FF)

キーオンまたはコマンド実行の U8(xx) ティック後から、約 4.5 × U8(yy) + 1 ㎳ 毎に VT が変化し続けます。

xx 及び zz の上位 2 ビットで揺れ方を、zz の下位 6 ビットで揺れの大きさを設定します。

時間経過による |VT| の大きさの変化は 4 段階ありますが、xx が 0 である場合は初回から最大値で計算されます。

D2 (D3) 音量 = CLAMP(U16(VC × (256 + VT × 2) / 256), 0, 255)

変化処理実行中に VT を計算する場合は、DSP チャネルの Volume 計算フラグを設定します。

内部データの初期化はキーオン処理でのみ実行します。

DA コマンド (または zz に 0 を指定) で解除されます。

揺れの大きさと音量倍率変化(Z0 = U6(zz), Z1 = Z0 × 2 + 1)
音量倍率変化量大きさの倍率音量倍率変化に関する値
v1約 0.5MAX(1, LSR8(Z1, 2) + Z0)
v2約 1.0MAX(1, LSR8(Z1, 1) + Z0)
v3約 1.5MAX(1, LSR8(Z1, 1) + Z0)
v4約 2.0MAX(1, LSR8(Z1, 0) + Z0)
処理回数と音量倍率変化に関する値 VT
処理回数zz の上位 2 ビットの値
%11%01%?0%11%01%?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$01–$FF$00

DA トレモロ解除 トラック

DA

トレモロ解除します。

DB オートパン設定 トラック

DB xx yy
xx : 周期 ($00–$FF)
yy : 揺れ方と揺れの大きさ ($80–$7F)

初回は約 4.5 × (X ∕ 2) ㎳ で 0 → Y 、以降は約 9 × X ㎳ 周期で Y → −Y → Y と PaA が変化し続けます。

yy で揺れ方 (Y の符号) と揺れの大きさ (Y の絶対値) を設定します。

パンCLAMP(CLAMP(PaCE8(PaF), 0, 255)PaA, 0, 255)

S8(PaA)S8(変化前の値) と異なる場合は、DSP チャネルの Volume 計算フラグを設定します。

DC コマンド (または yy に 0 を指定) で解除されます。

周期
xxX
02
奇数U8(xx) + 1
偶数U8(xx) + 0
揺れ方と揺れの大きさ
yyY揺れ方揺れの大きさ
$80–$FFS8(yy + 1)左 → 右 → 左- Y
$00–$7FS8(yy + 0)右 → 左 → 右Y

DC オートパン解除 トラック

DC

オートパン解除します。

DD ノイズクロック設定 全体

DD xx
xx : ノイズクロック ($00–$1F)

DSP に設定するノイズクロックの値を設定します (0–32kHz)。

音楽と効果音で異なる値を設定可能で、U5(xx) が設定されます。

音楽トラックで設定した場合

音楽の値が更新されます。

効果音のノイズ設定が無効 (未設定) である または 全ての効果音トラックが演奏終了状態である 場合のみ音楽の値を DSP に設定します

効果音トラックで設定した場合

効果音の値が更新され、その値をDSP に設定します

DE ノイズ オン トラック ノイズクロックは全体

DE

EA コマンドで設定した波形データの代わりにノイズを発声するようになります。

ループが無効である波形が設定されている 場合は、その長さの時間だけ発声します。

DSP のノイズクロックに値が設定されます。

DF ノイズ オフ トラック ノイズクロックは全体

DF

EA コマンドで設定した波形データを使用して発声するようになります。

DSP のノイズクロックに値が設定されます。

E0 ピッチモジュレーション オン トラック

E0

一つ前のチャネルの DSP 内部の値 (OUTX) を用いてピッチ変調をかけるようになります。

音楽トラック 1 は効果がありません。

E1 ピッチモジュレーション オフ トラック

E1

ピッチ変調をかけなくなります。

E2 エコー オン トラック

E2

エコーがかかるようになります。

E3 エコー オフ トラック

E3

エコーがかからなくなります。

E4 オクターブ設定 トラック

E4 xx
xx : オクターブ ($00–$FF)

ノート番号計算に使用するオクターブの値を、U8(xx) に設定します。

E5 オクターブ + 1 トラック

E5

ノート番号計算に使用するオクターブの値を、U8(現在値 + 1) に設定します。

E6 オクターブ - 1 トラック

E6

ノート番号計算に使用するオクターブの値を、U8(現在値 - 1) に設定します。

E7 キートランスポーズ値設定 トラック

E7 xx
xx : トランスポーズ値 ($80–$7F)

ノート番号計算に使用するトランスポーズ値を、S8(xx) に設定します。

既定値は 0 です。

E8 キートランスポーズ値相対設定 トラック

E8 xx
xx : トランスポーズ値変化 ($80–$7F)

ノート番号計算に使用するトランスポーズ値を、S8(現在値 + S8(xx)) に設定します。

E9 ディチューン トラック

E9 xx
xx : ピッチ微調整 ($80–$7F)

キーオン時に計算されるピッチの値を微調整することができます。

PITCH ≒ ノート番号に対応したピッチ × (256 + S8(ピッチ調整値 1 + S8(xx))) ∕ 256 × (65536 + ピッチ調整値 2) ∕ 65536

xx に 0 を指定で解除されます。

既定値は 0 です。

EA 音色選択 トラック

EA xx
xx : 音色番号 ($00–$3F)

音色を選択します。

"キーオン時に DSP チャネルに設定する Source Number・ADSR(1·2) の値 と ピッチ微調整に使用する値二つ" を "トラックに" 設定します。

Attack Rate の値は、EB コマンドで上書き可能です。

Decay Rate の値は、EC コマンドで上書き可能です。

Sustain Level の値は、ED コマンドで上書き可能です。

Sustain Rate の値は、EE コマンドで上書き可能です。

ピッチ微調整に使用する値の一つは、E9 コマンドで調整可能です。

EB Attack Rate 設定 トラック

EB xx
xx : Attack Rate ($00–$0F)

"キーオン時に DSP チャネルに設定する Attack Rate の値" U4(xx) を "トラックに" 設定します。

DSP チャネルを使用中のトラックである 場合は、コマンド実行時に DSP チャネルの ADSR(1·2) の値が更新されます。

EA コマンドで音色に対応した値に初期化されます。

EC Decay Rate 設定 トラック

EC xx
xx : Decay Rate ($00–$07)

"キーオン時に DSP チャネルに設定する Decay Rate の値" U3(xx) を "トラックに" 設定します。

DSP チャネルを使用中のトラックである 場合は、コマンド実行時に DSP チャネルの ADSR(1·2) の値が更新されます。

EA コマンドで音色に対応した値に初期化されます。

ED Sustain Level 設定 トラック

ED xx
xx : Sustain Level ($00–$07)

"キーオン時に DSP チャネルに設定する Sustain Level の値" U3(xx) を "トラックに" 設定します。

DSP チャネルを使用中のトラックである 場合は、コマンド実行時に DSP チャネルの ADSR(1·2) の値が更新されます。

EA コマンドで音色に対応した値に初期化されます。

EE Sustain Rate 設定 トラック

EE xx
xx : Sustain Rate ($00–$1F)

"キーオン時に DSP チャネルに設定する Sustain Rate の値" U5(xx) を "トラックに" 設定します。

DSP チャネルを使用中のトラックである 場合は、コマンド実行時に DSP チャネルの ADSR(1·2) の値が更新されます。

EA コマンドで音色に対応した値に初期化されます。

EF ADSR 初期化 トラック

EBECEDEE コマンドで "トラックに設定された値" を "EA コマンドで自動的に設定される音色に対応した値" に初期化します。

DSP チャネルを使用中のトラックである 場合は、コマンド実行時に DSP チャネルの ADSR(1·2) の値が更新されます。

F0 ループ開始位置 トラック

F0 xx
xx : カウントダウンカウンタの初期値 ($00–$FF)

このコマンドと F1 コマンドを用いてループ処理を行います。

最内ループの F9 コマンドのカウンタ値を 0 に初期化します。

一つのトラックで同時に使用可能なループ処理の最大数は 4 です (5 以上は一番古いデータが最新のデータで上書きされます)。

カウントダウンカウンタ
xx初期値ループ回数
$00, $FF0無限
$01–$FEU8(xx) + 1U8(xx) + 1 回

F1 繰り返し・ループ終了 トラック

F1
F0 コマンドのカウンタ値が 0 である場合

最内ループ開始位置までジャンプします (無限ループ)。

F0 コマンドのカウンタ値が 1 以上である場合

カウンタ値を 1 減じます。

カウンタ値が 1 以上である場合は、最内ループ開始位置までジャンプします。カウンタ値が 0 になる場合は、ループを抜けます。

F2 演奏終了 トラック ノイズクロックは全体

F2

演奏を終了します。

ノイズピッチモジュレーションエコーが無効になります。

すべての効果音が無演奏状態になった場合、DSP のノイズクロックは音楽の値が設定されます。

F3 音楽演奏速度基本値設定 全ての音楽トラック

F3 xx
xx : 演奏速度基本値 ($01–$FF)

F4 コマンドで変化中である 場合は、変化処理を中断して実行します。

音楽演奏速度の基本値を U8(yy) に設定します。

ファンクション 87・88 で音楽演奏速度倍率を設定します。

BPM = (1000 ∕ 4.5) × (音楽演奏速度 ∕ 256) ∕ 48 × 60 処理が間に合わないことがあるため、若干小さな値になる可能性があります

演奏速度が 0 になるとコマンド処理ができなくなります。

効果音からは設定できません。

F4 音楽演奏速度基本値変化 全ての音楽トラック

F4 xx yy
xx : 処理時間 ($01–$FF)
yy : 演奏速度基本値 ($01–$FF)

このコマンドで変化中である 場合は、変化処理を中断して実行します。

U8(現在値)U8(zz) である 場合は、F3 yy を実行します。

音楽演奏速度の基本値が U8(現在値) から U8(yy) まで xx ティックで変化します。

効果音からは設定できません。

F5 エコーボリューム設定 全体

F5 xx
xx : エコーボリューム ($00–$FE)

DSP に設定するエコーボリュームの値を LSR8(xx, 1) に設定します。

効果音からは設定できません。

F6 エコーボリューム変化 全体

F6 xx yy
xx : 処理時間 ($00–$FF)
yy : エコーボリューム ($00–$FE)

DSP に設定するエコーボリュームが現在値から LSR8(yy, 1) まで U8(xx) ティックで変化します。

効果音からは設定できません。

F7 エコーフィードバック設定・FIR フィルタ係数テーブル選択 全体

F7 xx yy
xx : エコーフィードバック ($80–$7F)
yy : FIR フィルタ係数テーブル選択 ($00–$03)

DSP に設定するエコーフィードバックの値を S8(xx) に設定します。

DSP に設定する FIR フィルタ係数のテーブルの番号を U2(yy) に設定します。

効果音からは設定できません。

FIR フィルタ係数テーブル(16進数)
U2(yy)FIR フィルタ係数
C0C1C2C3C4C5C6C7
007F00000000000000
010C212B2B13FEF3F9
0258BFDBF0FE070C0C
03343300D9E501FCEB

F8 音楽音量設定 全ての音楽トラック

F8 xx
xx : 音量 ($00–$FF)

音楽の音量計算に使用される倍率の値の一つが U8(xx) に設定されます。

F9 ループ内条件ジャンプ 音楽トラック

F9 xx yy zz
xx : 処理回数
zzyy : ジャンプ先

最内ループ内で F9 コマンドを処理した回数が U8(xx) である 場合は、アドレス U16(U16(zzyy)R16($0006)) へジャンプします。

F0 コマンドのカウンタ値は変化しないため多重ループで使用する 場合は、F1 コマンドでループ処理を実行する必要があります。

効果音は使用できません。

FA ジャンプ 音楽トラック

FA xx yy
yyxx : ジャンプ先

アドレス U16(U16(yyxx)R16($0006)) へジャンプします。

効果音は使用できません。

FB 条件ジャンプ 音楽トラック

FB xx yy
yyxx : ジャンプ先

ファンクション FB で設定される '内部データのトラックに対応したビット' が 1 である 場合は、アドレス U16(U16(yyxx)R16($0006)) へジャンプします。

ジャンプする 場合は、'内部データのトラックに対応したビット' に 0 を設定します。

効果音は使用できません。

FC–FF 演奏終了 2 トラック ノイズクロックは全体

FC, FD, FE, FF

演奏を終了します。

ノイズピッチモジュレーションエコーが無効になります。

すべての効果音が無演奏状態になった場合、DSP のノイズクロックは音楽の値が設定されます。

F2 コマンドと違い、これらのコマンドは次のキーオンタイ休符コマンドを探す処理で無視されます。