1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【数据压缩3】WAV格式文件分析

【数据压缩3】WAV格式文件分析

时间:2022-08-24 16:17:06

相关推荐

【数据压缩3】WAV格式文件分析

目录

WAV格式文件概述

关于RIFF文件格式

WAV文件内部结构

WAV格式文件具体实例分析

1.RIFF标头部分

2.fmt部分

3.data部分

问题

WAV格式文件概述

Waveform Audio Format(WAVE,又或者是因为.wav后缀而被大众所知的),它采用RIFF(Resource Interchange File Format)文件格式结构。通常用来保存PCM格式的原始音频数据,所以通常被称为无损音频。但是严格意义上来讲,wav也可以存储其它压缩格式的音频数据。

关于RIFF文件格式

构成RIFF文件的基本单位称之为块(chunk)。每个RIFF文档是由若干个块构成。每个块(chunk)由块标识、块长度及数据等三部分所组成。

WAV文件内部结构

(1)RIFF标头

(2)fmt子块——描述声音数据的格式

(3)data子块——描述数据的大小和实际的声音数据

注:data字段不一定是从36字节开始,data之前可能还会有拓展字段

WAV格式文件具体实例分析

以下列wav文件为例进行分析:

用二进制编辑器打开该文件:

1.RIFF标头部分

(1)第1-4字节:52 49 46 46 表示"RIFF”的ACSII字符,表明该文件为有效的 RIFF 格式文档

(2)第5-8字节:A6 88 E5 00 说明这个文件的数据大小,根据低位在前高位在后的原则,这串数据为0xE588A6,说明该文件大小为15042726+8=15042734字节。

打开文件属性可以验证:

(3) 第9-12字节:57 41 56 45 表示"WAV”的ACSII字符,表明该文件是 WAV 格式文件

2.fmt部分

(1)第13-16字节:66 6D 74 20 表示“fmt”的ASCII字符,是固定的

(2)第17-20字节:10 00 00 00 表示格式块长度,这串数据为0x00000010,表示块长度为16

(3)第21-22字节:01 00 这是一个WORD,表示编码格式为PCM

(4)第23-24字节:02 00 这是一个WORD,表示此文件为双声道文件

(5)第25-28字节:44 AC 00 00 表示采样频率,这串数据为0xAC44,表示采样频率为44100

(6)第29-32字节:10 B1 02 00 表示每秒数据量,这串数据为0x2B110,表示音频数据传送速率为176400,可以根据公式计算:SampleRate× NumChannels×BitsPerSample(根据后面可知为16)/8 = 44100×2×16/8=176400

(7)第33-34字节: 04 00 表示采样帧大小,这串数据为0x04,十进制数为4,也可以根据公式计算:NumChannels × BitsPerSample/8 = 2 × 16/8 = 4

(8)第35-36字节:10 00 表示每样本的数据位数,即16bit

3.data部分

(1)64 61 74 61:表示“data”的ASCII字符

(2)60 88 E5 00:表示音频数据块的大小,但是不包含Subchunk2ID和Subchunk2Size所占字节,这串数据为0xE58860,即音频数据块大小为15042656字节,与前面的整个文件数据数据大小15042726字节相差70字节,表明data前的头文件占70字节

问题

本实例中data部分前fmt部分后有34字节的拓展字段,在查找资料的过程中,一般都没有这些拓展部分,这些拓展部分也不知道具体表示什么意思,期待读者们在评论区里跟小编讨论讨论^-^

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。