WAVE文件格式是Microsoft为存储多媒体的RIFF规范的一部分。一个RIFF文件以一个文件头开始,然后是一系列的数据块。一个WAVE文件常常仅由一个WAVE块构成,WAVE块包含一个说明格式的fmt块和存储取样信息的数据块。

标准WAVE文件格式

偏移

长度(字节)

变量名

描述

备注

0

4

ChunkID

ASCII字符“RIFF”,大端形式

RIFF头

4

4

ChunkSize

36+SubChunk2Size,即:4 + (8 + SubChunk1Size) + (8 + SubChunk2Size),指除文件前8字节后的字节数

RIFF头

8

4

Format

ASCII字符“WAVE”,大端形式

RIFF头

12

4

Subchunk1ID

ASCII字符“fmt ”,大端形式

Fmt子块

16

4

Subchunk1Size

对于PCM文件为16。指除前8字节的Fmt块大小

Fmt子块

20

2

AudioFormat

PCM=1,其他值指以某种形式压缩(见表2)

Fmt子块

22

2

NumChannels

单声道=1,立体声=2

Fmt子块

24

4

SampleRate

取样率,取16000

Fmt子块

28

4

ByteRate

SampleRate * NumChannels * BitsPerSample/8

Fmt子块

32

2

BlockAlign

NumChannels * BitsPerSample/8,所有声道中一个样本数据的字节总数

Fmt子块

34

2

BitsPerSample

8或16

Fmt子块

36

4

Subchunk2ID

ASCII字符串“data”

Data子块

40

4

Subchunk2Size

NumSamples * NumChannels * BitsPerSample/8,指数据中的字节数

Data子块

44

*

Data

实际的声音数据

 

表2 Format Code 格式编码

格式编码

预处理符号

数据

0x0001

WAVE_FORMAT_PCM

PCM

0x0003

WAVE_FORMAT_IEEE_FLOAT

Ieee float

0x0006

WAVE_FORMAT_ALAW

8bits ITU-T G.711 A-law

0x0007

WAVE_FORMAT_MULAW

8-bit ITU-T G.711 u-law

0xFFFE

WAVE_FORMAT_EXTENSIBLE

 

注意:

1)WAVE文件默认的字节顺序是小端顺序,若是大端顺序用RIFX代替RIFF标识

2)取样数据必须是偶数字节

3)8位取样数据被存储为无符号数,从0到255.16位的取样数据被存储为补码,从-32768到32767

4)在wave数据流中可能有添加的子块。每一个子块有char SubChunkID[4],unsigned long SubChunkSize和SubChunkSize字节的数据

5)RIFF代表Resource Interchange File Format

转自:http://blog.csdn.net/foxwit/article/details/5802389

(转)WAVE PCM 声音文件格式相关推荐

  1. 音频编解码·格式篇(1)Wave PCM audio format(WAV)

    音频编解码·格式篇(1)Wave PCM audio format(WAV) 作者:柳大·Poechant 博客:Blog.CSDN.net/Poechant 邮箱:zhongchao.ustc@gm ...

  2. PCM音频文件格式的头信息

    一个裸的PCM格式音频数据,如果不带头信息,不知道其采样率等相关信息,就无法用播放器播放出来.下面是默认的头信息格式: //音频头部格式 struct wave_pcm_hdr {char riff[ ...

  3. 东进语音卡 java_东进语音卡的声音文件格式

    转自东进论坛 语音卡只支持8K8bit a-law 单声道的 PCM.wave.mp3,您的立体声的mp3需要转换成单声道,8k 8bit的才能播放 问:怎么样把wav格式的文件转换成东进卡能播放的格 ...

  4. android 相机拍照声音文件格式,android4.1 添加相机快门声音开关

    最近接到一客户需求,要为相机添加一个shutter sound的controlbtn,刚看到的时候,觉得很简单吧,不就是在布局中添加好控件,然后响应close和open事件调用相应的方法就行了.想想是 ...

  5. 计算机不使用的声音文件格式,爱国者的录音笔录了两个音频但是都没法播放,显示不支持文件格式,怎么办...

    MP3格式转换软件的款式有很多种,电脑中的mp3格式转换软件要怎么使用呢?电脑上需要安装一个音频转换器来把其他格式的音频文件转换成MP3格式的音频文件,要使用哪款MP3格式转换软件呢?小可爱们不用发愁 ...

  6. 使用DirectSound进行PCM声音采集

    msdn有directsound函数的讲解,网上有类似流程的例子.我就不说废话了哈,直接说一下步骤, 因为步骤清楚了,自然写起来就不那么费劲了.^ .^ 第一步:初始化 CoInitialize(); ...

  7. Android音频开发(五)如何存储和解析最简单的音频wav文件

    我们大家都知道,无论是文字.图像还是声音,都必须以一定的格式来组织和存储起来,然后其它的软件再以相同的协议规则,相应的格式才能去打开解析这一段数据,例如,对于原始的图像数据,我们常见的格式有 YUV. ...

  8. 带你分析wav音频文件结构(实例+代码)

    转载请注明出处,谢谢您!https://blog.csdn.net/ljrsunshine/article/details/89320026 对wav文件的一些探索,与大家一起学习 文章目录 RIFF ...

  9. Winamp输入模块编写详解

    写给C/C++基础类的朋友:     很长时间都没有认真的来版上和网友们聊聊了,偶尔上来也是随便转转,仅处理一下版务.这些日子里来你们之中的有些人给我发了短消息,问道"嘿,哥们(大多数时候用 ...

最新文章

  1. SpringCloud Gateway 测试问题解决
  2. NanoPi NEO Air使用五:安装Xfce和xrdp,实现远程访问
  3. 糟糕!HttpClient 连接池设置引发的一次雪崩!
  4. 一文读懂“新一代人工智能地图” ,让AI真正走进用户的生活
  5. 世纪联华的 Serverless 之路
  6. Gitlab创建第一个项目
  7. 容器服务kubernetes弹性伸缩高级用法
  8. P1423 小玉在游泳(python3实现)
  9. 操作系统——生产者-消费者问题
  10. 买表(【CCF】NOI Online能力测试3 入门组)
  11. 深度学习各场景评估指标总结
  12. Winform分页控件支持表头全选操作实现之最优方法
  13. @程序员,你会教自己的孩子学习编程吗?
  14. P1980 [NOIP2013 普及组] 计数问题
  15. 回想过去几年的编程生活
  16. bugku之密码ok解题思路
  17. BZOJ——2563: 阿狸和桃子的游戏
  18. 银行数字化转型导师坚鹏:基于招商银行案例研究的银行APP运营
  19. 能 ping 通但端口不通时端口可用性探测说明
  20. 用JAVA写一个画图小程序(JAVA 大作业)

热门文章

  1. 数字认证是做什么的?数字认证有什么用?
  2. java计算机毕业设计技术旅游平台源码+mysql数据库+系统+lw文档+部署
  3. Hyper-V 2016 系列教程50 某德国制造型企业上线案例分享
  4. 【优化选址】基于人工蜂群算法求解无线网络传感覆盖优化问题含Matlab源码
  5. python鸭子类型与协议理解
  6. 第一不完全性定理证明标号分类 拆解汉译 知识背景——哥德尔原著英译拆解汉译之一
  7. 人工智能讲师AI讲师叶梓谈人工智能的应用人工智能项目咨询应用案例-8
  8. electron打包的一些问题
  9. TF-IDF的原理概述
  10. [ZUCC 计网]BB-quiz-数据链路层测试-2020