Jump to content

Sound Bank: Difference between revisions

yup, this file is *still* a PITA
No edit summary
(yup, this file is *still* a PITA)
Line 1:
An audio container format developed by Electronic Arts and used exclusivelyextensively by various EA-published games released in the 2000s, including Burnout's PlayStation Portable releases. ItThis version uses the extension <code>.SDT</code>.
 
= Layout =
== SDT ==
{|class="wikitable"
|-
Line 11 ⟶ 10:
! Notes
|-
| 0x00 || File magic || uint || <code>0x424E4B6C</code> (<code>BNKl</code>) ||
! colspan="5" | Header
|-
| 0x000x04 || FileVersion magicnumber || UInt32uint16 || <code>BNKl</code>/<codett>0x424E4B6C0x05</codett> ||
|-
| 0x040x06 || VersionNumber numberof sounds in archive || UInt32uint16 || <tt>0x05<tt> ||
|-
| 0x060x08 || NumberHeader ofsize sounds in archive(bytes) || UInt32uint || ||
|-
| 0x080x0C || HeaderArchive size in (bytes/start offset of 1st sound in archive) || UInt32uint || ||
|-
| 0x0C0x10 || Archive size in bytes (minus header)Padding || UInt32word || ||
|-
| 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 (WIP) ===
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 || Header ID || UInt32int16 || (<code>PT/0/00x5054</code>/ (<code>0x50540A00PT</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
|-
| 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 || ||
|-
| 0x180x14 || Audio file startstream offset || PS-ADPCM audio fileword* || || Uses big-endian byte order; points to the exact location of the stream in the archive.
|}
Cookies help us deliver our services. By using our services, you agree to our use of cookies.