|
1 XWAV file |
Standard WAV header |
RIFF header |
|
Format Chunk |
||
|
Additional XWAV header |
HARP Chunk |
|
|
XWAV directory |
HARP dir subchunk 1 |
|
|
HARP dir subchunk 2 |
||
|
. . . |
||
|
HARP dir subchunk 30 |
||
|
Data |
Data Chunk 1 |
|
|
Data Chunk 2 |
||
|
. . . |
||
|
Data Chunk 30 |
|
|
Field Name PARAMS.xhd. precedes each |
Length in Bytes |
Start |
End |
Format |
# of Elements |
Example |
|
Standard WAV header |
|||||||
|
Riff Header |
ChunkID |
4 |
0 |
3 |
uchar |
4 |
“RIFF” |
|
ChunkSize |
4 |
4 |
7 |
uint32 |
1 |
filesize-8 |
|
|
Format |
4 |
8 |
11 |
uchar |
4 |
“WAVE” |
|
|
Format Chunk |
fSubchunkID |
4 |
12 |
15 |
uchar |
4 |
“fmt “ |
|
fSubchunkSize |
4 |
16 |
19 |
uint32 |
1 |
16 |
|
|
AudioFormat |
2 |
20 |
21 |
uint16 |
1 |
1 |
|
|
NumChannels |
2 |
22 |
23 |
uint16 |
1 |
1 |
|
|
SampleRate |
4 |
24 |
27 |
uint32 |
1 |
200000 |
|
|
ByteRate |
4 |
28 |
31 |
uint32 |
1 |
400000 |
|
|
BlockAlign |
2 |
32 |
33 |
uint16 |
1 |
2 |
|
|
BitsPerSample |
2 |
34 |
35 |
uint16 |
1 |
16 |
|
|
SUBTOTAL |
|
36 |
0 |
35 |
|
|
|
|
Additional XWAV Header |
|||||||
|
HARP Chunk |
hSubchunkID |
4 |
36 |
39 |
uchar |
4 |
“harp” |
|
hSubchunkSize |
4 |
40 |
43 |
uint32 |
1 |
56+30*32 |
|
|
WavVersionNumber |
1 |
44 |
44 |
uchar |
1 |
0 |
|
|
FirmwareVersionNumber |
10 |
45 |
54 |
uchar |
10 |
1.xxxyyyzz |
|
|
InstrumentID |
4 |
55 |
58 |
uchar |
4 |
“01 “ |
|
|
SiteName |
4 |
59 |
62 |
uchar |
4 |
“ABCD” |
|
|
ExperimentName |
8 |
63 |
70 |
uchar |
8 |
“EXP12345” |
|
|
DiskSequenceNumber |
1 |
71 |
71 |
uchar |
1 |
1 |
|
|
DiskSerialNumber |
8 |
72 |
79 |
uchar |
8 |
12345678 |
|
|
NumOfRawFiles |
2 |
80 |
81 |
uint16 |
1 |
1 |
|
|
Longitude |
4 |
82 |
85 |
uint32 |
1 |
-17912345 |
|
|
Latitude |
4 |
86 |
89 |
uint32 |
1 |
8912345 |
|
|
Depth |
2 |
90 |
91 |
uint16 |
1 |
5555 |
|
|
Reserved |
8 |
92 |
99 |
uchar |
8 |
00000000 |
|
|
SUBTOTAL |
|
64 |
36 |
99 |
|
|
|
|
|
Field Name PARAMS.xhd. precedes each |
Length in Bytes |
Start |
End |
Format |
# of Elements |
Example |
|
Additional XWAV Header cont. Repeated for each RawFile(k) n=32(k-1), usually 30 |
|||||||
|
HARP dir Subchunks |
year(k) |
1 |
100+n |
100+n |
uchar |
1 |
7 |
|
month(k) |
1 |
101+n |
101+n |
uchar |
1 |
12 |
|
|
day(k) |
1 |
102+n |
102+n |
uchar |
1 |
31 |
|
|
hour(k) |
1 |
103+n |
103+n |
uchar |
1 |
23 |
|
|
minute(k) |
1 |
104+n |
104+n |
uchar |
1 |
59 |
|
|
secs(k) |
1 |
105+n |
105+n |
uchar |
1 |
59 |
|
|
ticks(k) |
2 |
106+n |
107+n |
uint16 |
1 |
999 |
|
|
byte_loc(k) |
4 |
108+n |
111+n |
uint32 |
1 |
1066 |
|
|
byte_length(k) |
4 |
112+n |
115+n |
uint32 |
1 |
30000000 |
|
|
write_length(k) |
4 |
116+n |
119+n |
uint32 |
1 |
60000 |
|
|
sample_rate(k) |
4 |
120+n |
123+n |
uint32 |
1 |
200000 |
|
|
gain(k) |
1 |
124+n |
124+n |
uint8 |
1 |
1 |
|
|
padding |
7 |
125+n |
131+n |
uchar |
7 |
0000000 |
|
|
SUBTOTAL |
|
32+n |
100 |
131+n |
|
|
|
|
Data Chunk |
|||||||
|
Data Chunk |
dSubchunkID |
4 |
132+n |
135+n |
uchar |
4 |
“data” |
|
dSubchunkSize |
4 |
136+n |
137+n |
uint32 |
1 |
datasize |
|
|
DATA |
|
138+n |
|
|
|
|
|
For additional information see comments in rdxwavhd.m, wrxwavhd.m, and initdata.m in Triton.
For typical full HARP XWAV files, file size will be 900,001,068 bytes or 30 raw files (n) 30,000,000 bytes/rawfiles & 1068 byte header.