This document describes the summary of PlayStation SEQ format. If you want to read an official document, search the user reference of "Net Yaroze!".
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.
|ID||4 bytes||Signature: "pQES"|
|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)|
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.
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
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)
Rippers & Converters
- loveemu's seq2mid - simple open-source tool
- Pgconv - GUI application for Windows. It also supports VAB2DLS conversion. It is useful but a bit hard to use.
- VGMTrans - Large MIDI converter, it also supports SEQ/VAB.
- VGMToolbox - It has SEP Splitter.
- bin2seq - CUI application, it can extract SEQ files from a big archive.