Sound Bank: Difference between revisions
Content added Content deleted
AcuteSyntax (talk | contribs) (→SDT) |
AcuteSyntax (talk | contribs) mNo edit summary |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
An audio container format developed by Electronic Arts and used |
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 <code>.SDT</code>. |
||
= Layout = |
= Layout = |
||
== SDT == |
|||
{|class="wikitable" |
{|class="wikitable" |
||
|- |
|- |
||
Line 11: | Line 10: | ||
! Notes |
! Notes |
||
|- |
|- |
||
| 0x00 || File magic || uint || <code>0x424E4B6C</code> (<code>BNKl</code>) || |
|||
! colspan="5" | Header |
|||
|- |
|- |
||
| |
| 0x04 || Version number || uint16 || <tt>0x05<tt> || |
||
|- |
|- |
||
| |
| 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. |
|||
! colspan="5" | PT Header Array |
|||
⚫ | |||
| 0x14 || Array size in bytes || UInt32 || || |
|||
⚫ | |||
| 0x18 || PT header offsets || [[Sound_Data_Table#PT_Header_(WIP)|PT Header]]*[] || |
|||
|} |
|} |
||
== PT Header |
=== 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. |
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 36: | Line 31: | ||
|- |
|- |
||
! Offset |
! Offset |
||
! |
! Name |
||
! Type |
! Type |
||
! Value |
|||
! Description |
|||
! |
! Notes |
||
|- |
|- |
||
| |
| 0x00 || ID || int16 || <code>0x5054</code> (<code>PT</code>) || |
||
|- |
|- |
||
| 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 |
|||
| <tt>0x18 || <tt>0x04 || UInt32 || Audio start offset || Uses big-endian byte order. |
|||
⚫ | |||
| 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 || || |
|||
|- |
|||
| 0x14 || Audio stream offset || word* || || Uses big-endian byte order; points to the exact location of the stream in the archive. |
|||
|} |
|||
[[Category:Formats_(Takedown-Dominator)]] |
Latest revision as of 22:16, 5 February 2022
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. |