文章目录一、WAV 文件格式一、WAV 文件格式这是纯 PCM 样本的二进制内容 : 开始的部分都是
00 方便阅读 ;
这是使用 Adobe Audition 将上述 PCM 音频数据转为 WAV 格式后的音频数据二进制信息 :
WAV 文件格式分析 : WAV 文件是在 PCM 纯音频样本数据的基础上添加了 44 字节的文件头 ;
代码语言:javascript复制52 49 46 46 A8 BD 1F 00 57 41 56 45 66 6D 74 20 12 00 00 00 01 00 02 00 80 BB 00 00 00 EE 02 00 04 00 10 00 00 00 64 61 74 61 00 A800 ~ 03 : 资源交换文件标志 ( RIFF ) , 52 49 46 46 , 固定写法 ;
04 ~ 07 : 从下个地址 ( 08 ) 开始到 WAV 文件结尾的总字节数 , A8 BD 1F 00 , 整个 WAV 文件的大小就是该数值 + 8 ;
整个 WAV 文件大小是 2,080,176 字节 ,
A8 BD 1F 00 使用十进制表示是 2,080,168 字节 ,
二者正好差了 8 字节 ;
该 int 字节计算公式 :
\rm PCM 音频样本总字节数 + 44 - 808 ~ 11 : WAVE 文件标志 , 57 41 56 45 , 是 WAVE 四个字母的 ASCII 码 , 固定写法 ;
~ : 波形格式标志 , 66 6D 74 20 , 一般都是 fmt , 其中 0x20 对应的字符是空格 ;
16~ 19 : 过渡字节 , 12 00 00 00 , 不确定 , 有的时候是 10 00 00 00 ;
20 ~ 21 : 格式种类 , 01 00 , 1 时表示线性 PCM 编码 ;
22 ~ 23 : 通道数 , 02 00 , 1 表示单声道 , 2 表示立体声 ;
22 ~ 23 : 通道数 , 02 00 , 1 表示单声道 , 2 表示立体声 ;
24 ~ 27 : 采样频率 , 80 BB 00 00 , 48000 Hz ;
28 ~
31 : 波形数据传输速率 , 即每秒中的字节数 , 00 EE 02 00 , 每秒传输 192000 字节 ;
计算公式 :
\cfrac{采样率 \times 通道数 \times 采样位数}{8} = \cfrac{48000 \times 2 \times 16}{8} = 192000采样位数是
16 位 ,
1 字节
8 位 ,
16 位是
2 字节 , 即每个采样
2 字节 ;
32 ~
33 : 数据块调整长度 , 04 00 , 4 字节 ;
计算公式如下 :
\cfrac{通道数 \times 样本数据位数}{8} = \cfrac{2 \times 16}{8} = 434 ~
35 : 每个样本的数据位数 , 10 00 , 16 位 ,
2 字节 ;
36 ~
39 : 数据标记 , 64 61 74 61 , data 的 ASCII 码值 ;
这里注意该 WAV 文件在 36 ~ 37 位置插入了两个无意义的 00 字节 , 目前不清楚含义 , 暂时不用管 ;
40 ~
43 : PCM 数据总长度, 单位 字节 , 00 A8 1F 00 , PCM 数据总长度为 2,074,624 字节 ;