< FF8Jump to navigation Jump to search
Final Fantasy 8's sound effects are stored within two files. The audio.dat contains the actual wav files, compressed as 4-bit ADPCM. The audio.fmt file is a locator for sounds in the dat.
FMT File Structure
The FMT is headed by 4 bytes representing the number of sound file headers in the rest of the FMT file, then by a 36 byte header that isn't interesting.
Each sound header (beginning with the first at 0x28) either contains 70 bytes if it represents a valid sound file, or 38 bytes if it's a blank entry (those 38 bytes are all 0x0)
Each sound header representing a valid sound file contains the following structure:
|0x00||4 bytes||Size of wav file in the dat.|
|0x04||4 bytes||Offset of wav file in the dat.|
|0x08||12 bytes||Unknown. If first byte is 0, the other 11 are always 0. Probably some kind of looping metadata.|
|0x14||18 bytes||Microsoft WAVFORMATEX header for the wav file.|
|0x26||2 bytes||Samples per block|
|0x28||2 bytes||Number of ADPCM coefficients (used for compression, should always be 7).|
|0x2A||28 bytes||Standard Microsoft ADPCMCoefSets.|