Sound Bank
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[edit | edit source]
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[edit | edit source]
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)[edit | edit source]
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. |