Line 9:
Line 9:
The header is 64 bytes long.
The header is 64 bytes long.
+
Here's a description of it:
{| class="wikitable"
{| class="wikitable"
Line 18:
Line 19:
| 0x0000
| 0x0000
| 4
| 4
−
| "STRM" (0x0354524D)
+
| "STRM" (0x5354524D)
|-
|-
| 0x0004
| 0x0004
Line 34:
Line 35:
| 0x0010
| 0x0010
| 4
| 4
−
| Sampling rate in Hz
+
| Sampling rate in Hz (typically 0x7D00 = 32000 Hz)
|-
|-
| 0x0014
| 0x0014
Line 50:
Line 51:
| 0x0020
| 0x0020
| 4
| 4
−
| Loopstart position?
+
| Block size? (typically 0x2760)
|-
|-
| 0x0024
| 0x0024
Line 56:
Line 57:
| Unknown
| Unknown
|}
|}
+
+
=== BLCK chunk ===
+
+
The BLCK chunk directly follows the AST header. It contains a 32-byte header, followed by the PCM16 sound data.
+
Here's a description of it:
+
+
{| class="wikitable"
+
|-
+
! Offset (from beginning of BLCK chunk)
+
! Size
+
! Description
+
|-
+
| 0x0000
+
| 4
+
| "BLCK" (0x424C434B)
+
|-
+
| 0x0004
+
| 4
+
| Block size? (typically 0x2760)
+
|-
+
| 0x0008
+
| 24
+
| Padding (zero)
+
|-
+
| 0x0020
+
| variable
+
| PCM16 data
+
|}
+
+
WARNING: The PCM16 data is stored in BIG-ENDIAN! Don't forget to byteswap each sample you read or your sound will be pure junk!