Under Construction
This article is not finished. Help improve it by adding accurate information or correcting grammar and spelling.
BRWSD (Binary Revolution Wave Sound Data) is a sub file format found in BRSAR files from many Wii games. It consists of a table of instance parameters that link to direct audios found into BRWAR files.
File Format
Offset |
Type |
Description
|
0x00 |
String |
File magic. Always RWSD in ASCII.
|
0x04 |
UInt16 |
Byte order mark (BOM): The value is always 0xFEFF. If value 0xFFFE is read, then the false endian is used. Mario Kart Wii uses nearly always big endian (bytes 0xFE,0xFF).
|
0x06 |
UInt16 |
Version number of the file format. (?)
|
0x08 |
UInt32 |
Length of the file in bytes.
|
0x0C |
UInt16 |
Length of this header in bytes.
|
0x0E |
UInt16 |
Number of sections.
|
0x10 |
UInt32 |
Offset to DATA section.
|
0x14 |
UInt32 |
Length of DATA section.
|
0x18 |
UInt32 |
Offset to WAVE section.
|
0x1C |
UInt32 |
Length of WAVE section.
|
DATA
The DATA section starts with a header.
Offset |
Type |
Description
|
0x00 |
String |
Section magic. Always DATA in ASCII.
|
0x04 |
UInt32 |
Length of this section.
|
0x08 |
UInt32 |
N = Number of Wave Information Data Entries.
|
0x0C |
DataRef[N] |
References to Wave Information Data Entries.
|
Wave Information Data Table
The DATA header is followed by a table that lists the entries of wave information data. All offsets are relative to the start of this table.
Offset |
Type |
Description
|
0x00 |
DataRef |
Reference to WSD Information Data Entry.
|
0x08 |
DataRef |
Reference to Track Table.
|
0x10 |
DataRef |
Reference to Note Table.
|
WSD Information Data Entry
Offset |
Type |
Description
|
0x00 |
Float |
Pitch
|
0x04 |
Byte |
Pan (0–127)
|
0x05 |
Byte |
SurroundPan (0–127)
|
0x06 |
Byte |
FxSendA
|
0x07 |
Byte |
FxSendB
|
0x08 |
Byte |
FxSendC
|
0x09 |
SByte |
MainSend
|
0x0A |
Byte[2] |
Padding
|
0x0C |
DataRef |
Reference to address to Graph Enviroment Table. Always 0.
|
0x14 |
DataRef |
Reference to address to Randomizer Table. Always 0.
|
0x1C |
UInt32 |
Reserved.
|
Track Table
All offsets are relative to the Wave Information Data Table.
Offset |
Type |
Description
|
0x00 |
UInt32 |
N = Number of Track Infos.
|
0x04 |
DataRef[N] |
References to Track Info.
|
Track Info
Offset |
Type |
Description
|
0x00 |
DataRef |
Reference to Note Event Table.
|
Note Event Table
Offset |
Type |
Description
|
0x00 |
UInt32 |
N = Number of Note Events.
|
0x04 |
DataRef[N] |
References to Note Events.
|
Note Event
Offset |
Type |
Description
|
0x00 |
Float |
Position
|
0x04 |
Float |
Length
|
0x08 |
UInt32 |
Note Index.
|
0x10 |
UInt32 |
Reserved
|
Note Table
All offsets are relative to the Wave Information Data Table.
Offset |
Type |
Description
|
0x00 |
UInt32 |
N = Number of Note Information Entries.
|
0x04 |
DataRef[N] |
References to Note Information Entries.
|
Note Information Entry
Offset |
Type |
Description
|
0x00 |
Int32 |
Wave Index
|
0x04 |
Byte |
Attack (-1–127)
|
0x05 |
Byte |
InfoDecay (-1–127)
|
0x06 |
Byte |
Sustain (-1–127)
|
0x07 |
Byte |
Release (-1–127)
|
0x08 |
Byte |
Hold (-1–127)
|
0x09 |
Byte[3] |
Padding
|
0x0C |
Byte |
OriginalKey
|
0x0D |
Byte |
Volume (0–127)
|
0x0E |
Byte |
InfoPan (0–127)
|
0x0F |
Byte |
InfoSurroundPan (0–127)
|
0x10 |
Float |
InfoPitch
|
0x14 |
DataRef |
Reference to address to LFO Table. Always 0.
|
0x1C |
DataRef |
Reference to address to Graph Enviroment Table. Always 0.
|
0x24 |
DataRef |
Reference to address to Randomizer Table. Always 0.
|
0x2C |
UInt32 |
Reserved
|
WAVE
The WAVE section starts with a header.
Offset |
Type |
Description
|
0x00 |
String |
Section magic. Always WAVE in ASCII.
|
0x04 |
UInt32 |
Length of this section.
|
0x08 |
UInt32 |
N = Number of offsets.
|
0x0C |
UInt32[N] |
Offsets to Wave Infos.
|
Data Reference
The Data Reference structure is used to point to other data types.
Offset |
Type |
Description
|
0x00 |
Byte |
Reference type. (0 = Address, 1 = Offset).
|
0x01 |
Byte |
Data type. Usually 0x00.
|
0x02 |
UInt16 |
Reserved.
|
0x04 |
UInt32 |
Value.
|
Tools
The following tools can handle BRWSD files: