AST (File Format)
From Wexos's Wiki
AST files are sound files used in some GameCube and Wii games such as Super Mario Galaxy, Super Mario Galaxy 2 and Mario Kart: Double Dash!!. The file contains a header followed by blocks with data.
File Format
Header
The file starts with a 0x40 bytes long header as follows:
Offset | Type | Description |
---|---|---|
0x00 | Char[4] | File magic. Always STRM in ASCII. |
0x04 | UInt32 | Size of all sound blocks in bytes. |
0x08 | UInt16 | Audio format. 0 = AFC ADPCM, 1 = PCM16. |
0x0A | UInt16 | Bits per sample. |
0x0C | UInt16 | Number of channels. |
0x0E | Int16 | Loop flag. -1 if it loops, 0 if it doesn't. |
0x10 | UInt32 | Sample rate. |
0x14 | UInt32 | Total number of samples. |
0x18 | UInt32 | Loop start in samples. |
0x1C | UInt32 | Loop end in samples. |
0x20 | UInt32 | Seems to be the block size of the first block. |
0x24 | UInt32 | Unknown. Only seen as 0. |
0x28 | Byte | Volume. Values range from 0 to 127. |
0x29 | Byte[3] | Padding. |
0x2C | Byte[0x14] | Unknown. Only seen as 0. Probably padding. |
BLCK
A file contains many BLCK sections which contain sound data. Each block has the following structure:
Offset | Type | Description |
---|---|---|
0x00 | Char[4] | Block magic. Always BLCK in ASCII. |
0x04 | UInt32 | Sound data size per channel in bytes. |
0x08 | UInt32 | Unknown, only set when audio format is ADPCM. |
0x0C | UInt32 | Unknown, only set when audio format is ADPCM. |
0x10 | Byte[0x10] | Unknown. Probably padding to align sound data. |
0x20 | Byte[][] | Sound data. |
Tools
The following tools can handle AST files:
- Wexos's Toolbox, by Wexos