Gnilda のページ


ブレッドクラムナビゲーション


グローバルナビゲーション


ローカルナビゲーション

ローカルナビゲーション


ページ内ナビゲーション


F4G-0 (20211224-0) : シーケンスコマンド一覧


  1. ホーム
  2. SPC
  3. FINAL FANTASY IV 改造サウンドドライバ
  4. F4G-0 (20211224-0) : シーケンスコマンド一覧

シーケンスコマンド一覧
00-B3
キーオン
トラック
B4-C2
休符
トラック
C3-D1
タイ
トラック
D2 xx_yy zz
音楽演奏速度 設定・変化
音楽トラック
D3 xx
音長(待機時間)設定
トラック
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
トラック
E3 xx
ADSR1 設定 (Hardware Attack·Decay)
トラック
E4 xx
ADSR2 設定 (Hardware Sustain)
トラック
E5 xx
GAIN 設定 (Software Release)
トラック
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 xx_yy
ジャンプ (復帰アドレス退避)
音楽トラック
F7
復帰
音楽トラック
F8
スラー開始
音楽トラック
F9
レガート開始
音楽トラック
FA
スラー / レガート 終了
音楽トラック
FB xx
キートランスポーズ相対指定
トラック
FC xx yy
ビブラート設定 2
トラック
FD xx yy
ディチューン
トラック
FE xx [...] [y1 ... [00] ... yn ... [00]] 00
内部データ設定
全体
FF xx yy
音楽 音量・キーオフ設定
音楽トラック

シーケンスコマンド

00-B3キーオントラック

DAE1E2 コマンドで設定されるオクターブ、このコマンドに対応した値と FB コマンドのトランスポーズ値、DB コマンドで設定される微調整値 1·2 でピッチを計算し、キーオンします。

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

F1 コマンドで演奏終了、または次に処理する 00-D1 コマンドがタイ以外の場合は、(コマンドに対応した数値 − FF コマンドで設定した値) ティック後にキーオフします。

チャネル (DSP Voice) の Volume・Pitch 計算フラグがオンになります。

チャネル (DSP Voice) の Source Number・ADSR(1·2)・DD コマンドの GAIN の値が設定されます。

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

B4-C2休符トラック

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

音楽

スラーレガートを解除します。

休符(音長は 10 進数 他は 16 進数)
音長12.24.348.68121624324864
休符B4B5B6B7B8B9BABBBCBDBEBFC0C1C2
ティック数C09060484030242018100C08060403

C3-D1タイトラック

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

F1 コマンドで演奏終了、または次に処理する 00-D1 コマンドがタイ以外の場合は、(コマンドに対応した数値 − FF コマンドで設定した値) ティック後にキーオフします。

タイ(音長は 10 進数 他は 16 進数)
音長12.24.348.68121624324864
タイC3C4C5C6C7C8C9CACBCCCDCECFD0D1
ティック数C09060484030242018100C08060403

D3音長(待機時間)設定トラック

D3 xx
xx : 音長(待機時間)(0x00 〜 0xFF)

xx が 0 以外の値の場合、次に実行するキーオンタイ休符コマンドの(更に次のコマンドを実行するまでの)待機時間が、コマンド対応した値ではなく xx ティックに設定されます。

xx が FF コマンドで設定した値以下であればキーオフせず、FF コマンドで設定した値より大きい場合は通常のキーオンタイ休符コマンドと同じ設定になります。

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

D8 xx yy zz
xx : ディレイ (0x00 〜 0xFF)
yy : 周期 (0x00 〜 0xFF)
zz : 揺れの大きさ (0x00 〜 0xFF)
音楽

キーオンから X ティック後と、以降は約 4.5 × Y ㎳ 毎に音程が変化し続けます。

効果音

キーオンから X ティック後と、以降は約 3.06 × Y ㎳ 毎に音程が変化し続けます。

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

FC コマンドで揺れ方と揺れが大きくなる回数を設定可能です。

