简介
本人要在js前端解析wav文件所以要了解一下wav文件的格式还好不是特别难。
废话不多说开始解析
wav 文件
分析软件
dumphex vscode插件
分析标准文件
00000000: 52 49 46 46 64 CE 00 00 57 41 56 45 66 6D 74 20 RIFFdN..WAVEfmt.
00000010: 10 00 00 00 01 00 01 00 40 1F 00 00 80 3E 00 00 ........@....>..
00000020: 02 00 10 00 64 61 74 61 40 CE 00 00 A1 FF 0F FF ....data@N..!...
00000030: B8 FE 63 FF 73 00 50 00 13 00 08 00 F7 FF F8 FF 8~c.s.P.....w.x.
wav 文件说明
wav描述
52 49 46 46
文件标示 RIFF
64 CE 00 00
文件大小 52836 字节
57 41 56 45
表示 WAVE
66 6D 74 20
表示 fmt
产生两个字块
fmt
10 00 00 00
子块的大小 16字节??
//===========================================
01 00
音频的格式是PCM的格式
01 00
通道数量 单通道
40 1F 00 00
采样率 8k
80 3E 00 00
ByteRate (比特率??) 16000 = 采样率 * 位深度 / 8
02 00
BlockAlign (音频最小块大小) 2bit?
10 00
bisPerSample(每次采样的位数) 16位位深度
//===========================================
子块大小16字节
data
64 61 74 61
表示 data
40 CE 00 00
子块2的大小 表示 52800 字节
接下来开始音频资料
A1 FF
因为是单通道的所以 这个16字节表示一个通道音频数据
0F FF
同上解析
参考链接
https://zh.wikipedia.org/wiki/WAV [推荐]
https://zh.wikipedia.org/wiki/ASCII [推荐]
http://tiny.systems/software/soundProgrammer/WavFormatDocs.pdf [强烈推荐]
https://tool.oschina.net/hexconvert/ [在线进制转换]