我是靠谱客的博主 俭朴蜜蜂,最近开发中收集的这篇文章主要介绍数据压缩作业3.1 WAV文件格式分析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、WAV文件概述

WAV是最常见的声音文件格式之一,是微软公司专门为Windows开发的一种标准数字音频文件,该文件能记录各种单声道或立体声的声音信息,并能保证声音不失真。数据本身的格式为PCM或压缩型,属于无损音乐格式的一种。WAV符合RIFF(Resource Interchange File Format)文件规范,用于保存Windows平台的音频信息资源,被Windows平台及其应用程序所广泛支持,该格式也支持MSADPCM,CCITT A LAW等多种压缩运算法,支持多种音频数字,取样频率和声道,标准格式化的WAV文件和CD格式一样,也是44.1K的取样频率,16位量化数字,因此在声音文件质量和CD相差无几

二、WAV文件格式

WAV文件遵循RIFF规则,其内容以区块(chunk)为最小单位进行存储。WAV文件一般由3个区块组成:RIFF chunk、Format chunk和Data chunk。另外,文件中还可能包含一些可选的区块,如:Fact chunk、Cue points chunk、Playlist chunk、Associated data list chunk等。

(1)RIFF区块

名称偏移地址字节数内容
ID0x004'RIFF'
Size0x044fileSize-8
Type0x08 4'WAVE'

以'RIFF'为标识
Size是整个文件的长度减去ID和Size的长度
Type是WAVE表示后面需要两个子块:Format区块和Data区块

(2)Format区块

名称偏移地址字节数内容
ID0x004'fmt'
Size0x04

4

数据长度
AudioFormat0x082音频格式
NumChannels0x0A2声道数
SampleRate0x0C4采样率
ByteRate0x104每秒字节数
BlockAlign0x142数据块对齐
BitsPerSample0x162采样位数

以'fmt '为标识

Size表示该区块数据的长度(不包含ID和Size的长度)

AudioFormat表示Data区块存储的音频数据的格式,PCM音频数据的值为1

NumChannels表示音频数据的声道数,1:单声道,2:双声道

SampleRate表示音频数据的采样率

ByteRate每秒数据字节数 = SampleRate * NumChannels * BitsPerSample / 8

BlockAlign每个采样所需的字节数 = NumChannels * BitsPerSample / 8

BitsPerSample每个采样存储的bit数,8:8bit,16:16bit,32:32bit

(3)Data区块

名称偏移地址字节数内容
ID0x004'data'
Size0x044N
Data0x08 N音频数据内容

以'data'为标识
Size表示音频数据的长度,N = ByteRate * seconds
Data音频数据

三、具体文件分析

以二进制形式打开一个WAV格式文件

(1)RIFF区块

第1-4字节:52 49 46 46 为资源交换文件标志 ( RIFF )固定写法

第5-8字节:02 15 16 00 表示从下个地址开始到 WAV 文件结尾的总字节数整个 WAV 文件的大小就是该数值 + 8 

第9-12字节:57 41 56 45  WAVE文件标志,是 WAVE 四个字母的 ASCII 码 , 固定写法 

2)Format区块

第13-16字节:66 6D 74 20 波形格式标志, 一般都是 fmt , 其中 0x20 对应的字符是空格 

第17-20字节:28 00 00 00 过渡字节

第21-22字节: FE FF 格式种类,1 时表示线性 PCM 编码 此处不为1

第23-24字节:02 00 通道数,1 表示单声道 , 2 表示立体声

第25-28字节:44 AC 00 00 采样频率此处为44.1kHz

第29-32字节:98 09 04 00 波形数据传输速率 , 即每秒中的字节数

第33-34字节:数据块调整长度 , 06 00 , 6 字节 

第35-36字节:18 00 每个样本的数据位数24位,3字节

(3)Data区块

(第37-72字节为文件所包含的其他区块,此处不再介绍)

第73--76字节:64 61 74 61 数据标记 , data 的 ASCII 码值 

第77-80字节 :BA 14 16 00 表示数据总长度, 单位字节 

参考资料:https://blog.csdn.net/shulianghan/article/details/117351966?ops_request_misc=&request_id=&biz_id=102&utm_term=wav%E6%96%87%E4%BB%B6%E5%88%86%E6%9E%90&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-9-117351966.142^v32^new_blog_pos_by_title,185^v2^control&spm=1018.2226.3001.4187

最后

以上就是俭朴蜜蜂为你收集整理的数据压缩作业3.1 WAV文件格式分析的全部内容,希望文章能够帮你解决数据压缩作业3.1 WAV文件格式分析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部