PlayStation (PS1) SEQ Format Overview

This document describes the summary of PlayStation SEQ format. If you want to read an official document, search the user reference of "Net Yaroze!".

Summary

PlayStation has standard music formats as follows:

  • SEQ (*.seq) - Sequence data
  • SEP (*.sep) - SEQ package, a file contains multiple SEQs
  • VAG (*.vag) - Single waveform data
  • VAB (*.vh; *.vb) - Sound source data, VB can have 254 VAGs at maximum, VH is header data for them

SEQ is very similar to SMF Format 0, except some small differences.

Header

SEQ Header
Name Size Description
ID 4 bytes Signature: "pQES"
Version 4 bytes 1
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)
SEP Header

N/A

Messages & Differences

Loop Point (Extra NRPN)

SEQ specifies loop position by NRPN MSB. Value 20 (decimal) means Loop Start, and 30 means Loop End.

Attribute data 1 (CC 09) data 2 (CC 06)
Loop 1 (start) 20 Loop count (127=infinite loop)
Loop 2 (end) 30

Note that loop events cannot be nested. Also, only single channel should have those messages.

Tempo

Tempo message starts with FF 51, that is the same as SMF. However, there are several differences between SMF and SEQ. See an example below (Tales of Phantasia: Good-by Friends):

SMF: 14 FF 51 03 0A A5 4A  14 FF 51 03 0A E6 2D  0C FF 51 03 0B 07 CB
SEQ: 14 FF 51    0A A5 4A  14    51    0A E6 2D  0C    51    0B 07 CB

Differences:

  • SMF has data length before data, but SEQ does not
  • SMF does not apply the running-status rule to events 0xFn, but SEQ does

Available messages

It may depend on each drivers.

  • note on (8n)
  • note off (9n)
  • program change (Cn)
  • pitch bend (En)
  • control change (Bn)
    • data entry (6)
    • volume (7)
    • panpot (10)
    • expression (11)
    • NRPN data (98, 99)
  • meta event (FF)
    • tempo (FF 51)

Tools

Rippers & Converters