简介

本人要在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/ [在线进制转换]

posted on 2020-04-21 17:16  HDU李少帅  阅读(419)  评论(0编辑  收藏  举报