wave文件格式分析

(1).综述
wave(waveform audio file format)文件格式是微软和IBM的音频标准文件格式,支持压缩和无压缩,但通常为无压缩格式,所以文件较大,音质较好。
它采用RIFF即chunk文件存储方式。类似于一个容器存贮,存贮顺序


| 4字节标签 |


| 4字节数据块大小 |


|数据块,在数据块内可包含多个容器|


(2).数据组织方式
wave文件中数据存储采用小尾存储,低位在前,高位在后。如
char |7-0|
short |7-0| |15-8|

音频量化比特数由文件信息给出,当量化bit大于8时,以2的补码的形式存储,可能宽为9-32bit。例如16bit量化的wave文件,数据范围最大为+32767(0x7fff),最小为-32768(0x8000);而小于等于8bit则直接由原码给出。
cpu处理数据时一般以字节为单位读取数据,当wave文件以无压缩方式存贮时,若量化bit不为8的倍数则上取整,并在低位补零,例如以12bit量化的101000010111,存储为1010 0001 0111 0000,以2字节存贮,wave以小尾字节序存贮,故实际存储为30 a1。若是wave文件有压缩应该一个字节共同存储几个样本点。
当有多通道数据时,采用各样点值交替存贮的方式,如
单声道 sample1 sample2
stereo chanel1-sample1 chanel2-sample1 chanel1-sample2 chanel2-sample2 chanel1-sample3 chanel2-sample3……

wave还支持压缩方式,压缩方式由wFormatTag给出,常用的压缩格式有
0x0001 WAVE_FORMAT_PCM
0x0002 WAVE_FORMAT_ADPCM
0x0005 WAVE_FORMAT_IBM_CVSD
0x0006 WAVE_FORMAT_ALAW
0x0007 WAVE_FORMAT_MULAW
0x0031 WAVE_FORMAT_GSM610
0x0050 WAVE_FORMAT_MPEG
(3).文件组织方式
wave文件的组织方式为


Id=riff //4字节文件标识
Long length=filesize-8 //以字节为单位
Fileid=wave //RIFF类型,可能是wave或者avi
Data //数据块,包含其他chunk


在data中,必须包含fmt-ck和data-ck,而cue-ck、playlist-ck和list-ck等则是可选的,它们具体的含义如下
1.fmt-ck描述wave文件的基本信息

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值