ディレイ
xxX
0xFF 以外xx
0xFF0
周期 / 2
yyY0Y
0x00 - 0x01無効-
0x02 - 0xFFyy / 2Y0 + 1
処理回数とピッチ変化(P' = キーオン時のピッチ / 12, D = zz, X = FC の xx, Y = FC の yy)
X024
処理回数ピッチ変化
0± 0
1+ P' / 256P' × D × min(1, Y) / 8 / 256
2± 0P' × D × min(1, Y) / 8 / 256
3P' × D × min(2, Y) / 8 / 256
4± 0P' × D × min(2, Y) / 8 / 256
5P' × D × min(3, Y) / 8 / 256
6± 0P' × D × min(3, Y) / 8 / 256
7P' × D × min(4, Y) / 8 / 256
8± 0P' × D × min(4, Y) / 8 / 256
9P' × D × min(5, Y) / 8 / 256
10± 0P' × D × min(5, Y) / 8 / 256
11P' × D × min(6, Y) / 8 / 256
12± 0P' × D × min(6, Y) / 8 / 256
13P' × D × min(7, Y) / 8 / 256
14± 0P' × D × min(7, Y) / 8 / 256
15P' × D × min(8, Y) / 8 / 256
16± 0P' × D × min(8, Y) / 8 / 256
17P' × D × min(8, Y) / 8 / 256
18± 0P' × D × min(8, Y) / 8 / 256

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

DA xx
xx : オクターブ (0x00 〜 0xFF)

ノート番号計算に使用される値が、xx × 12 に設定されます。計算結果の下位 8 ビットの値が設定されます。

チャネル (DSP Voice) に設定する Pitch の値は下位 14 ビットが有効です。ピッチ微調整値が 0 の場合はノート番号 92 (O7-G#) まで使用可能です。

ノート番号が 124 (O10-E) 以上になる場合は、ピッチを正しく計算できないためオリジナルと異なる値になります。

DB波形選択トラック

DB xx
xx : 波形番号 (0x02 〜 0x21)

波形を選択します。

キーオン時にチャネル (DSP Voice) に設定する ADSR(1·2) の値と、ピッチ微調整に使用する値二つが設定されます。

値が範囲内に収まるかどうかのチェックはありません。

音楽

スラーレガートを解除します。

DCキーオン時の音量変化テーブル選択 (Attack)トラック

DC xx
xx : 音量変化テーブル選択 (0x00 〜 )
音楽

キーオン時から約 9 ㎳ 毎の音量倍率変化テーブルを選択します。

効果音

キーオン時から約 6.13 ㎳ 毎の音量倍率変化テーブルを選択します。

倍率が 0 になると (直前の倍率のまま) チャネル (DSP Voice) は ADSR モードから GAIN モード (減少:指数・Gain rate は DD コマンドで設定した値) になります。

xx に 0x11 〜 0x13, 0x19 〜 0x1D, 0x1F のいずれかを設定した場合に倍率が自動的に 0 に設定されません。

FE コマンドでデータを追加可能です。

DEキーオン後に Gain rate が変化するまでの待ち時間指定 (Release)音楽トラック

DE xx
xx : 待ち時間 (0x00 〜 0xFF)

キーオン後にチャネル (DSP Voice) が GAIN モード (既定値 は 減少モード : 指数・0x11) になるまでの待ち時間 (音長に対する割合) を設定します。

GAIN の値は E5 コマンドで変更可能です。減少モード以外も使用可能です。

効果音で使用するとドライバの内部データを破壊します。

キーオンから音長に対する割合とディレイ
xx設定値内部値ディレイ (ティック数)Release Rate (最大)
0x00, 0x65 - 0xFF100%0無効0
0x01 - 0x63約 xx%256 × xx / 100音長 × 内部値 / 256 - 1約 [256 - 内部値] / 256
0x6439.0625%100

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

E1

ノート番号計算に使用される値が、現在の値 + 12 に設定されます。計算結果の下位 8 ビットの値が設定されます。

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

E2

ノート番号計算に使用される値が、現在の値 - 12 に設定されます。計算結果の下位 8 ビットの値が設定されます。

E3ADSR1 設定トラック

E3 xx
xx : Attack Rate・Decay Rate・動作フラグ (0x80 - 0xFF)

キーオン時にチャネル (DSP Voice) に設定する Attack Rate・Decay Rate・動作フラグ の値を設定します。

ビット 0 - 3 で Attack Rate の値を設定します。

ビット 4 - 6 で Decay Rate の値を設定します。

ビット 7 で ADSR・GAIN モードのどちらを使用するかを設定します。F4G-0 では DD コマンドの GAIN の値は (減少 : 指数) のみ設定可能ですので、1 (ADSR モード) を設定します。

DB コマンドで自動的に設定される値を上書きします。

E4ADSR2 設定トラック

E4 xx
xx : Sustain Level・Sustain Rate (0x00 - 0xFF)

キーオン時にチャネル (DSP Voice) に設定する Sustain Level・Sustain Rate の値を設定します。

ビット 0 - 4 で Sustain Rate の値を設定します。

ビット 5 - 7 で Sustain Level の値を設定します。

DB コマンドで自動的に設定される値を上書きします。

E5GAIN 設定トラック

E5 xx
xx : ソフトウェアエンベロープ Release 時の GAIN (0x00 - 0xFF)

ソフトウェアエンベロープ Release 時にチャネル (DSP Voice) に設定する GAIN の値を設定します。

ソフトウェアエンベロープ Sustain と Release を無効にする
xx : GAIN (0x00)

DC コマンドの音量倍率変化終了時に GAIN モードになりません。更にこのコマンド実行時に DE コマンドの値が 100% に設定されます。

直接指定
xx : GAIN (0x01 - 0x7F)

チャネル (DSP Voice) のエンベロープの現在値に xx × 0x10 を設定します。

減少モード : リニア
xx : GAIN (0x80 - 0x9F)

エンベロープの現在値が一定値減少し続けます。

減少モード : 指数
xx : GAIN (0xA0 - 0xBF)

エンベロープの現在値が指数関数的に減少し続けます。現在値が小さくなると減少量も小さくなります。

増加モード : リニア
xx : GAIN (0xC0 - 0xDF)

エンベロープの現在値が一定値増加し続けます。

増加モード : 折れ線
xx : GAIN (0xE0 - 0xFF)

エンベロープの現在値が一定値増加し続けます。0x600 を境に増加量が(小さな値に)変化します。

曲データ転送直後の値は 0xB1 (減少:指数・Gain rate = 0x11) です。

F1演奏終了トラックノイズクロック

F1

演奏を終了します。

音楽

スラーレガートが無効になります。

効果音

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

すべての効果音が無演奏状態になった場合、DSP のノイズクロックは音楽の値が設定されます。音楽のノイズクロックの値が変化する可能性がある不具合は修正されています。

F2音量 設定・変化(Volume)トラック

F2 xx yy zz
yyxx : 処理時間 (0x0000 〜 0xFFFF)
zz : 音量 (0x00 〜 0xFF)
設定
yyxx : 処理時間 (0x0000)

トラック音量の値が zz に設定されます。

DSP Voice の Volume 計算フラグがオンになりません。

設定 (即時計算)
yyxx : 処理時間 (0x0001)

トラック音量の値が zz に設定されます。

DSP Voice の Volume 計算フラグがオンになります。

変化
yyxx : 処理時間 (0x0002 〜 0xFFFF)

トラック音量が現在の値から zz まで yyxx - 1 ティックで変化します。

変化後の値の整数部が変化前と異なる場合は DSP Voice の Volume 計算フラグがオンになります。

1 回あたりの変化が 1/256 未満になる場合は変化しません。

実行中の F2 コマンド (変化) を中断して実行します。

F3パン 設定・変化音楽トラック

F3 xx yy zz
yyxx : 処理時間 (0x0000 〜 0xFFFF)
zz : パン (0x00 〜 0xFF)
設定
yyxx : 処理時間 (0x0000)

パンの値が zz に設定されます。

DSP Voice の Volume 計算フラグがオンになりません。

設定 (即時計算)
yyxx : 処理時間 (0x0001)

パンの値が zz に設定されます。

DSP Voice の Volume 計算フラグがオンになります。

変化
yyxx : 処理時間 (0x0002 〜 0xFFFF)

パンの値が現在の値から zz まで yyxx - 1 ティックで変化します。

変化後の値の整数部が変化前と異なる場合は DSP Voice の Volume 計算フラグがオンになります。

1 回あたりの変化が 1/256 未満になる場合は変化しません。

実行中の F3 コマンド (変化) を中断して実行します。

0x00 (左) - 0x80 (中央・モノラル) - 0xFF (右)

効果音トラックから設定すると、音楽のデータを破壊してしまいます。

F6ジャンプ (復帰アドレス退避)音楽トラック

F6 xx yy
yyxx : ジャンプ先 (絶対アドレス)
yyxx : ジャンプ先

このコマンドの次のコマンドのアドレスを保存し、アドレス yyxx までジャンプします。

F7 コマンドで復帰します。

F7復帰音楽トラック

F7

最後に F6 コマンドで保存したアドレスに復帰します。

F8スラー開始音楽トラック

F8

既にキーオンされた状態で次の処理コマンドがキーオンの場合、直前のキーオフ処理とキーオン処理 (DSP フラグ・波形番号・ADSR1・ADSR2・GAIN 設定) を実行せずピッチ変更のみを実行します。

レガートを解除せずにキーオン処理も実行しなくなります。

FA コマンドで解除します。

DB コマンド、休符で解除されます。

F9レガート開始音楽トラック

F9

既にキーオンされた状態で次の処理コマンドがキーオンの場合、直前のキーオフ処理を実行しなくなります。

スラーが有効な場合このコマンドは無効になります。

FA コマンドで解除します。

DB コマンド、休符で解除されます。

FAスラー / レガート 終了音楽トラック

FA

スラーレガートを解除します。

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

FB xx
xx : トランスポーズ値変化 (0x80 〜 0x7F)

トランスポーズ値が、現在の値 + xx に設定されます。計算結果の下位 8 ビットの値が設定されます。

曲データ転送直後の値は 0 です。

FCビブラート設定 2音楽トラック

FC xx yy
xx : 揺れ方 (0x00, 0x02, 0x04)
yy : 揺れが大きくなる回数 (0x01 〜 0x08)

D8 コマンドの動作を設定します。

xx で揺れ方を設定します。

yy で揺れが大きくなる回数を設定します。

曲データ転送直後の値は 揺れ方 = 0 、揺れが大きくなる回数 = 8 です。

FDディチューントラック

FD xx yy
xx : ピッチ微調整値 1 (0x80 〜 0x7F)
yy : ピッチ微調整値 2 (0x00 〜 0xFF)

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

P ≒ ノート番号に対応したピッチ × (256 + ピッチ微調整値 1) / 256 × (65536 + ピッチ微調整値 2) / 65536

DB コマンドで自動的に設定される値を上書きします。

FE内部データ設定全体

FE xx [...] [y1 ... [00] ... yn ... [00]] 00
xx : 設定する波形データの数 (0x00 -)
y? : 音量倍率データのバイト数 (0x01 -)
xx

DB コマンドで自動的に設定される波形データ数を指定します (波形番号 0x09 -)。

ピッチ微調整値 2・ADSR1・ADSR2 の値を設定します。

曲データ転送直後の波形番号 0x09 - 0x18 の内部データの値は ピッチ微調整値 2 = 0 、ADSR1 = 0xFF 、ADSR2 = 0xE0 です。

設定を上書きしたい場合と 0x19 以上の波形番号を使用する場合は、必ずこのコマンドで初期化してください。

y1 〜 yn

DC コマンドに追加する音量倍率データの数を指定します (データ番号 0x20 -)。

音量倍率データの値に 0 を設定することで倍率変化を終了します。

20 (0x20 - 0x33) までは安全に追加可能です。

キーオン休符コマンドを実行する前にこのコマンドを実行してください。

FE	  ;波形番号
	   05 ;09 0A 0B 0C 0D 0E 0F 10 11 12	;波形番号 0x09 - 0x12 のデータ設定 (0x0E - 0x12 は転送時に初期化済み)
	       7F 00 A0 00 00;00 00 00 00 00	;ピッチ微調整値 2
	       FF FF FF FF FF;FF FF FF FF FF	;ADSR1
	       E0 E1 EC E8 F0;E0 E0 E0 E0 E0	;ADSR2
	   02  FE 00							;DC [0x20] のデータ設定 (2	   バイト) : 音量倍率 = 254
	   01  AA;00							;DC [0x21] のデータ設定 (2 - 1 バイト) : 音量倍率 = 170
	   00									;ここまで

FF音楽 音量・キーオフ設定音楽トラック

FD xx yy
xx : 音楽音量 (0x01 〜 0x81)
yy : 音楽キーオフ設定 (0x01 〜 0x02)

xx で音楽音量を設定します。チャネル (DSP Voice) の Volume の計算結果が 127 を超える場合は逆位相になります。

yy で次に処理する 00-D1 コマンドがタイ以外の場合に、コマンドに対応した数値の何ティック前にキーオフを実行するか設定します。yy 以下の音長はキーオフされなくなります。

曲データ転送直後の値は 音楽音量 = 72 、音楽キーオフ設定 = 1 です。



- Rental Orbit Space -