データ
1B:楽器数
αB:楽器番号
2B:データ長
2B:波形データオフセット
2B*β:シークエンスオフセット
2B:0000(オフセット終端)
6B*γ:波形データ
αB:楽器番号
2B:データ長
2B:波形データオフセット
2B*β:シークエンスオフセット
2B:0000(オフセット終端)
6B*γ:波形データ
00:楽器番号 01:4b:ADSR-AR 3b:ADSR-DR 1b:未使用 02:5b:ADSR-SR 3b:ADSR-SL 03:GAIN 04:音の高さ上位 05:音の高さ下位
δB*β:シークエンスデータ
第一シークエンスの最初にコードDB, DDの値を指定する.
各シークエンスの最初にE3, D6, D4の値を指定する.
各シークエンスの最初にE3, D6, D4の値を指定する.
コード
00 | ストップ |
01-7F | 音の長さ制御. ただし, これを2個続けた場合, 2個目は下位4bitが音量, 上位4bitがADSR-SR-1がが有効な時間になる. |
80-CF | 音(表の右ほど高い) |
ド | 80: 8C: 98: A4: B0: BC: C8: |
ド# | 81: 8D: 99: A5: B1: BD: C9: |
レ | 82: 8E: 9A: A6: B2: BE: CA: |
レ# | 83: 8F: 9B: A7: B3: BF: CB: |
ミ | 84: 90: 9C: A8: B4: C0: CC: |
ファ | 85: 91: 9D: A9: B5: C1: CD: |
ファ# | 86: 92: 9E: AA: B6: C2: CE: |
ソ | 87: 93: 9F: AB: B7: C3: CF: |
ソ# | 88: 94: A0: AC: B8: C4: |
ラ | 89: 95: A1: AD: B9: C5: |
ラ# | 8A: 96: A2: AE: BA: C6: |
シ | 8B: 97: A3: AF: BB: C7: |
楽器の音の高さによっては鳴らせない音がある。 | |
D0 | タイ(長さは音と同じく, ADSR-SR-1を用いる) |
D1 | 休符(長さは音と同じく, ADSR-SR-2を用いる) |
D2 | シークエンスをkey off状態にする |
D3 | シークエンスをkey on状態にする |
D4 xx | シークエンスの波形指定 |
D5 | 何もしない |
D6 xx | シークエンスのバランス指定(5bit, xxと#14-xxでのバランス) |
D7 xx yy | シークエンスのバランスを長さxxの間にyyに変化させる |
D8 xx yy zz | シークエンスの音階振動(xx=ディレイ, yy=大きいほど周期が短い, zz=振幅) |
D9 xx | シークエンスの一音ごとの音階振動している時間(0bitが0だと増大) |
DA | シークエンスの音階振動状態の解除 |
DB xx | 全体ボリューム指定 |
DC xx yy | 全体ボリュームを長さxxの間にyyに変化させる |
DD xx | 曲のテンポ指定 |
DE | 何もしない |
DF xx | 曲全体の音階を上げる(xx*半音) |
E0 xx | シークエンスの音階を上げる(xx*半音) |
E1 xx yy zz | シークエンスの音量振動(xx=ディレイ, yy=大きいほど周期が短い, zz=振幅) |
E2 | シークエンスの音量振動状態の解除 |
E3 xx | シークエンスの音量指定 |
E4 xx yy | シークエンスの音量を長さxxの間にyyに変化させる |
E5 xx yy zz | ?? |
E6 xx yy zz | シークエンスの音階一次増減(xx=ディレイ, yy=増減時間, zz=増減値) |
E7 xx yy zz | シークエンスの音階一次増減(xx=ディレイ, yy=増減時間, zz=増減値&0次の係数) |
E8 | シークエンスの音階一次増減解消 |
E9 xx | 音階下位値変更 |
EA xx yy | 全体のエコーボリューム(上位LR)指定 |
EB xx yy zz | xx=Echo Delay, yy=Echo Feed Back, zz=フィルタ番号 |
EC | 何もしない |
ED | シークエンスのEcho off |
EE | シークエンスのEcho on |
EF xx xx xx xx xx xx xx xx | 各filterの値を書く |
F0 xx yy | シークエンスのADSRを変更 |
F1 xx | 下位4bitが音量, 上位4bitがADSR-SR-1が有効な時間 |
F2 xx yy | オフセットにジャンプ |
F3 xx yy ~ F4 | F3でオフセットにジャンプ、F4でリターン |
F5 | FLGの下位5bitを更新しない |
F6 | FLGを更新しない |
F7 xx | FLGの下位5bit指定 |
F8 | FLGを更新する |
F9 00 xx | F9 01のジャンプ回数指定(xx-1回) |
F9 01 xx yy | オフセットに指定回数だけジャンプする |
F9 02 | 何もしない |
F9 03 xx | シークエンスのADSR-AR変化 |
F9 04 xx | シークエンスのADSR-DR変化 |
F9 05 xx | シークエンスのADSR-SL変化 |
F9 06 xx | シークエンスのADSR-SR-1(一定時間前)変化 |
F9 07 xx | シークエンスのADSR-SR-2(一定時間後)変化 |
F9 09 xx yy | 各値が00でないならシークエンスのVOLの符号を逆転させる |
- 詳細な説明: SNES "Dragon Quest VI / III" Heart Beat Format Spec - loveemu log
- MIDIデータへの変換: SPC変換系ぷちまとめリリース - loveemu log (hbdqspc)
楽器
21 | ハープ(マーメイドハープ) |
2C | 笛(伝説の笛) |
38 | パイプオルガン(教会での祈り) |