Sound Bank: Difference between revisions
Content added Content deleted
AcuteSyntax (talk | contribs) No edit summary |
AcuteSyntax (talk | contribs) (yup, this file is *still* a PITA) |
||
Line 1:
An audio container format developed by Electronic Arts and used
= Layout =
{|class="wikitable"
|-
Line 11 ⟶ 10:
! Notes
|-
| 0x00 || File magic || uint || <code>0x424E4B6C</code> (<code>BNKl</code>) ||
|-
|
|-
|
|-
|
|-
|
|-
|
|-
| 0x14 || PT header offsets || PT Header*[] || || Each pointer uses an offset relative to its start position.
|-▼
|-▼
|}
=== PT Header
SDT contains metadata headers, each <tt>0x20</tt> in length, for each sound in the archive. The metadata in question consists of a given sound's sample rate, compression, start offset, etc.
Line 41 ⟶ 36:
! Notes
|-
| 0x00 ||
▲|-
| 0x02 || Platform identifier || enum || 0x0A || <tt>0x00</tt> = PC, <tt>0x03</tt> = Macintosh, <tt>0x05</tt> = PlayStation 2, <tt>0x06</tt> = GameCube,<br><tt>0x07</tt> = Xbox, <tt>0x09</tt> = Xenon (Xbox 360), <tt>0x0A</tt> = PSP
▲|-
| 0x03 || Padding || byte || ||
|-
| 0x04 || Patch substream || Patch Substream ||
|}
=== Patch Substream (WIP) ===
This structure contains all of a given sound's actual metadata.
{|class="wikitable"
|-
! 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 || ||
|-
|
|}
|
Revision as of 23:12, 16 November 2021
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. |