PlayStation (PS1) Dragon Quest VII and IV Music Format (SEQQ)

Dragon Quest VII and IV (DQ7/DQ4) do not use the generic SEQ/VAB driver. Both games are developed by Heart Beat and use the same custom driver (there could be some minor differences, as usual).

. Dragon Quest Monsters does not use SEQq because the game is probably developed by Enix and Tose, not Heart Beat.)). It is very similar to Generic SEQ, however, it is slightly different.

Overview

PSX Dragon Quest games have a single large archive in CD, which is named like HBD1PS1D.Q71 (note that it is a hidden file). A lot of virtual files (music data included) are stored in this file.

A sound file can have both wave banks and sequence at the same time. However, to share wave banks with multiple songs, the game seems to have a file for banks and files for sequences separately.

Offset Size Description
0x00 60 Sound format header
0x3c variable VB and regions
- variable SEQ entry

Sound Format Header

A sound file has a 60 bytes header at the beginning.

Offset Size Description
0x00 4 SEQ size (could be 0)
0x04 2 SEQ id (msq_id)
0x06 1 Wave bank count (usually 4)
0x07 1 Unknown (usually 0 for BGM?)
0x08 4 Unknown
0x0c 4 Wave bank #1 - size of VB (if 0, use preloaded bank)
0x10 4 Wave bank #1 - size of regions
0x14 2 Wave bank #1 - id/index?
0x16 2 Wave bank #1 - ?
0x18 12 Wave bank #2 - same as above
0x24 12 Wave bank #3 - same as above
0x30 12 Wave bank #4 - same as above

Sequence Data

SEQq is a sequence format for those games. It looks very similar to Generic SEQ, however, it is slightly different.

I've made a simple converter for SEQq, seqq2mid. Check it out if you want.

You can rip sequences by using bin2seq.

SEQq Header
Name Size Description
ID 4 bytes Signature: "qQES"
Version? 2 bytes 0
SEQ number? 2 bytes For instance, 0x1001
Resolution of quarter note 2 bytes TPQN
Tempo 3 bytes Tempo (length of quarter note in microseconds)
Rhythm (Numerator) 1 byte Numerator of time signature (n)
Rhythm (Denominator) 1 byte Denominator of time signature (2n)
Number of channels 1 byte Number of channels used in the sequence
Control Change

It has more control changes than SEQ.

  • 1
  • 2, 11
  • 4
  • 5
  • 6
  • 7
  • 9
  • 10
  • 20
  • 21
  • 22
  • 23
  • 32
  • 52
  • 53
  • 54
  • 55
  • 56
  • 64
  • 69
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 91
  • 92
  • 98
  • 99
  • 121
  • 126
  • 127
Meta Event

Unlike SEQ, SEQq has data length.

End Marker

SEQ ends with a meta event, "delta-time FF 2F". On the other hand, SEQq ends with "FF 2F 00", without delta-time!