STRM Specification
Finally I got 'em all!
Offset | Size | Description |
---|---|---|
00h | 4 | Group ID "STRM" |
04h | 2 | Unknown (always FFh FEh) |
06h | 2 | Unknown (always 00h 01h in STRM) |
08h | 4 | Size |
0Ch | 2 | Header Size (always 10h) |
0Eh | 2 | Number of Chunks (always 2) |
10h | 4 | Chunk ID "HEAD" |
14h | 4 | Chunk Size |
18h | 1 | Wave Type (0:PCM8/1:PCM16/2:(IMA-)ADPCM) |
19h | 1 | Loop Flag (bool) |
1Ah | 1 | Channels |
1Bh | 1 | Reserved (always 0) |
1Ch | 2 | Sampling Rate (perhaps resampled from the original) |
1Eh | 2 | Time? (1.0 / rate * 1.6756991e7*1 / 32) |
20h | 4 | Loop Offset (samples) |
24h | 4 | Number of Samples |
28h | 4 | Data Offset (always 68h) |
2Ch | 4 | Number of Blocks |
30h | 4 | Block Length (Per Channel) |
34h | 4 | Samples Per Block (Per Channel) |
38h | 4 | Last Block Length (Per Channel) |
3Ch | 4 | Samples Per Last Block (Per Channel) |
40h | 4 | Reserved (always 0) |
44h | 4 | Reserved (always 0) |
48h | 4 | Reserved (always 0) |
4Ch | 4 | Reserved (always 0) |
50h | 16 | Padding (always 0) |
60h | 4 | Chunk ID "DATA" |
64h | 4 | Chunk Size |
68h | 4 | Wave Data (see the following for details) |
Wave Data
A Block is the same as SWAV Wave Data.
Mono
- Block 1
- Block 2
- ...
- Block N (Last Block)
Stereo
- Block 1 L
- Block 1 R
- Block 2 L
- Block 2 R
- ...
- Block N L (Last Block)
- Block N R (Last Block)
*1:ARM7_CLOCK:33.513982MHz / 2