JEITA CP-3451 - 76 - Address Offset Code Meaning Meaning (Hex) (Hex) +00 52 +01 49 +02 46 +03 46 "RIFF" (ckID) +04 ckSize (4 Bytes) +08 57 +09 41 "fmt" +0A 56 ckSize(4 Bytes) +0B 45 "WAVE" (formType) ckData[ckSize] +0C : fmt-ck "fact" : ckSize(4 Bytes) : fact-ck ckData [ckSize] ckData [ckSize] of RIFF chunk data-ck "data" ckSize(4 Bytes) ckData [ckSize] Figure 35 Data Structure of the WAVE Form Audio File Format <fmt-ck> fmt-ck (format chunk) contains format information designating the format of audio data included in the data-ck (data chunk) described later below. The ckID (chunk ID) of fmt-ck is "fmt." "fmt " is 3 characters long, so a blank character (20.H) goes at the end. fmt-ck is mandatory and shall always be recorded before data-ck. Since fmt-ck has the chunk structure, ckSize and ckData[ckSize] are included as its members; but the contents of the  ckData  depend  on  the  format  type  (audio  coding  format).  This  ckData  consists  of  the  structure  given  in Equation 2, and the byte array given in Equation 3. struct{ unsigned int      wFormatTag; // Format type unsigned int      nChannels; // Number of channels unsigned long    nSamplesPerSec; // Sampling rate unsigned long    nAvgBytesPerSec; // Average bytes per second unsigned int      nBlockAlign; // Block alignment unsigned int      wBitsPerSample; // Bits per sample unsigned int      cbSize; // Additional bytes } WAVEFORMATEX;                                                                                                - - -[Equation 2] unsigned char    extByte[cbSize]; // Additional byte array - - -[Equation 3]