- シーケンスコマンド一覧
- 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 キーオン トラック
DA・E1・E2 コマンドで設定されるオクターブ、このコマンドに対応した値 及び FB コマンドのトランスポーズ値 並びに DB コマンドで設定される調整値 1·2 を用いてピッチを計算し、キーオンします。
待機するティック数 (以下 T) を設定します。"このコマンドに対応した値" よりも "(先に処理されている) D3 コマンドの設定" を優先します。
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 休符 トラック
待機するティック数 (以下 T) を設定します。"このコマンドに対応した値" よりも "(先に処理されている) D3 コマンドの設定" を優先します。
音長 | 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) を設定します。"このコマンドに対応した値" よりも "(先に処理されている) D3 コマンドの設定" を優先します。
音長 | 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 |
D3 音長(待機時間)設定 トラック
D3 xx
xx : 音長 ($01–$FF)
xx が 0 以外である 場合は、以降に処理するキーオン・タイ・休符コマンドで待機するティック数を一度だけ U8(xx) に設定します。
U8(xx) が FF コマンドの設定値以下である 場合は、時間経過による自動キーオフ処理を実行しません。
xx が 1 である 場合は、時間経過による自動キーオフ処理を実行しません。
音楽
効果音
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 ビットが有効です
FC コマンドで揺れ方と揺れが大きくなる回数を設定可能です。
E8 コマンド 又は yy に 0 若しくは 1 を指定 で解除します。
Z を計算に使用し且つY0 × MIN(⌈処理回数 ∕ 2⌉, YFC) が 8 未満である 場合は、正しく変化しません。
不具合(20220222-2 で修正済み)
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⌋ |
xx | XFC | YFC | 備考 |
---|---|---|---|
0 | xx | yy | YFC が 8 である 場合はオリジナルと同じ変化 |
1 | 初回の変化がオリジナルと異なる | ||
2 | 奇数回の変化は XFC が 1 である場合と同じ 正の偶数回の変化は直前の符号反転 |
XFC | 0 | 1 | 2 |
---|---|---|---|
処理回数 | PiV | ||
0 | ± 0 | ||
1 | + ⌊P' × ⌊Z ∕ 256⌋ ∕ 256⌋ | + ⌊P' × ⌊Z × ⌊Y0 × MIN(1, YFC) ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ | |
2 | ± 0 | - ⌊P' × ⌊Z × ⌊Y0 × MIN(1, YFC) ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ | |
3 | + ⌊P' × ⌊Z × ⌊Y0 × MIN(2, YFC) ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ | ||
4 | ± 0 | - ⌊P' × ⌊Z × ⌊Y0 × MIN(2, YFC) ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ | |
5 | + ⌊P' × ⌊Z × ⌊Y0 × MIN(3, YFC) ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ | ||
6 | ± 0 | - ⌊P' × ⌊Z × ⌊Y0 × MIN(3, YFC) ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ | |
7 | + ⌊P' × ⌊Z × ⌊Y0 × MIN(4, YFC) ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ | ||
8 | ± 0 | - ⌊P' × ⌊Z × ⌊Y0 × MIN(4, YFC) ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ | |
9 | + ⌊P' × ⌊Z × ⌊Y0 × MIN(5, YFC) ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ | ||
10 | ± 0 | - ⌊P' × ⌊Z × ⌊Y0 × MIN(5, YFC) ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ | |
11 | + ⌊P' × ⌊Z × ⌊Y0 × MIN(6, YFC) ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ | ||
12 | ± 0 | - ⌊P' × ⌊Z × ⌊Y0 × MIN(6, YFC) ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ | |
13 | + ⌊P' × ⌊Z × ⌊Y0 × MIN(7, YFC) ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ | ||
14 | ± 0 | - ⌊P' × ⌊Z × ⌊Y0 × MIN(7, YFC) ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ | |
15 | + ⌊P' × ⌊Z × ⌊Y0 × MIN(8, YFC) ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ | ||
16 | ± 0 | - ⌊P' × ⌊Z × ⌊Y0 × MIN(8, YFC) ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ | |
17 | + ⌊P' × ⌊Z × ⌊Y0 × MIN(9, YFC) ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ | ||
18 | ± 0 | - ⌊P' × ⌊Z × ⌊Y0 × MIN(9, YFC) ∕ 8⌋ ∕ 256⌋ ∕ 256⌋ |
DA オクターブ設定 トラック
DA xx
xx : オクターブ ($00–$0A)
ノート番号計算に使用する基準のノート番号を、U8(U8(xx) × 12) に設定します。
DSP チャネルに設定する Pitch の値 (周波数倍率) は下位 14 ビットが有効です。ピッチ調整値が 0 である 場合はノート番号 92 (O7-G#) まで使用可能です。
FB コマンドでトランスポーズ値を設定可能です。
ノート番号がゲームでは未使用である 124 (O10-E) 以上になる 場合は、ピッチを正しく計算できないためオリジナルと異なる値になります。
処理高速化のため特殊な場合の処理が省略されています。基準のノート番号 と 階名に対応した値 (0–11) の和が 256 以上になる 場合は、ノート番号計算時にトランスポーズ値が + 1 されます。
DB 音色選択 トラック
DB xx
xx : 音色番号 ($00–$1F)
音色を選択します。
"キーオン時に DSP チャネルに設定する Source Number・ADSR(1·2) の値 と ピッチ微調整に使用する値二つ" を "トラックに" 設定します。
ADSR1 の値は、E3 コマンドで上書き可能です。
ADSR2 の値は、E4 コマンドで上書き可能です。
ピッチ微調整に使用する値二つは、FD コマンドで上書き可能です。
FE コマンドで音色データの既定値を設定可能です。
xx に設定可能な値が "$02–$21" から "$00–$1F" へ変更されました。
常駐圧縮波形データの音色番号がオリジナルと同じ "$00–$06" に戻りました。
20211224-0 からの変更点
DC Attack 設定(Software) トラック
DC xx
xx : 音量倍率変化テーブル選択 ($00–)
音楽
キーオン時から約 9 ㎳ 毎の音量倍率変化テーブルを選択します。
効果音
キーオン時から約 6.13 ㎳ 毎の音量倍率変化テーブルを選択します。
倍率が 0 である場合は変化を終了し、直前の倍率のまま DSP チャネルの動作フラグを (通常は ADSR モードから) GAIN モードに設定します。
GAIN の値は変化しません。通常はキーオン時の DD コマンドの設定値が使用されます。
FE コマンドでデータを追加可能です。
テーブル番号が $11–$13・$19–$1D・$1F 以外のデータはオリジナルと同じです。
テーブル番号が "$11–$13・$19–$1D・$1F" のデータが変更され、音量倍率が設定されるようになりました。
20211224-0 からの変更点
音量倍率変化テーブル
DE Release 設定(Software) 音楽トラック
DE xx
xx : 待ち時間 ($00–$FF)
キーオン後に DSP チャネルの "動作フラグが GAIN モード" 、"GAIN の値が E5 コマンドの設定値 (既定値 は 減少モード : 指数・$11)" に設定されるまでの待ち時間 (音長の合計に対する割合) を設定します。
効果音で使用すると、ドライバの内部データを破壊します。
xx | 設定値 | 内部値 | ディレイ (ティック数) | Release Rate (最大) |
---|---|---|---|---|
$00, $65–$FF | 100% | 0 | 無効 | 0 |
$01–$63 | 約 xx% | ⌊U8(xx) × 256 ∕ 100⌋ | ⌊T × 内部値 ∕ 256⌋ | 約 ⌊256 - 内部値⌋ ∕ 256 |
$64 | 約 39% | 100 |
E1 オクターブ + 1 トラック
E1
ノート番号計算に使用される値を、U8(現在値 + 12) に設定します。
E2 オクターブ - 1 トラック
E2
ノート番号計算に使用される値を、U8(現在値 - 12) に設定します。
E3 ADSR1 設定 トラック
E3 xx
xx : Attack Rate・Decay Rate・動作フラグ ($80–$FF)
"キーオン時に DSP チャネルに設定する Attack Rate・Decay Rate・動作フラグ の値" を "トラックに" 設定します。
ビット 0–3 で Attack Rate の値を設定します。
ビット 4–6 で Decay Rate の値を設定します。
ビット 7 で ADSR モード・GAIN モードの何れかを設定します。F4G-0 では DD コマンドの GAIN の値は (減少 : 指数) のみ設定可能ですので、1 (ADSR モード) を設定します。
DB コマンドで音色に対応した値に初期化されます。
E4 ADSR2 設定 トラック
E4 xx
xx : Sustain Level・Sustain Rate ($00–$FF)
"キーオン時に DSP チャネルに設定する Sustain Level・Sustain Rate の値" を "トラックに" 設定します。
ビット 0–4 で Sustain Rate の値を設定します。
ビット 5–7 で Sustain Level の値を設定します。
DB コマンドで音色に対応した値に初期化されます。
E5 GAIN 設定 トラック
E5 xx
xx : ソフトウェアエンベロープ Release 時の GAIN ($00–$FF)
ソフトウェアエンベロープ Release 時に DSP チャネルに設定する GAIN の値を設定します。
DC コマンドの音量倍率変化終了時に DSP チャネルの動作フラグが GAIN モードに設定されません。更にこのコマンド実行時に DE コマンドの値を 100% (無効) に設定します。
DSP チャネルのエンベロープの現在値に xx × $10 を設定します。
エンベロープの現在値が一定値減少し続けます。
エンベロープの現在値が指数関数的に減少し続けます。現在値が小さくなると減少量も小さくなります。
エンベロープの現在値が一定値増加し続けます。
エンベロープの現在値が一定値増加し続けます。$600 を境に増加量が (小さな値に) 変化します。
ソフトウェアエンベロープ Sustain と Release を無効にする
xx : $00
直接指定
xx : GAIN ($01–$7F)
減少モード : リニア
xx : GAIN ($80–$9F)
減少モード : 指数
xx : GAIN ($A0–$BF)
増加モード : リニア
xx : GAIN ($C0–$DF)
増加モード : 折れ線
xx : GAIN ($E0–$FF)
既定値は $B1 (減少:指数・Gain rate = $11) です。
F1 演奏終了 トラック ノイズクロックは全体
F1
演奏を終了します。
エコー・ノイズ・ピッチモジュレーションが無効になり、DSP の設定が "同じチャネルを使用する音楽トラックの設定に" 切り替わります。
全ての効果音トラックのノイズ設定が無効になる 場合は、効果音のノイズ使用フラグを解除し、DSP のノイズクロックに音楽の値を設定します。
音楽のノイズクロックの値が変化する可能性がある不具合は修正されています。
効果音
F2 音量 設定・変化(Volume) トラック
F2 xx yy zz
yyxx : 処理時間 ($0000–$FFFF)
zz : 音量 ($00–$FF)
このコマンドで変化中である 場合は、変化処理を中断して実行します。
VC を U8(zz) に設定します。
DSP チャネルの Volume 計算フラグは設定されません。
VC を U8(zz) に設定します。
U8(zz) が U8(VC) と異なる 場合は、DSP チャネルの Volume 計算フラグを設定します。
U8(zz) が U8(VC) と等しい 場合は、処理を終了します。
トラック音量が U8(VC) から U8(zz) まで U16(yyxx) - 1 ティックで変化します。
ティック毎の U8(VC) が U8(変化前の値) と異なる 場合は、DSP チャネルの Volume 計算フラグを設定します。
一回あたりの変化量の絶対値が 1/256 未満である 場合は、0 で変化し続けます。
設定
yyxx : 処理時間 ($0000)
設定 (即時計算)
yyxx : 処理時間 ($0001)
変化
yyxx : 処理時間 ($0002–$FFFF)
F3 パン 設定・変化 音楽トラック
F3 xx yy zz
yyxx : 処理時間 ($0000–$FFFF)
zz : パン ($00–$FF)
このコマンドで変化中である 場合は、変化処理を中断して実行します。
PaC を U8(zz) に設定します。
DSP チャネルの Volume 計算フラグは設定されません。
PaC を U8(zz) に設定します。
U8(zz) が U8(現在値) と異なる 場合は、DSP チャネルの Volume 計算フラグを設定します。
U8(zz) が U8(PaC) と等しい 場合は、処理を終了します。
パンの値が U8(PaC) から U8(zz) まで U16(yyxx) - 1 ティックで変化します。
ティック毎の U8(PaC) が U8(変化前の値) と異なる 場合は、DSP チャネルの Volume 計算フラグを設定します。
一回あたりの変化量の絶対値が 1/256 未満である 場合は、0 で変化し続けます。
設定
yyxx : 処理時間 ($0000)
設定 (即時計算)
yyxx : 処理時間 ($0001)
変化
yyxx : 処理時間 ($0002–$FFFF)
パン = U8(PaC + PaA)
$00 (左) – $80 (中央・モノラル) – $FF (右)
効果音トラックで使用すると、音楽トラックのデータを破壊します。
F6 ジャンプ (復帰アドレス退避) 音楽トラック
F6 xx yy
yyxx : ジャンプ先 (絶対アドレス)
このコマンドの次のコマンドのアドレスを保存し、アドレス U16(yyxx) までジャンプします。
F7 コマンドで復帰します。
F7 復帰 音楽トラック
F7
最後に F6 コマンドで保存したアドレスに復帰します。
F8 スラー開始 音楽トラック
F8
既にキーオンされた状態 且つ 次の処理コマンドがキーオンである場合、"直前の自動キーオフ処理 と キーオン処理の一部 (DSP フラグ・音色番号・ADSR1・ADSR2・GAIN 設定)" を実行せず ピッチ変更のみを実行します。
レガートを解除しません。
FA コマンドで解除します。
F9 レガート開始 音楽トラック
F9
既にキーオンされた状態 且つ 次の処理コマンドがキーオンである場合、直前の自動キーオフ処理を実行しなくなります。
スラーが有効である場合、このコマンドは無効になります。
FA コマンドで解除します。
FA スラー / レガート 終了 音楽トラック
FA
FB キートランスポーズ値相対設定 トラック
FB xx
xx : トランスポーズ値変化 ($80–$7F)
ノート番号計算に使用するトランスポーズ値を、S8(現在値 + S8(xx)) に設定します。
処理高速化のため特殊な場合の処理が省略されています。基準のノート番号 と 階名に対応した値 (0–11) の和が 256 以上になる 場合は、ノート番号計算時にトランスポーズ値が + 1 されます。
既定値は 0 です。
FC ビブラート設定 2 音楽トラック
FC xx yy
xx : 揺れ方 ($00–$02)
yy : 揺れが大きくなる回数 ($01–$08)
D8 コマンドの動作を設定します。
xx で揺れ方を設定します。
yy で揺れが大きくなる回数を設定します。
既定値は 揺れ方 = 0 、揺れが大きくなる回数 = 8 です。
xx に設定可能な値が "$00・$02・$04" から "$00–$02" へ変更されました。
20211224-0 からの変更点
FD ディチューン トラック
FD xx yy
xx : ピッチ調整値 1 ($80–$7F)
yy : ピッチ調整値 2 ($00–$FF)
"ピッチ微調整に使用する値二つ" を "トラックに" 設定します。
PITCH ≒ ⌊⌊ノート番号に対応したピッチ × (256 + S8(ピッチ調整値 1)) ∕ 256⌋ × (65536 + U8(ピッチ調整値 2)) ∕ 65536⌋
DB コマンドで音色に対応した値に初期化されます。
FE 音色データ設定 全体
FE xx [...] [y1 ... [00] ... yn ... [00]] 00
xx : 設定する音色データの数 ($00–$19)
y? : 音量倍率変化データのバイト数 ($01–$FF)
xx
DB コマンドで自動的に設定される音色データ数を指定します (音色番号 $07–)。
ピッチ調整値 2・ADSR1・ADSR2 の値を設定します。
設定を上書き 又は $17 以上の音色番号を使用する 場合は、必ずこのコマンドで初期化してください。
音色番号 $07–$16 の音色データの既定値は ピッチ調整値 2 = 0 、ADSR1 = $FF 、ADSR2 = $E0 です。
y1–yn (n : 1–96)
DC コマンドに追加する "音量倍率変化データのバイト数" を指定します (データ番号 $20–$7F)。
音量倍率データの値に 0 を設定することで倍率変化を終了します。
20 ($20–$33) までは安全に追加可能です。
キーオン・タイ・休符コマンドを実行する前にこのコマンドを実行してください。
例 : FE 05 7F 00 A0 00 00 FF FF FF FF FF E0 E1 EC E8 F0 02 E4 00 02 B7 00 02 9E 00 01 99 00
︙
!F1 ;APU RAM データ生成処理のコマンド [次行から音楽シーケンスデータのコマンドとして処理しない]
FE
;音色番号 $07–$10 のデータ設定 (何れかが初期値と異なる音色は設定の必要あり)
;01 02 03 04 05 06 07 08 09 0A
05 ;07 08 09 0A 0B 0C 0D 0E 0F 10 ;音色番号 $0C–$10 は転送時に初期化済みであるため 15 バイト削減可能
7F 00 A0 00 00;00 00 00 00 00 ;ピッチ調整値 2 [$00]
FF FF FF FF FF;FF FF FF FF FF ;ADSR1 [$FF]
E0 E1 EC E8 F0;E0 E0 E0 E0 E0 ;ADSR2 [$E0]
;音量倍率変化データ (終端は $00 であるため 1 バイト削減可能)
;01 02 03
02 E4 00 ;DC [$20] のデータ設定 (1 + 2 バイト) : 音量倍率 = 228
02 B7 00 ;DC [$21] のデータ設定 (1 + 2 バイト) : 音量倍率 = 183
02 9E 00 ;DC [$22] のデータ設定 (1 + 2 バイト) : 音量倍率 = 158
01 99;00 ;DC [$23] のデータ設定 (1 + 2 - 1 バイト) : 音量倍率 = 153
;終端
00 ;ここまで
!F0 ;APU RAM データ生成処理のコマンド [次行から音楽シーケンスデータのコマンドとして処理する]
︙
FF 音楽 音量・自動キーオフ設定 全ての音楽トラック
FF xx yy
xx : 音楽音量 ($01–$81)
yy : 音楽自動キーオフ設定 ($01–$02)
xx で音楽音量を設定します。DSP チャネルの Volume の値は符号付き 8 ビットの値であるため、計算結果が 127 を超える 場合は逆位相 (256 減じた値) になります。
yy で自動キーオフ処理を設定します。キーオン(・休符)・タイを実行後 に キーオン・休符・演奏終了の何れかを処理する場合、処理の yy ティック前に自動的にキーオフ処理を実行します。音長が yy 以下である 場合は、自動キーオフ処理が実行されません。
既定値は 音楽音量 = 72 、音楽自動キーオフ設定 = 1 です。