wave格式学习

wave格式简述

(1) 

Waveform Audio File FormatWAVE,又或者是因为扩展名而被大众所知的WAVWave文件格式是用于存储数字音频数据的Windows本地文件格式。 由于Windows的普及和为平台编写的大量程序,它已经成为电脑上最广泛支持的数字音频文件格式之一。 几乎每个可以打开或保存数字音频的现代程序都支持这种文件格式。 由于Wave文件格式是Windows原生的,因此Intel处理器,所有数据值都以Little-Endian(最低有效字节优先)顺序存储。Wave文件可以包含用于指定提示点标签,注释等的文本字符串。字符串以第一个字节指定字符串中以下ASCII文本字节数的格式存储。

如下图为例:7表示后面“example”的字节数

(2) 

Wave文件使用标准的RIFF结构,将文件内容(样本格式,数字音频样本等)分组为单独的块,每个包含自己的头和数据字节。块头指定块数据字节的类型和大小。该组织方法允许不使用或识别特定类型的块的程序轻松跳过它们,并继续处理已知的块。某些类型的块可能包含子块。

RIFF文件块的一个棘手之处在于它们必须是字对齐的。这意味着它们的总大小必须是2个字节的倍数(即2,4,6,8等等)。如果一个块包含奇数个数据字节,使其不能字对齐,那么最后一个数据字节就必须用值为零的额外字节来填充。这个额外的填充字节不计入块大小,因此程序必须总是对齐一个块头大小值,以便计算以下块的偏移量。

下图为基本的wave文件层:可见“fmt”块和“data”块实际上是“RIFF”块的子块。


(3)

典型的wave文件格式如下图:



下图为一个具体的 wave文件的存储方式:


从上图可以看出,该wave文件采用PCM编码,双声道,取样率为22050hz,传输速率为88200字节/s,每个样点占4字节且为16位量化编码,存储顺序是每个样点的左右声道交替存储。


(4)

Q : 8bit和16bit样值的二进制编码方式表示一样吗?

A : 两者的编码方式并不一样,8bit采样存储方式为unsigned bytes,范围从0到255。而16bit采样存储方式为2字节signed integers,范围从-32768到32767。

Q : 现有的WAV支持哪几种音频压缩方法?

A:下图为当前使用的常见压缩代码的列表




【参考文献:1、http://soundfile.sapp.org/doc/WaveFormat/

    2、https://archive.is/UjwDW#selection-1193.0-1193.208 】




评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值