Took me a few hours, knock yourselves out.
BRSAR (Raw Sound ARchive)
BRSAR Header:
0x00(4) - RSAR ASCII
0x04(10)- A bunch of UNK values, lol
0x0E(2) - File count within archive
0x10(?) - BRSAR Relocation Group
BRSAR Relocation Group:
0x00(4) - Offset to file start (relative to start if BRSAR Header)
0x04(4) - Length of file
This goes on for as long as the File Count
SYMB (SYM Bank?)
SYMB Header:
0x00(4) - SYMB ASCII
0x04(4) - File Length
0x08(4) - Offset to String Relocation Group (relative to 0x08 of SYMB Header)
0x0C(4) - Mask Offset (relative to 0x08 of SYMB Header)
0x10(4) - Mask Offset (relative to 0x08 of SYMB Header)
0x14(4) - Mask Offset (relative to 0x08 of SYMB Header)
0x18(4) - Mask Offset (relative to 0x08 of SYMB Header)
String Relocation Group:
0x00(4) - Entry count
String Relocation Group: Entries:
0x00(4) - Offset to String (relative to 0x08 of SYMB Header)
Mask:
0x00(4) - UNK
0x04(4) - Entry Count
Mask Entry
0x00(14)- UNK
INFO (INFO)
INFO Header:
0x00(4) - INFO ASCII
0x04(4) - File Length
0x08(8) - 01 then offset to Sound Header
0x10(8) - 01 then offset to Banks Relocation Group (relative to 0x08 in INFO Header)
0x18(8) - 01 then offset to Types Relocation Group (relative to 0x08 in INFO Header)
0x20(8) - 01 then offset to Collections Relocation Group (relative to 0x08 in INFO Header)
0x28(8) - 01 then offset to Group Relocation Group (relative to 0x08 in INFO Header)
0x30(8) - 01 then offset to UNK Header (relative to 0x08 in INFO Header)
0x38(?) - INFO Relocation Group 1
Sound Header:
0x00(4) - String ID
0x04(4) - Group ID
0x08(4) - 00 00 00 00 constant
0x0C(8) - 01 then offset to Sound UNK 1 (relative to 0x08 in INFO Header)
0x14(1) - Flag 1
0x15(1) - Flag 2
0x16(1) - Flag 3
0x17(1) - Flag 4
0x18(8) - 01 (then 03 ??) then offset to Sound UNK 2 (relative to0x08 in INFO Header)
0x20(4) - UNK
0x24(4) - UNK
0x28(4) - UNK
Sound UNK 1:
0x00(4) - UNK
0x04(4) - UNK
0x08(4) - UNK
Sound UNK 2:
0x00(4) - Group Index
0x04(4) - UNK
0x08(4) - UNK
0x0C(4) - UNK
Banks Relocation Group:
0x00(4) - Entry count
Banks Relocation Group Entries:
0x00(1) - 01
0x01(7) - Offset to Bank Data (relative to 0x08 in INFO Header)
Bank Data:
0x00(4) - String ID
0x04(4) - Collection ID
Types Relocation Group:
0x00(4) - Entry count
Types Relocation Group Entries:
0x00(1) - 01
0x01(7) - Offset to Types Data (relative to 0x08 in INFO Header)
Types Data:
0x00(4) - UNK (Some sort of ID)
0x04(1) - UNK
0x05(11)- UNK
Collections Relocation Group:
0x00(4) - Entry count
Collections Relocation Group Entries:
0x00(1) - 01
0x01(7) - Offset to Collections Header (relative to 0x08 in INFO Header)
Collections Header:
0x00(4) - Length
0x04(4) - UNK
0x08(4) - FF FF FF FF constant
0x0C(8) - 00 00 00 00 00 00 00 00 constant
0x14(4) - Offset to Collections UNK Relocation Group
Collections UNK Relocation Group:
0x00(4) - Entry Count
Collections UNK Relocation Group Entry:
0x00(1) - 01
0x01(7) - Offset to Collections UNK
Collections UNK:
0x00(4) - UNK
0x04(4) - UNK
Group Relocation Group:
0x00(4) - Entry count
Group Relocation Group Entries:
0x00(1) - 01
0x01(7) - Offset to Group Data (relative to 0x08 in INFO Header)
Group Data:
0x00(4) - ID
0x04(4) - FF FF FF FF constant
0x08(4) - UNK
0x0C(4) - UNK
0x10(4) - Offset to RWSD (relative to 0x00 in BRSAR Header)
0x14(4) - RWSD length
0x18(4) - Offset to Raw Data (relative to 0x00 in BRSAR Header)
0x1C(4) - Length of Raw Data
0x20(8) - 01 then offset to Group Data Relocation Group (relative to 0x08 in INFO Header)
Raw Data:
Raw data
Group Data Relocation Group:
0x00(4) - Entry count
Group Data Relocation Group Entry:
0x00(1) - UNK (usually 01)
0x01(7) - Offset to Sound Group Header (relative to 0x08 in INFO Header)
Sound Group Header:
0x00(4) - Group ID
0x10(4) - 00 00 00 00 / Offset to RWSD (relative to RWSD offset)
0x14(4) - RWSD length
0x18(4) - 00 00 00 00 / Offset to Sound Data (relative to Sound Data offset)
0x1C(4) - Length of Sound Data
UNK Header:
0x00(16)- A bynch of 16bit UNK values
FILE (FILE)
FILE Header:
0x00(4) - FILE ASCII
0x04(4) - Length
RWSD (RaW SounD)
RWSD Header:
0x00(4) - RWSD ASCII
0x04(10)- A bunch of UNK values, lol
0x0E(2) - File count within archive
0x10(?) - RWSD Relocation Group
RWSD Relocation Group:
0x00(4) - Offset to file start (relative to start if RWSD Header)
0x04(4) - Length of file
This goes on for as long as the File Count
DATA (DATA)
DATA Header:
0x00(4) - DATA ASCII
0x04(4) - Offset to WAVE (relativetostart of DATA Header)
0x08(?) - Additional Sound Header Offset Relocation Group
Additional Sound Header Relocation Group:
0x00(4) - Entry count
Additional Sound Header Relocation Group Entry:
0x00(1) - 01
0x01(7) - Offset to Additional Sound Header Offset (relative to 0x08 from DATA Header)
Additional Sound Header Offset Entry:
0x00(1) - 01
0x01(7) - Offset to Additional Sound Header (relative to 0x08 from DATA Header)
Additional Sound Header:
0x00(4) - UNK float
0x04(4) - UNK float
0x08(2) - UNK
0x0A(2) - UNK
0x0C(4) - UNK
0x10(4) - UNK
0x14(4) - UNK
0x18(4) - UNK
0x1C(4) - UNK
0x20(4) - Additional Sound Header UNK 1 Relocation Group
Additional Sound Header UNK 1 Relocation Group:
0x00(4) - Entry count
Additional Sound Header UNK 1 Relocation Group Entry:
0x00(1) - 01
0x01(7) - Offset to Additional Sound Header UNK 2 Relocation Group Offset (relative to 0x08 in DATA Header)
Additional Sound Header UNK 2 Relocation Group:
0x00(4) - Entry count
Additional Sound Header UNK 2 Relocation Group Entry:
0x00(1) - 01
0x01(7) - Offset to Additional Sound Header UNK 2 (relative to 0x08 in DATA Header)
Additional Sound Header UNK 2:
0x00(4) - UNK
0x04(4) - UNK
0x08(4) - UNK
0x0C(4) - UNK
0x10(?) - Additional Sound Header UNK 3 Relocation Group
Additional Sound Header UNK 3 Relocation Group:
0x00(4) - Entry Count
Additional Sound Header UNK 3 Relocation Group Entry:
0x00(1) - 01
0x01(7) - Offset to Additional Sound Header UNK 3 (relative to 0x08 in DATA Header)
Additional Sound Header UNK 3:
0x00(4) - Index
0x04(4) - 7F 7F 7F 7F constant
0x08(4) - UNK
0x0C(4) - UNK float
0x10(4) - UNK float
0x14(4) - UNK
0x18(4) - UNK
0x1C(4) - UNK
0x20(4) - UNK
0x24(4) - UNK
0x28(4) - UNK
0x2C(4) - UNK
WAVE (WAVE)
WAVE Header:
0x00(4) - WAVE ASCII
0x04(4) - Length
0x08(?) - WAVE Header Relocation Group
WAVE Header Relocation Group:
0x00(4) - Entry count
WAVE Header Relocation Group Entries:
0x00(4) - Offset to WAVE Header (relative to 0x00 in WAVE Header)
WAVE Header:
0x00(1) - Encoding
0x01(2) - Is Looped (boolean, 0 = true, 1 = false)
0x03(3) - Frequency
0x06(4) - UNK
0x0A(2) - Flags
0x0C(4) - Samples
0x10(4) - UNK
0x14(4) - Offset to raw sound (relative to base raw sound)
0x18(4) - UNK
0x1C(4) - UNK
0x20(4) - UNK
0x24(4) - UNK
0x28(1) - UNK
0x29(4) - UNK
0x2D(4) - UNK
0x31(4) - UNK
0x35(4) - UNK
0x39(7) - UNK
0x3C(32)- UNK
0x5C(2) - Gain
0x5E(2) - PS
0x60(2) - YN1
0x62(2) - YN2
0x64(2) - LPS
0x66(3) - LYN1
0x69(3) - LYN2