(转)WAVE PCM 声音文件格式

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

时间: 2024-10-25 14:34:46

(转)WAVE PCM 声音文件格式的相关文章

声音文件格式、常见的数字音频格式

数字声音在计算机中存储和处理时,其数据必须以文件的形式进行组织,所选用 的文件格式必须得到操作系统和应用软件的支持.不同计算机一级应用软件中使用的声音文件格式也互不相同. 常见的数字音频格式   音频格式 说明 1 Wave(.WAV) 是微软公司开 发的一种声音文件格式,也叫波形声音文件,是最早的数字音频格式,被Windows平台及其应用程序广泛支持.WAV格式支持许多压缩算法,支持多种音频 位数.采样频率和声道,采用44.1kHz的采样频率,16位量化位数,跟CD一样,对存储空间需求太大不便

分享python分析wave, pcm音频文件

最近研究的,我用的是python3.3, 用matplotlib画图, 下面代码演示分析pcm文件,如果是wave文件,把wave的文件头去掉就是pcm文件了. 代码如下 1 # -*- coding:utf-8 -*- 2 3 import array 4 import os 5 from matplotlib import pyplot 6 7 fileName = 'e:/music/qianqian.pcm' # 2 channel, 16 bit per sample 8 file =

WAVE PCM soundfile format

WAVE PCM soundfile format The WAVE file format is a subset of Microsoft's RIFF specification for the storage of multimedia files. A RIFF file starts out with a file header followed by a sequence of data chunks. A WAVE file is often just a RIFF file w

通过WinAPI播放PCM声音

在Windows平台上,播放PCM声音使用的API通常有如下两种. waveOut and waveIn:传统的音频MMEAPI,也是使用的最多的 xAudio2:C++/COM API,主要针对游戏开发,是DirectSound的基础 在Windows Vista以后,推出了更加强大的WASAPI ,并用WASAPI封装了MME以及DirectSound API. 对于前面的两个API,在.net平台下有如下封装: NAudio Sharpdx WSAPI可能由于更加复杂,没有什么比较完善的封

文件格式说明

电脑常用文件格式大全 文件格式, 电脑, Microsoft, ACL, Adobe A 对象代码库文件 AAM Authorware shocked文件3 }! H, l& {$ O' H5 T% L& W6 | AAS Authorware shocked包8 s& u1 ^' {6 v1 j1 N ABF Adobe二进制屏幕字体" k% _8 g/ V: `% z# z0 i+ W ABK CorelDRAW自动备份文件 ABS 该类文件有时用于指示一个摘要(就像

常用文件扩展名

http://baike.baidu.com/view/579392.htm ISO:镜像文件 RAR:压缩包 html:网页 zip:压缩包 exe:安装包 pdf:pdf文档 rm:视频文件 avi:视频文件 tmp:临时文件 xls:excel工作表 mdf:虚拟光驱镜像文件 txt:记事本 doc:word文档 MID:声卡声乐文件 文件类型 扩展名及打开方式 文档文件 txt(所有文字处理软件或编辑器都可打开).doc(word及wps等软件可打开).hlp(adobe acrobat

文件后缀代表的意思

文件后缀格式类型大全 sys 系统文件, dmp Oracle二进制格式备份文件 bat DOS批处理文件,可执行文件 TMP Windows临时文件 JS JavaScript源文件 NLS 用于本地化的国家语言支持文件(例如,Uniscape) LOG 日志文件 PRS Harvard Graphics for Windows演示文件 MSA 魔术阴影档案 MSG Microsoft邮件消息 MSI Windows 安装器包 MSN Microsoft网络文档:Descent Mission

wave文件(*.wav)格式、PCM数据格式

1. 音频简介 经常见到这样的描述: 44100HZ 16bit stereo 或者 22050HZ 8bit mono 等等. 44100HZ 16bit stereo: 每秒钟有 44100 次采样, 采样数据用 16 位(2字节)记录, 双声道(立体声); 22050HZ 8bit  mono: 每秒钟有 22050 次采样, 采样数据用 8 位(1字节)记录, 单声道; 当然也可以有 16bit 的单声道或 8bit 的立体声, 等等. 采样率是指:声音信号在"模→数"转换过程

多媒体文件格式(四):PCM / WAV 格式

一.名词解析 PCM(Pulse Code Modulation)也被称为脉码编码调制,PCM中的声音数据没有被压缩,它是由模拟信号经过采样.量化.编码转换成的标准的数字音频数据.采样转换方式参考下图进行了解: 音频采样包含以下几大要素: 1. 采样率 采样率表示音频信号每秒的数字快照数.该速率决定了音频文件的频率范围.采样率越高,数字波形的形状越接近原始模拟波形.低采样率会限制可录制的频率范围,这可导致录音表现原始声音的效果不佳.根据奈奎斯特采样定理,为了重现给定频率,采样率必须至少是该频率的