【数据压缩】作业3:分析WAV文件

一.WAV简介

1.简介

WAV文件是在PC机平台上很常见的、最经典的多媒体音频文件,最早于1991年8月出现在Windows 3.1操作系统上,文件扩展名为WAV,是WaveFom的简写,也称为波形文件,可直接存储声音波形,还原的波形曲线十分逼真。WAV文件格式简称WAV格式是一种存储声音波形的数字音频格式,是由微软公司和IBM联合设计的,经过了多次修订,可用于Windows,Macintosh,Linix等多种操作系统。

2.WAV文件结构

RIFF块文件格式类型”WAVE”FMT块FACT块DATA块

3.WAV文件头格式

偏移地址字节数数据类型字段名称字段说明00H4字符文档标识大写字符串”RIFF”,表明该文件为有效的RIFF格式文档04H4长整型数文件数据长度从下一个字段首地址开始到文件末尾的总字节数。该字段的数值加8为当前文件的实际长度。08H4字符文件格式类型所有WAV格式的文件此处为字符串”WAVE”,表明该文件是WAV格式的文件0CH4字符格式块标识小写字符串”fmt”10H4长整型数格式块长度其数值不确定,取决于编码格式,可以是16,18,20,40等14H2整型数编码格式代码常见的WAV文件使用PCM脉冲编码调制格式,该数值通常为116H2整型数声道个数单声道为1,立体声或双声道为218H4长整型数采样频率每个声道单位时间采样次数。常用的采样频率有11025,22050和44100kHz1CH4长整型数数据传输速率该数值为:单声道×采样频率×每样本的数据位数/8。播放软件利用此值可以估计缓冲区的大小20H2整型数数据块对齐单位采样帧大小。该数值为:声道数×位数/8。播放软件需要一次处理多个该值大小的字节数据,用该数值调整缓冲区。22H2整型数采样位数存储每个采样值所用的二进制数位数。常见的位数有4,8,12,16,24,3224H对基本格式块的扩充部分。

二.实例分析

【数据压缩】作业3:分析WAV文件
  1. 52 49 46 46:ASCII字符”RIFF”,固定格式,表明这是一个WAV文件头
  2. DE 15 9E 01:该WAV文件的数据大小,等于文件总字节数➖8
  3. 57 41 56 45 66 6D 74 20:ASCII字符”WAVEfmt”,固定格式
  4. 10 00 00 00:DWORD,对应数字16,对应定义中的PCMWAVEFORMAT部分的大小(此时文件中不含附加信息)
  5. 01 00:WORD,对应定义为编码格式
  6. 02 00:WORD,对应数字2,表示声道数是2,是个双声道WAV
  7. 80 BB 00 00:对应采样频率
  8. 00 EE 02 00:代表每秒的数据量,波形音频数据传送速率,其值为声道数×每秒样本数×每样本的数据位数/8。播放软件利用此值可以估计缓冲区的大小
  9. 04 00:对应数字4,表示块对齐的内容。数据块的调整数,其值为声道数×每样本的数据位数/8。播放软件需要一次处理多个该值大小的字节数据,以便将其值用于缓冲区的调整。
  10. 10 00:数值为16,采样大小为16Bits,每样本的数据位数,表示每个声道中各个样本的数据位数。如果有多个声道,对每个声道而言,样本大小都一样。
  11. 4C 49:附加信息
  12. 53 54 1A 00:Fact是可选字段,一般当wav文件由某些软件转化而成,则包含该项,”04 00 00 00″Fact字段的大小为4字节,”F8 2F 14 00″是fact数据。
  13. 64 61 74 61:这个是ASCII字符”data”,标示头结束,开始数据区域。
  14. 98 15 9E 01:是数据区的开头

三.不同编码格式对WAV文件的影响

8位PCM 样本1样本2单声道0声道0声道双声道0声道(左)1声道(右)0声道(左)1声道(右) 16位单声道PCM 样本1样本2单声道0声道低字节0声道高字节0声道低字节0声道高字节 16位立体声PCM 样本10-左声道低字节0-左声道高字节1-右声道低字节1-右声道高字节

Original: https://blog.csdn.net/ismismist/article/details/123561055
Author: ismismist
Title: 【数据压缩】作业3:分析WAV文件

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/524902/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球