Sound Bank

From Burnout Wiki

An audio container format developed by Electronic Arts and used extensively by various EA-published games released in the 2000s, including Burnout's PlayStation Portable releases. This version uses the extension .SDT.

Layout

Offset Name Type Value Notes
0x00 File magic uint 0x424E4B6C (BNKl)
0x04 Version number uint16 0x05
0x06 Number of sounds in archive uint16
0x08 Header size (bytes) uint
0x0C Archive size (bytes) uint
0x10 Padding word
0x14 PT header offsets PT Header*[] Each pointer uses an offset relative to its start position.

PT Header

SDT contains metadata headers, each 0x20 in length, for each sound in the archive. The metadata in question consists of a given sound's sample rate, compression, start offset, etc.

Offset Name Type Value Notes
0x00 ID int16 0x5054 (PT)
0x02 Platform identifier enum 0x0A 0x00 = PC, 0x03 = Macintosh, 0x05 = PlayStation 2, 0x06 = GameCube,
0x07 = Xbox, 0x09 = Xenon (Xbox 360), 0x0A = PSP
0x03 Padding byte
0x04 Patch substream Patch Substream

Patch Substream (WIP)

This structure contains all of a given sound's actual metadata.

Offset Name Type Value Notes
0x00 Compression version int8
0x02 Number of audio channels int8 1 = mono, 2 = stereo
0x03 Compression type int8
0x04 Stream sample rate (Hz) int8
0x06 Stream sample count int8
0x12 Loop offset int8
0x13 Loop length int8
0x14 Audio stream offset word* Uses big-endian byte order; points to the exact location of the stream in the archive.