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]