CSW (File Format)
CSW (Controller Speaker Wave) files contain sound data that is played through the Wii Remote Speaker. They are linked to BCT files. Super Mario Galaxy and Super Mario Galaxy 2 each contain only one CSW file, located in AudioRes/SpkRes/SpkRes.arc/bin/spkwave.csw.
File specifications
CSW files don't seem to contain a header. Instead they directly start with a table.
Sound offset table
| Offset | Type | Description |
|---|---|---|
| 0x0 | UInt32 (0x4) | Size of the file in bytes |
| 0x4 | UInt32 (0x4) | Amount of sounds |
| 0x8 + N * 4 | UInt32 (0x4) | Offset to sound data |
The rest of the section is padded to the nearest 0x20.
Sound data
| Offset | Type | Description |
|---|---|---|
| 0x0 | UInt32 (0x4) | Size of wave data in bytes |
| 0x4 | UInt32 (0x4) | Loop start in samples, 0xFFFF when no loop |
| 0x8 | UInt32 (0x4) | Loop end in samples, 0xFFFF when no loop |
| 0xC | Wave data |
The rest of the file is padded to the nearest 0x20.
Unused Speaker Sounds
Needs some research. Tho I can reliably say that the tennis racket sound is unused.