wav文件格式分析
WAV文件格式实例分析
![WAV文件格式实例分析](https://img.taocdn.com/s3/m/d045b2c0360cba1aa811da4f.png)
提 供 了 系统 化 的分 类 。 如 果 和 MS — DO S文件 系 统 作 比较 , R I F F c h u n k就 好 比是 硬 盘 的 根 目录 , 其 格 式 辨别 码就 是
5 0
一
《 微型机与应用} 2 0 0 2 年 第 3期
维普资讯
中 列 出 了 4种 不 同 频 道数 、取 样 所需 的位 元 数 及 位 元 位 置 的安 排 :
5 2 4 9 4 6 4 6: 对 应 的 AS CI I 码为 R I F F , 表示 c h u n k
W ORD wF o r ma t Ta g; W ORD n Ch a n ne l s ; DW OR D t t S ampl e s Pe r S e  ̄; DW O RD nA g By t e 。 p e r Se c; W OR D n Bl o c kAl i g n;
其意义分别为: ①w F o r ma t T a g : 记 录 此 声 音 的 格 式 代 号 , 例 如
W AVE FORM AT PCM 、 W AVE FORAM
— — — —
AD P C M等 =
式 辨 别 码 。然 而 RI F F又 规 定文 件 中 仅 能 有 1个 以 R I F F 为 辨 别码 的 c h u n k 。
0 0 01 : 记 录 声 音 的频 道数 , 频 道数 为 1 : O 0 0 0 5 6 2 2:记 录 每 秒 取 样 数 。 每 秒 取 样 数 为
0 00 0 56 22 H
O 0 O 0 5 6 2 2 : 记 录每 秒 的数 据 量 。每 秒 的数 据 量 为
WAV文件格式分析与详解
![WAV文件格式分析与详解](https://img.taocdn.com/s3/m/86705a76aaea998fcd220e05.png)
WAV文件格式分析与详解作者:王若钧何杉来源:《数字技术与应用》2014年第03期摘要:WAV文件格式信息是对WAV文件编程的重要依据。
揭开WAV文件格式的奥秘是开发功能强大的具有自主知识产权的语音处理软件的关键。
本文结合波形文件的基本知识,较系统地说明了WAV文件的存储原理、文件结构、WAV文件头格式、基于PCM编码的数据组织,内容全面、清楚、准确,还包含了一些新汇集的参数。
可作为开发人员的参考资料。
关键词:文件格式 WAV 编码声音中图分类号:TP311 文献标识码:A 文章编号:1007-9416(2014)03-0093-021 引言WAV文件是在PC机平台上很常见的、最经典的多媒体音频文件,最早于1991年8月出现在Windows 3.1操作系统上,文件扩展名为WAV,是WaveFom的简写,也称为波形文件,可直接存储声音波形,还原的波形曲线十分逼真。
WAV文件格式简称WAV格式是一种存储声音波形的数字音频格式,是由微软公司和IBM联合设计的,经过了多次修订,可用于Windows,Macintosh,Linix等多种操作系统,详述如下。
2 波形文件的基础知识2.1 波形文件的存储过程声源发出的声波通过话筒被转换成连续变化的电信号,经过放大、抗混叠滤波后,按固定的频率进行采样,每个样本是在一个采样周期内检测到的电信号幅度值;接下来将其由模拟电信号量化为由二进制数表示的积分值;最后编码并存储为音频流数据。
有的应用为了节省存储空间,存储前,还要对采样数据先进行压缩。
2.2 WAV文件的编码编码包括了两方面内容,一是按一定格式存储数据,二是采用一定的算法压缩数据。
WAV格式对音频流的编码没有硬性规定,支持非压缩的PCM(Puls Code Modulation)脉冲编码调制格式,还支持压缩型的微软自适应差分脉冲编码调制Microsoft ADPCM(Adaptive Differential Puls Code Modulation)、国际电报联盟(International Telegraph Union)制定的语音压缩标准ITU G.711 a-law、ITU G.711-law、IMA ADPCM、ITU G.723 ADPCM (Yamaha)、GSM 6.10、ITU G.721 ADPCM编码和其它压缩算法。
wav文件头
![wav文件头](https://img.taocdn.com/s3/m/247841305a8102d276a22f24.png)
一、各种WAV文件头格式WAV文件也分好几个种类,相应的非数据信息存储在文件头部分,以下是各种WAV文件头格式。
表18KHz采样、16比特量化的线性PCM语音信号的WAV文件头格式表(共44字节)表28KHz采样、8比特A律量化的PCM语音信号的WAV文件头格式表(共58字节)表38KHz采样、8比特U律量化的PCM语音信号的WAV文件头格式表(共58字节)表4ADPCM语音编码后的WAV文件头格式表(共90字节)表5GSM(Global System for Mobile Communication全球移动通信系统)语音编码后的WAV文件头格式表(共60字节)表6SBC(Sub-Band Coding子带编码)语音编码后的WAV文件头格式表(共58字节)表7CELP(Code Excited Linear Prediction码激励线性预测编码——近10年来最成功的语音编码算法)语音编码后的WAV文件头格式表(共58字节)概念1、读取WAV文件,填写WAVEFORMATEX结构WAVEFORMATEXtypedef struct{WORD wFormatTag;WORD nChannels;DWORD nSamplesPerSec;DWORD nAvgBytesPe rSec; WORD nBlockAlign;WORD wBitsPerSample;WORD cbSize;} WAVEFORMATEX;具体参数解释如下:wFormatTag:波形数据的格式,定义在MMREG.H文件中nChannels:波形数据的通道数:单声道或立体声nSamplesPerSec:采样率,对于PCM格式的波形数据,采样率有8.0 kHz,11.025kHz,22.05 kHz,44.1 kHz 等nAvgBytesPerSec:数据率,对于PCM格式的波形数据,数据率等于采样率乘以每样点字节数nBlockAlign:每个样点字节数wBitsPerSample:采样精度,对于PCM格式的波形数据,采样精度为8或16cbSize:附加格式信息的数据块大小概念2、定义设备头结构以下WAVEHDR定义了指向波形数据缓冲区的设备头。
WAV文件格式分析
![WAV文件格式分析](https://img.taocdn.com/s3/m/53df3a586ad97f192279168884868762cbaebb4b.png)
WAV文件格式分析
WAV(PCM)文件格式是一种容器文件格式,它可以包含多种编码方式的
音频数据,但最常见的是PCM编码方式。
PCM是一种无损的音频编码方式,它将音频信号按照时序进行采样,并将每个采样值量化成离散的数字,进
而进行存储。
PCM编码方式的音频数据是最原始、最接近原始音频信号的
数据,因此在音质上具有高保真性。
文件头是WAV(PCM)文件的第一部分,用于描述整个文件的基本信息。
文件头的长度为44个字节。
它包含了文件的格式、采样率、通道数、量
化位数等信息。
其中,采样率表示每秒采样的次数,通道数表示音频数据
的通道数(例如单声道或立体声),量化位数表示每个采样值用多少位进
行表示。
附加信息部分是可选的,它可以用来存储一些附加的音频信息,如音
频标记、标题、歌手信息等。
附加信息部分的长度可以根据需要进行扩展。
然而,WAV(PCM)文件格式也存在一些不足之处。
由于PCM编码方式没
有对音频数据进行压缩处理,因此WAV(PCM)文件的尺寸相对较大,占用
存储空间较多。
另外,由于其采样率和量化位数的限制,WAV(PCM)文件格
式可能无法满足一些高质量音频的需求。
针对这些问题,人们常常使用其
他音频格式如MP3、AAC等进行压缩编码,以减小文件尺寸并提高存储和
传输效率。
总结起来,WAV(PCM)文件格式是一种常见的音频文件格式,它基于PCM编码方式进行存储和传输。
WAV(PCM)文件格式具有音质高、兼容性强
等优点,但同时也存在文件较大和存储、传输效率低的不足之处。
wav文件格式分析
![wav文件格式分析](https://img.taocdn.com/s3/m/4a2d8ec189eb172ded63b70b.png)
char szFactID[4]; // 'f','a','c','t'
DWORD dwFactSize;
};
Data Chunk
==================================
| |所占字节数| 具体内容 |
==================================
{
char szFmtID[4]; // 'f','m','t',' '
DWORD dwFmtSize;
WAVE_FORMAT wavFormat;
};
Fact Chunk
==================================
| |所占字节数| 具体内容 |
--------------------------------------------------------------------
| Size | 4 Bytes | 数值为16或18,18则最后又附加信息 |
-------------------------------------------------------------------- ----
| FormatTag | 2 Bytes | 编码方式,一般为0x0001 | |
-------------------------------------------------------------------- |
| Channels | 2 Bytes | 声道数目,1--单声道;2--双声道 | |
wav文件格式分析
![wav文件格式分析](https://img.taocdn.com/s3/m/5ed85f5708a1284ac850439a.png)
一. RIFF概念在Windows环境下,大部分的多媒体文件都依循着一种结构来存放信息,这种结构称为"资源互换文件格式"(Resources lnterchange File Format),简称RIFF。
例如声音的WAV文件、视频的AV1文件等等均是由此结构衍生出来的。
RIFF可以看做是一种树状结构,其基本构成单位为chunk,犹如树状结构中的节点,每个chunk由"辨别码"、"数据大小"及"数据"所组成。
图一、块的结构示意图辨别码由4个ASCII码所构成,数据大小则标示出紧跟其后数据的长度(单位为Byte),而数据大小本身也用掉4个Byte,所以事实上一个chunk的长度为数据大小加8。
一般而言,chunk本身并不允许内部再包含chunk,但有两种例外,分别为以"RIFF"及"L1ST"为辨别码的chunk。
而针对此两种chunk,RIFF又从原先的"数据"中切出4个Byte。
此4个Byte称为"格式辨别码",然而RIFF又规定文件中仅能有一个以"RIFF"为辨别码的chunk。
图二、RIFF/LIST块结构只要依循此一结构的文件,我们均称之为RIFF档。
此种结构提供了一种系统化的分类。
如果和MS一DOS 文件系统作比较,"RIFF"chunk就好比是一台硬盘的根目录,其格式辨别码便是此硬盘的逻辑代码(C:或D:),而"L1ST"chunk即为其下的子目录,其他的chunk则为一般的文件。
至于在RIFF文件的处理方面,微软提供了相关的函数。
视窗下的各种多媒体文件格式就如同在磁盘机下规定仅能放怎样的目录,而在该目录下仅能放何种数据。
二. WAV文件格式WAVE文件是非常简单的一种RIFF文件,它的格式类型为"WAVE"。
多媒体文件解析(一):WAV文件解析
![多媒体文件解析(一):WAV文件解析](https://img.taocdn.com/s3/m/11f88dc63086bceb19e8b8f67c1cfad6195fe91c.png)
多媒体⽂件解析(⼀):WAV⽂件解析在之前的系列中,我们对主流的多媒体的⽂件格式进⾏了整理和讲述。
这⾥开始我们开始对如何分析和解释多媒体⽂件来进⾏整理,以便于以后我们⾃⼰排查⼀些问题的时候有⼀些帮助。
本篇我们就讲⼀下WAV⽂件格式。
⾸先我们知道WAV格式的实质就是在 PCM ⽂件的前⾯加了⼀个⽂件头。
下⾯是使⽤⼆进制打开的⼀个WAV⽂件,此⽂件只写⼊了WAV头信息。
整个⽂件的⼤⼩为44b。
下⾯我们就针对WAV头进⾏⼀点点的解析和整理。
WAV⽂件遵循RIFF规则,其内容以区块最⼩单位进⾏存储。
WAV⽂件由3个区块组成:RIFF chunk, Format chunk 和 Data chunk。
另外还有可能包含其他的可选区块,如:Fact chunk、Cue points chunk等。
⼀、RIFF区块下⾯我们针对此区块的三个名称的内容进⾏分析:ID:在WAV格式中,ID固定以 RIFF 为标识。
换成进制数据为:0x52494646,此值为⼤端序,按照正常的顺序进⾏读取即可。
Size:Size的⼤⼩为整个⽂件的长度减去ID和Size的长度. 注意此为⼩端序,计算⼤⼩的时候,需从右边往左读。
例如本WAV的Size为36(⼗六进制:24),再加上Size和ID的长度,整个⽂件的⼤⼩44b就是这么来的.Type:在WAV⽂件中,Type的内容固定为 "WAVE",表⽰后⾯会有两个区块,Format区块和Data区块。
⼆、FORMAT区块ID:此区块的ID以'fmt '为标识Size:表⽰该区块数据的长度(不包含ID和Size的长度)AudioFormat:表⽰Data区块存储的⾳频数据的格式,PCM⾳频数据的值为1NumChannels:表⽰⾳频数据的声道数,1:单声道,2:双声道SampleRate:表⽰⾳频数据的采样率ByteRate:每秒数据字节数 = SampleRate * NumChannels * BitsPerSample / 8BlockAlign:每个采样所需的字节数 = NumChannels * BitsPerSample / 8BitsPerSample:每个采样存储的bit数,8:8bit,16:16bit,32:32bit三、DATA区块ID:区块的ID以'data'为标识Size:表⽰⾳频数据的长度,N = ByteRate * secondsData:存储的是⾳频数据四、WAV⾳频数据存储⽅式WAV⽂件的PCM⾳频数据以⼩端形式来进⾏数据存储。
WAV文件格式说明
![WAV文件格式说明](https://img.taocdn.com/s3/m/9047f6186bd97f192279e957.png)
1. 音频简介经常见到这样的描述: 44100HZ 16bit stereo 或者 22050HZ 8bit mono 等等.44100HZ 16bit stereo: 每秒钟有 44100 次采样, 采样数据用 16 位(2字节)记录, 双声道(立体声);22050HZ 8bit mono: 每秒钟有 22050 次采样, 采样数据用 8 位(1字节)记录, 单声道;当然也可以有 16bit 的单声道或 8bit 的立体声, 等等。
采样率是指:声音信号在“模→数”转换过程中单位时间内采样的次数。
采样值是指每一次采样周期内声音模拟信号的积分值。
对于单声道声音文件,采样数据为八位的短整数(short int 00H-FFH);而对于双声道立体声声音文件,每次采样数据为一个16位的整数(int),高八位(左声道)和低八位(右声道)分别代表两个声道。
人对频率的识别范围是 20HZ - 20000HZ, 如果每秒钟能对声音做 20000 个采样, 回放时就足可以满足人耳的需求. 所以 22050 的采样频率是常用的, 44100已是CD音质, 超过48000的采样对人耳已经没有意义。
这和电影的每秒 24 帧图片的道理差不多。
每个采样数据记录的是振幅, 采样精度取决于储存空间的大小:1 字节(也就是8bit) 只能记录 256 个数, 也就是只能将振幅划分成 256 个等级;2 字节(也就是16bit) 可以细到 65536 个数, 这已是 CD 标准了;4 字节(也就是32bit) 能把振幅细分到 4294967296 个等级, 实在是没必要了.如果是双声道(stereo), 采样就是双份的, 文件也差不多要大一倍.这样我们就可以根据一个 wav 文件的大小、采样频率和采样大小估算出一个wav 文件的播放长度。
譬如 "Windows XP 启动.wav" 的文件长度是 424,644 字节, 它是"22050HZ / 16bit / 立体声" 格式(这可以从其 "属性->摘要" 里看到),那么它的每秒的传输速率(位速, 也叫比特率、取样率)是 22050*16*2 = 705600(bit/s), 换算成字节单位就是 705600/8 = 88200(字节/秒), 播放时间:424644(总字节数) / 88200(每秒字节数) ≈ 4.8145578(秒)。
wav文件格式分析
![wav文件格式分析](https://img.taocdn.com/s3/m/5ed85f5708a1284ac850439a.png)
一. RIFF概念在Windows环境下,大部分的多媒体文件都依循着一种结构来存放信息,这种结构称为"资源互换文件格式"(Resources lnterchange File Format),简称RIFF。
例如声音的WAV文件、视频的AV1文件等等均是由此结构衍生出来的。
RIFF可以看做是一种树状结构,其基本构成单位为chunk,犹如树状结构中的节点,每个chunk由"辨别码"、"数据大小"及"数据"所组成。
图一、块的结构示意图辨别码由4个ASCII码所构成,数据大小则标示出紧跟其后数据的长度(单位为Byte),而数据大小本身也用掉4个Byte,所以事实上一个chunk的长度为数据大小加8。
一般而言,chunk本身并不允许内部再包含chunk,但有两种例外,分别为以"RIFF"及"L1ST"为辨别码的chunk。
而针对此两种chunk,RIFF又从原先的"数据"中切出4个Byte。
此4个Byte称为"格式辨别码",然而RIFF又规定文件中仅能有一个以"RIFF"为辨别码的chunk。
图二、RIFF/LIST块结构只要依循此一结构的文件,我们均称之为RIFF档。
此种结构提供了一种系统化的分类。
如果和MS一DOS 文件系统作比较,"RIFF"chunk就好比是一台硬盘的根目录,其格式辨别码便是此硬盘的逻辑代码(C:或D:),而"L1ST"chunk即为其下的子目录,其他的chunk则为一般的文件。
至于在RIFF文件的处理方面,微软提供了相关的函数。
视窗下的各种多媒体文件格式就如同在磁盘机下规定仅能放怎样的目录,而在该目录下仅能放何种数据。
二. WAV文件格式WAVE文件是非常简单的一种RIFF文件,它的格式类型为"WAVE"。
WAV、APE、FLAC、CD的区别和联系
![WAV、APE、FLAC、CD的区别和联系](https://img.taocdn.com/s3/m/3148ad9cdaef5ef7ba0d3cce.png)
WAV、APE、FLAC、CD的区别和联系很多人并不是非常清楚无损音乐和无损格式的。
1、无损音乐,是指对声音文件(母文件)进行无损压缩所得到的音乐文件,它在音质方面,与母文件是完全一样的,是母文件的一个完整数字拷贝。
2、MP3、WMA、OGG等为有损压缩音乐文件格式。
之所以进行有损压缩,主要是在不过度损害音质的前提下获得较小的体积,以便于网络传输和存放。
有损音乐一般以切割掉人耳听力范围之外的数字信息为主,当然为了追求小体积,也存在着大量削弱音质的音乐文件。
3、无损能够在100%保存原文件的所有数据的前提下,将音频文件的体积压缩到更小,而将压缩后的音频文件还原后,能够实现与源文件相同的大小、相同的码率。
4、目前常见的、主流的无损压缩格式目前有APE、FLAC、WAV,此外还有WavPack、LPAC、WMALossless、AppleLossless、TTA、Tak、La、OptimFROG、Shorten等。
5、严格来说,wav波形文件是音乐CD碟片的数字记录,是音乐由物理介质(CD碟)转换为数字形式所得到的声音文件;而APE、FLAC、WavPack、WMALossless等则是对WAV 波形文件进行无损压缩,即再加工得到。
所以,wav是无损音乐文件,而APE、FLAC等则是无损压缩音乐文件。
WAV波形文件在媒体播放器里直接播放,而APE等其他压缩格式则需要经过解压(解码)还原成WAV再进行播放。
APE、FLAC、WAV与CD碟的区别与联系:CD碟与APE、FLAC、WAV只是存储介质不同。
CD碟片直接从录音棚灌注而成,以物理碟片形式存在,不同的录音设备和灌注技术决定了CD碟的音质,比如现在的碟片好于过去的碟片,德国黑胶碟优于国内一般唱片公司发行的碟片;APE、FLAC、WAV都是将CD碟物理存储改为数字化存储,只要抓轨正确,一般均能实现100%的数据拷贝,音乐信息完全一样。
不同在于,WAV格式是抓轨直接得到的文件,数据庞大,但可以在任何媒体播放器上直接播放;为了减少占用空间,就出现了无损压缩格式APE和FLAC。
wav文件文件头格式
![wav文件文件头格式](https://img.taocdn.com/s3/m/b0eb2a3243323968011c9224.png)
一、WAVE文件格式剖析WA VE文件作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。
RIFF是英文ResourceInterchangeFileFormat的缩写,每个W A VE文件的头四个字节便是“RIFF”。
WA VE文件由文件头和数据体两大部分组成。
其中文件头又分为RIFF/WAV 文件标识段和声音数据格式说明段两部分。
W A VE文件各部分内容及格式见附表。
常见的声音文件主要有两种,分别对应于单声道(11.025KHz采样率、8Bit的采样值)和双声道(44.1KHz采样率、16Bit的采样值)。
采样率是指:声音信号在“模→数”转换过程中单位时间内采样的次数。
采样值是指每一次采样周期内声音模拟信号的积分值。
对于单声道声音文件,采样数据为八位的短整数(short int 00H-FFH);而对于双声道立体声声音文件,每次采样数据为一个16位的整数(int),高八位和低八位分别代表左右两个声道。
WA VE文件数据块包含以脉冲编码调制(PCM)格式表示的样本。
W A VE文件是由样本组织而成的。
在单声道W A VE文件中,声道0代表左声道,声道1代表右声道。
在多声道W A VE文件中,样本是交替出现的。
WA VE文件格式说明表偏移地址字节数数据类型内容文件头00H4char"RIFF"标志04H4longint文件长度08H4char"WA VE"标志0CH4char"fmt"标志10H4过渡字节(不定)14H2int格式类别(10H为PCM形式的声音数据)16H2int通道数,单声道为1,双声道为218H2int采样率(每秒样本数),表示每个通道的播放速度,1CH4longint波形音频数据传送速率,其值为通道数×每秒数据位数×每样本的数据位数/8。
播放软件利用此值可以估计缓冲区的大小。
20H2int数据块的调整数(按字节算的),其值为通道数×每样本的数据位值/8。
WAV格式转换分析
![WAV格式转换分析](https://img.taocdn.com/s3/m/d16fec64011ca300a6c3906f.png)
WAV音频转换分析报告音频转换数据:莫斯科没有眼泪.wav 1400kbps 40.2M莫斯科没有眼泪.wma 320kbps 16.4M莫斯科没有眼泪.wma 128kbps 8.4M莫斯科没有眼泪.mp3 320kbps 10.1M莫斯科没有眼泪.mp3 128kbps 4.4M莫斯科没有眼泪.mp3 64kbps 2.2M莫斯科没有眼泪.mp3 33kbps 1.01M数据分析:1).WAV本身的结构更适合存放未经压缩的音频数据,因此其最大的缺点是占用存储空间大,不适合长时间记录数据。
2)在128kbps及以下码流的试听中WMA完全超过了MP3格式,低码流之王不是浪得虚名的。
但是当码流上升到128kbp以后,WMA的音质却并没有如MP3一样随着码流的提高而大大提升。
3). 相同数据率下如128Kbs,WMA的音值的确稍胜一筹;5). 在低数据率情况下,WMA的音质比MP3要高出很多。
如64Kbps时,WMA基本与128Kbps相差无几,而MP3已有明显差别;在32Kbps时WMA依然可听,MP3已经绝对不可听了;值的说明的是,128kbps的MP3要好于64kbps的WMA,更远远好于48Kbps的WMA。
6). MP3的确是一种非常成功的算法,在128Kbps时音质足够,如果用大于128Kbps的变码率压缩则音质可以达到非常好的程度,但其数据率的下限是128Kbps,在低于这个数值时,效果大幅度下降;7).WMA主要改善了极低数据率下高频信号的回放,在大于128Kbps时与MP3相比并无优势,而且高频失真情况比较严重,但如果用于压缩英语听力等素材则是上上之选。
8).从格式转换后,发现主要问题之一是WMA的高音部分有金属声,失真较大。
9).总体感觉WMA的声音偏硬,适合流行摇滚,如果是古典或者纯人声的话,感觉有点生硬,在低于128K时,WMA对于MP3拥有绝对优势!128以上的WMA相比MP3会有薄的感觉。
WAV文件结构范文
![WAV文件结构范文](https://img.taocdn.com/s3/m/cb4021565e0e7cd184254b35eefdc8d376ee14c3.png)
WAV文件结构范文WAV(Waveform Audio File Format)文件是一种常见的音频文件格式,它是无损音频文件的一种扩展名称。
WAV文件的结构相对简单,由文件头和音频数据组成。
下面将详细介绍WAV文件的结构。
1. RIFF头(RIFF Header)RIFF头是WAV文件的文件头,它包含了WAV文件的基本信息和数据格式。
RIFF头的结构如下:- ChunkID(4字节):文件标识,通常为"RIFF"。
- ChunkSize(4字节):文件大小,表示除了ChunkID和ChunkSize 字段外的文件大小。
- Format(4字节):文件格式,通常为"WAVE"。
2. 格式块(Format Chunk)格式块包含有关音频数据的格式信息。
格式块的结构如下:- SubChunk1ID(4字节):标识符,通常为"fmt "。
- SubChunk1Size(4字节):SubChunk1的大小,一般为16- AudioFormat(2字节):音频格式编码,一般为1表示PCM。
- NumChannels(2字节):声道数,常见为1表示单声道,2表示立体声。
- SampleRate(4字节):采样率,表示每秒采样的样本数。
- ByteRate(4字节):比特率,表示每秒的字节数。
- BlockAlign(2字节):块对齐,表示每个样本的字节数。
- BitsPerSample(2字节):每个样本的比特数。
3. 数据块(Data Chunk)数据块包含音频的实际采样数据。
- SubChunk2ID(4字节):标识符,通常为"data"。
- SubChunk2Size(4字节):SubChunk2的大小,表示音频数据的大小。
- Data(SubChunk2Size字节):音频数据。
总结起来,WAV文件结构包含RIFF头、格式块和数据块。
WAV文件文件头格式概述
![WAV文件文件头格式概述](https://img.taocdn.com/s3/m/b731eb820d22590102020740be1e650e52eacf23.png)
WAV文件文件头格式概述1.RIFF标识符:占据4个字节,固定值为"RIFF",表示该文件是一个资源交换文件。
2.文件长度:占据4个字节,表示文件的总长度,包括文件头和音频数据。
3.WAVE标识符:占据4个字节,固定值为"WAVE",表示该文件是一个WAV文件。
4. fmt格式块标识符:占据4个字节,固定值为"fmt ",表示该块是格式块。
5.格式块大小:占据4个字节,表示格式块的大小。
6.音频格式:占据2个字节,表示音频数据的格式,常见的值为PCM (脉冲编码调制)。
7.通道数:占据2个字节,表示音频数据的通道数,常见的值为1(单声道)和2(立体声)。
9.数据传输率:占据4个字节,表示每秒的数据传输率。
10.数据块对齐:占据2个字节,表示音频数据块的对齐方式。
11.位深度:占据2个字节,表示音频数据的位深度,即每个样本的位数。
12. 数据标记符:占据4个字节,固定值为"data",表示下一个块是音频数据块。
13.音频数据长度:占据4个字节,表示音频数据块的长度。
14.音频数据:占据实际长度,表示音频的实际数据。
WAV文件头是一个固定长度为44个字节的结构,用于描述WAV文件的基本信息和格式。
每个字节都有特定的含义,包括文件类型标识、文件长度、音频格式、通道数、采样率、位深度等。
通过读取文件头,可以了解WAV文件的基本信息,并在解码和播放音频时进行相应的处理。
总体而言,WAV文件头格式提供了关于音频数据的基本信息,使得解码器和播放器能够正确处理和播放音频数据。
同时,WAV文件头的固定结构也使得该文件格式易于解析和处理。
wav是什么格式
![wav是什么格式](https://img.taocdn.com/s3/m/6c2a1fa1988fcc22bcd126fff705cc1755275f02.png)
wav是什么格式wav是一种音频文件格式,它被广泛用于存储音频数据。
在本文中,我们将深入探讨wav文件格式的定义、结构、优点和用途。
首先,我们需要了解wav文件是如何定义的。
WAV是“Waveform Audio File Format”的缩写,它是由微软和IBM联合开发的一种无压缩音频文件格式。
这种格式最初是为Windows操作系统设计的,但现在已成为多个操作系统上通用的标准音频文件格式。
wav文件有一些特点。
它是一种无损压缩的音频格式,这意味着它可以完全还原原始录音的声音细节。
它支持多种音频解析度和采样频率,并且不会导致声音质量的损失。
此外,wav文件可以存储单声道或立体声音频。
让我们深入了解wav文件的结构。
一个wav文件由多个区块组成,每个区块都有特定的功能。
以下是常见的wav文件区块:1. RIFF头(RIFF Chunk):该区块指定文件的类型,并存储了文件整体大小的信息。
2. 格式信息(Format Chunk):该区块包含了音频数据的格式信息,如采样频率、通道数和采样深度等。
3. 数据区块(Data Chunk):该区块存储了实际的音频数据。
此外,wav文件还可以包含其他附加信息的区块,如扩展信息(Chunk Extension),标签信息(Cue Chunk)和循环信息(Loop Chunk)等。
这些区块提供了更多关于音频文件的信息和元数据。
wav文件的优点之一是广泛的兼容性。
几乎所有的音频编辑和处理软件都支持wav文件格式。
它可以在多个平台和操作系统上无缝播放和处理,而不需要进行特殊的转换或解码。
此外,wav文件还提供了高质量的音频录制和编辑功能。
由于它是一种无压缩格式,可以保留音频的原始质量,不会引入任何失真或压缩伪像。
这使得wav文件非常适合专业音频录制和后期制作,如音乐制作、电影制作和广播等。
wav文件的用途非常广泛。
它可以用于存储和传输音乐、语音、环境声音等各种类型的音频数据。
wave文件(.wav)格式、PCM数据格式
![wave文件(.wav)格式、PCM数据格式](https://img.taocdn.com/s3/m/db5067df50e2524de5187e51.png)
wave文件(*.wav)格式、PCM数据格式1. 音频简介经常见到这样的描述: 44100HZ 16bit stereo 或者 22050HZ 8bit mono 等等.44100HZ 16bit stereo: 每秒钟有 44100 次采样, 采样数据用 16 位(2字节)记录, 双声道(立体声);22050HZ 8bit mono: 每秒钟有 22050 次采样, 采样数据用 8 位(1字节)记录, 单声道;当然也可以有 16bit 的单声道或 8bit 的立体声, 等等。
采样率是指:声音信号在“模→数”转换过程中单位时间内采样的次数。
采样值是指每一次采样周期内声音模拟信号的积分值。
对于单声道声音文件,采样数据为八位的短整数(short int 00H-FFH);而对于双声道立体声声音文件,每次采样数据为一个16位的整数(int),高八位(左声道)和低八位(右声道)分别代表两个声道。
人对频率的识别范围是 20HZ - 20000HZ, 如果每秒钟能对声音做 20000 个采样, 回放时就足可以满足人耳的需求. 所以 22050 的采样频率是常用的, 44100已是CD音质, 超过48000的采样对人耳已经没有意义。
这和电影的每秒 24 帧图片的道理差不多。
每个采样数据记录的是振幅, 采样精度取决于储存空间的大小:1 字节(也就是8bit) 只能记录 256 个数, 也就是只能将振幅划分成 256 个等级;2 字节(也就是16bit) 可以细到 65536 个数, 这已是 CD 标准了;4 字节(也就是32bit) 能把振幅细分到 4294967296 个等级, 实在是没必要了.如果是双声道(stereo), 采样就是双份的, 文件也差不多要大一倍.这样我们就可以根据一个 wav 文件的大小、采样频率和采样大小估算出一个wav 文件的播放长度。
譬如 "Windows XP 启动.wav" 的文件长度是 424,644 字节, 它是"22050HZ / 16bit / 立体声" 格式(这可以从其 "属性->摘要" 里看到),那么它的每秒的传输速率(位速, 也叫比特率、取样率)是 22050*16*2 = 705600(bit/s), 换算成字节单位就是 705600/8 = 88200(字节/秒), 播放时间:424644(总字节数) / 88200(每秒字节数) ≈ 4.8145578(秒)。
WAV格式解析
![WAV格式解析](https://img.taocdn.com/s3/m/f285ab1b78563c1ec5da50e2524de518964bd31e.png)
ID big-endian FOURCC 值为'R' 'I' 'F' 'F' Size little-endian data字段中数据的字节数Data big-endian包含其它的chunkID big-endian FOURCC 值为 'f' 'm' 't' ' 'Size little-endian数据字段包含数据的⼤⼩。
如⽆扩展块,则值为16;有扩展块,则值为 16 + 2字节扩展块长度 + 扩展块长度或者值为18(只有扩展块的长度为2字节,值为0)Data little-endianformat_tag2字节,表⽰⾳频数据的格式。
如值为1,表⽰使⽤PCM格式。
little-endianchannels2字节,声道数。
值为1则为单声道,为2则是双声道。
little-endiansamples_per_sec采样率,主要有22.05KHz,44.1kHz和48KHz。
little-endianbytes_per sec⾳频的码率,每秒播放的字节数。
samples_per_sec *channels * bits_per_sample / 8,可以估算出使⽤缓冲区的⼤⼩little-endianblock_align数据块对齐单位,⼀次采样的⼤⼩,值为声道数 * 量化位数 / 8,在播放时需要⼀次处理多个该值⼤⼩的字节数据。
WAV格式解析WAV为微软公司(Microsoft)开发的⼀种声⾳⽂件格式,它符合RIFF(Resource Interchange File Format)⽂件规范,⽤于保存Windows平台的⾳频信息资源,被Windows平台及其应⽤程序所⼴泛⽀持,该格式也⽀持MSADPCM,CCITT A LAW等多种压缩运算法,⽀持多种⾳频数字,取样频率和声道,标准格式化的WAV⽂件和CD格式⼀样,也是44.1K的取样频率,16位量化数字,因此在声⾳⽂件质量和CD相差⽆⼏。
WAV文件格式分析详解
![WAV文件格式分析详解](https://img.taocdn.com/s3/m/41f44e430640be1e650e52ea551810a6f424c867.png)
WAV文件格式分析详解WAV是一种非常常见的音频文件格式,它被广泛用于存储音乐、录音和其他音频数据。
以下是对WAV文件格式的详细分析:1.WAV文件的基本结构:-WAV文件是由一系列音频样本组成的。
每个样本表示一个特定时刻的音频振幅值。
- WAV文件以RIFF(Resource Interchange File Format)文件标识符开头。
- WAV文件由多个子块(chunk)组成,每个子块包含特定类型的数据。
- 子块包括文件头("fmt ")块,音频数据("data")块和其他可选的附加块。
2. 文件头("fmt "块):-文件头描述了WAV文件的格式和属性。
-文件头包含了采样率、音频通道数、样本大小(位数)等信息。
-附加块(可选)可能包含其他的扩展信息,如压缩格式、块对齐等。
3. 音频数据("data"块):-音频数据块是WAV文件中实际存储音频样本值的部分。
- 它以一个子块标识符("data")开头,紧随其后的是存储音频样本的二进制数据。
4.WAV文件属性:-采样率:表示每秒播放的样本数,常用的有44.1kHz(CD音质)和48kHz(DVD音质)。
- 音频通道数:表示同时播放的声道数,常见的有单声道(Mono)和立体声(Stereo)。
-样本大小:表示每个样本的位数,常用的有8位、16位和24位。
-比特率:表示每秒传输的位数,由采样率、样本大小和通道数决定。
-块对齐:表示每个子块的字节数,为样本大小×通道数。
5.WAV文件的优点和应用:-WAV文件具有较高的音质,因为它是无损压缩的。
-WAV文件是一种开放的标准,可以在不同的操作系统和平台上使用。
-WAV文件适用于存储和传输音频数据,如音乐、录音、语音等。
综上所述,WAV文件格式是一种常见的音频文件格式,它以RIFF文件标识符开始,由文件头、音频数据和附加块组成。
WAV文件格式分析
![WAV文件格式分析](https://img.taocdn.com/s3/m/aec44828001ca300a6c30c22590102020640f266.png)
WAV文件格式分析文件头是WAV文件的开头部分,它由44个字节组成,用于存储一些重要的文件信息。
文件头的具体内容如下:1. ChunkID (4 字节):用于标识文件类型,通常为 "RIFF";2. ChunkSize (4 字节):表示整个文件的大小,即文件头和音频数据部分的大小之和;3. Format (4 字节):表示文件格式,通常为 "WAVE";4. Subchunk1ID (4 字节):表示格式子块的标识,通常为 "fmt ";5. Subchunk1Size (4 字节):表示格式子块的大小,通常为 16;6. AudioFormat (2 字节):表示音频格式,1 表示 PCM (脉冲编码调制) 编码;7. NumChannels (2 字节):表示音频的声道数,通常为 1 (单声道) 或 2 (立体声);8. SampleRate (4 字节):表示采样率,即每秒采集的样本数;9. ByteRate (4 字节):表示数据传输速率,即每秒传输的字节数;10. BlockAlign (2 字节):表示块对齐,即每个采样的字节数;11. BitsPerSample (2 字节):表示每个样本的位数。
音频数据块是 WAV 文件中存储实际音频样本的部分。
它紧跟在文件头之后,其大小由 ChunkSize 字段确定。
音频数据以 PCM 编码保存,即将连续的音频采样以原始整数值的形式存储。
附加信息块(可选)是WAV文件中可以包含的附加信息部分。
它通常用于存储一些与音频相关的元数据,如歌曲名称、艺术家、专辑信息等。
附加信息块的大小和内容可以根据实际需要进行定义。
然而,WAV文件也存在一些限制和缺点。
首先,由于采样率、声道数和位深度等参数的限制,WAV文件可能占用较大的存储空间。
其次,相对于其他压缩格式如MP3,它的文件大小会更大,因此在网络传输和存储方面可能会受到限制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.RIFF概念在Windows环境下,大部分的多媒体文件都依循着一种结构来存放信息,这种结构称为"资源互换文件格式"(Resources Interchange File Format),简称RIFF。
例如声音的WAV文件、视频的AV1文件等等均是由此结构衍生出来的。
RIFF可以看做是一种树状结构,其基本构成单位为chunk,犹如树状结构中的节点,每个chunk 由"辨别码"> '数据大小"及"数据"所组成。
图一、块的结构示意图辨别码由4个ASCII码所构成,数据大小则标示出紧跟其后数据的长度(单位为Byte),而数据大小本身也用掉4个Byte,所以事实上一个chunk的长度为数据大小加8。
一般而言,chunk本身并不允许内部再包含chunk,但有两种例外,分别为以"RIFF"及"L1ST"为辨别码的chunk。
而针对此两种chunk,RIFF又从原先的"数据"中切出4个Byte。
此4个Byte称为"格式辨别码",然而RIFF又规定文件中仅能有一个以"RIFF"为辨别码的chunk。
图二、RIFF/LIST块结构只要依循此一结构的文件,我们均称之为RIFF档。
此种结构提供了一种系统化的分类。
如果和MS —DOS 文件系统作比较,"RIFF"chunk就好比是一台硬盘的根目录,其格式辨别码便是此硬盘的逻辑代码(C :或D:),而"L1ST"chunk即为其下的子目录,其他的chunk则为一般的文件。
至于在RIFF文件的处理方面,微软提供了相关的函数。
视窗下的各种多媒体文件格式就如同在磁盘机下规定仅能放怎样的目录,而在该目录下仅能放何种数据。
二.WAV文件格式WAVE文件是非常简单的一种RIFF文件,它的格式类型为"WAVE"。
RIFF块包含两个子块,这两个子块的ID分别是"fmt"和"data",其中"fmt"子块由结构PCMWAVEFORMAT 所组成,其子块的大小就是sizeofof (PCMWAVEFORMAT),数据组成就是PCMWAVEFORMAT 结构中的数据。
标志符(RIFF)数据大小图三、WAVE文件结构PCMWAVEFORMAT 结构定义如下:Typedef struct曰田…{WAVEFORMAT wf; / 波形格式;WORD wBitsPerSample; //WAVE 文件的采样大小;} PCMWAVEFORMAT;//WAVEFORMAT 结构定义如下:typedef struct曰田…{WORD wFormatag; //编码格式,包括WAVE_FORMAT_PCM ,WAVEFORMAT_ADPCM 等WORD nChannls; //声道数,单声道为1,双声道为2;DWORD nSamplesPerSec; 〃采样频率;DWORD nAvgBytesperSec; // 每秒的数据量;WORD nBlockAlign; // 块对齐;L} WAVEFORMAT ;"data"子块包含WAVE文件的数字化波形声音数据,其存放格式依赖于"fmt"子块中wFormatTag成员指定的格式种类,在多声道WAVE文件中,样本是交替出现的。
如16bit的单声道WAVE文件和双声道WAVE 文件的数据采样格式分别如图四所示:16位单声道:图四、WAVE文件数据采样格式WAV文件格式实例分析:O1 2 3456789 A B C D E FOOOOOOO OH 52494646OA O6O1OO5741 5645666D742OOOOOOO1 OH 12OOOOOO O1OOO2OO44AC OOCO1O B1O2OOOOOOOO2OHO4OO1O OO OO OO66616374 O4OO OO OO7641OOOOOO3OH OO OO64617461D8O5O1OO OO OO OO OO FF FF0OOOOO400 OO FE FF FE FF OO OO OO OO FE FF FE FF OO OOwav 文件格式分析虽然自己是搞视频图像的,不过偶尔看看音频方面的资料也是可以调节一下的下面就来分析一下wav 波形文件的格式。
我们先随便找一个wav 文件,查看其属性,就能得到下面的结果。
文件类塑•波形声音Crtv)口Tindows >edi t Playi更改©…扌T开方式:便B:C: WswrcVteVkskl op大小; 1.2& MB (1,^044 宇节 >|占用空闫; 1.2$ MB (1,327,104 亨节》创踽耳2012*10月16曰・21:42:43惟改时闻:20122fl0月1&吕.21:42:43访问B扌间2012^10月W日.21:42:43属性:二只读值)二硼QD[鬲级@)二n 厂确定「[翊]应用射上面主要注意文件大小,声音长度与比特率。
文件占用空间就不用关心了,如果有人想知道为什么文件占用空间比文件大小要大,我在这里也解释一下。
这和文件在硬盘中的组织方式有关系,这里的硬盘分区是以最小4096Byte 为单位的,我文件的大小是1325044Byte ,那么1325044/4096=323.49 ,为了能把文件对齐的放到硬盘中,所以占用的空间就要是324*4096=1327104Byte 了,所以占用的空间就是这么多了。
你也可以建立一个只写一个字母的txt文件试试,文件大小虽然为IByte,不过占用空间也为4096Byte 。
上面说的当然和wav文件没什么关系,下面就正式说用ultraedit 打开就是下面这个样子:wav文件的问题。
空[CAUser^McXDetktopXoiJtput.wav]・Uhrj EditT 京杵{日 MID «3=(S ) 1SA4W 孩目(D 总BY )応式e ?J (k )炭3 脏奉皿 丢迟血 呈口临 嶠的劉八卜 H I 3 /; f U 1 L »京「£]H ESL — — MfibaiM如益辛屯 it 損 fl 也B : ldH h 29. COOOS悸改:2012/10/16 21^2A3用表格说明一下文件的格式 起始地址占用空间本地址数字的含义OOH 4byte RIFF ,资源交换文件标志。
04H 4byte从下一个地址开始到文件尾的总字 节数。
高位字节在后面,这里就是001437ECH ,换成十进制是 1325036byte,算上这之前的C J \U se^s^c \De$ lc*o p\output.• 打幵 却旦S3列豪・订诵谴 电.冲岡 ff 日HL m * 3 B:€: 01*崛瞬 i*兮Efflfc 客 ▲峯務輕踐日g*Vj|.&o £ gqA.foooooooon52 49 46 专召 8:s? 1437 41 5庁 佃 £6 6D 齐 50raim00000010;! 10 00 00 00 01 0D 01 co 11 ZB 0 0 00 22 5€ 00 00皿口 □0020J1 02 00 10 QQ61 71 61 匚d □ 7OQ 00 00 00 00■t i A 4'(0000003011 00 oa oo 00 oo g 00 co oo oa oo 00 oa QQ oo OQ OOQOOQt^h •■ 2 oa (JO 00 oo go oo Cd ao 00 oo go oo QO go oaOOOOOOS&f: 00 QQ 0Q g oo 00 go 00 oo 00 oo 00 QQ QQ oo ooQQQQQQG&h go aa 00 00 QQ g QQ 00 QQ 00 oo QQ 00 oo QQ QQQ^QQQQ^rHQQ □o 50 00 □a (JO 00 0 0 □ □ oo 0 D OO QO oo oo 00OOOOOOSOh00 00 g00 00 00 00 cc 00 oc 00 00 03 oo 00 00f03000090h eo no GO od DO db 00 co 00 0 0 Ofl 09 GO 00 00« ■ « ■.nOOOOOa&00 00 3D 00 no 00 oo no 00 oo- oo oo 00 oo 00 oo COOOOObO h 00 00 00 00 00 00 00 oc □o 00 oo 00 oo 00 GO ooOOOOOOcO h co oo oo GO oo 0D QO co 00 00 00 oo oo oo 00 ooODOOOOdG h 00 00 00 00 00 00 00 DC ao 00 oo oo oo oo 00 ooOOOOOOeOh00 00 00 00 00 00 00 co 00 00 00 00 00 00 00 00r* ■ « # #OOOOODfOh 00 00 □o 00 □0 00 00 00 □□ 00 oo 00 00 oo 00 oo OOOOCLOO JlQ0 00 00 00 00 00 00 oc 00 Q0 0€ OO co00 00 00卜1eri1v Q Q …- V » KI*L* 遵 F ; l* 当 W ;1-bMp 民bmp任心5D ]詩姦话!5的賈活©nthib 王右迅硼¥< m注意属性中的比特率是176kbps ,而1CH中为22050Byte/s22050*8/1024 并不等于176,而是等于172,这里我想可能是通信中的而是等于1000的原因(通信原理书中好像有),如果按22050*8/1000 176 了。
其实比特率也可以这样算,总字节除以时长得到每秒字节率,再乘以得到比特率了,即(1325000/60)*8/1000=176kbps 。
最后是量化数据的表示。
看数据结尾的表示吧,我这音频最初那一段都是0,不好解释Ultraedit 中的表示:■ ・・® [C:\.U5*r$\tc\De-i kto p^output v.a/] - UltraEdit舸fl) wifi魄口(W)翅知且〕a x打帝1蛹吉理器i列義* 1.. b mp □ .bmp迂心3E]奇本哈喉王:童活-Cy nth前王OSC.wr那航选;*.* ii 3I 堺b 卡Q 年f;+ B;蚩UV Qi* m D;E E:;呼昌凸n I:由Tt FTP Hi 号A00143T40iM 3B 17 IE 13 1£ 7E 13 3& 13 7S 11 ES 14 11 17 f ;00143150h: DB 16 Bl 19 EOIt Ad 1C «4 20 UD IF F5 ID Ek IB ;' 001437«0h: X2 21 D€ 斗弓25 FC 2€ 74 D9 2F 3? 30 IS2F ? H Q014JT7Qh: OD IF F3 33 Z? 3@ 45 3€ 31 35 Bl 3€ 49 36 E:9 3E ;, OOl^JTBOh: £23T F3 2T C3 35 55 3^ OC 37 5T 2C DF 27 05 30 ;" QQ1齢沖OR: QD 33 DI 2$ ES 22 f6 23 2事29 3S 2Q AA 17 12;, 0«L137o9t); 2Z LZ 7B 16 趺96 87 07 fE 0^ Jij AB Q5 EV ;' 001 的肚0": EE FD 壮 FF f£ET €£ F匚堆B F^Y B00 Q3 ; I OOl^^cOM;Q0 QI B2 QI Ai M6A QS " 0A $1 0D DQ OF B9 17 / , OQl1-37d0h= 1A 15 1C D2 1C 32 IQ 73 LS 1G FC 1A 03IE ;, OOli^^cGh; 2" Z1 632j6 IB 25 OF 2& 池 2k FD 25 fZ 25 7Q 2G ;0Q143TIQM: 8D ?^T?F*27j J :< ur »十: I7TPower User:^niaa一B二广*氐L「*"5 F「立自■』》1淆授Fl Ivg; 1437eOH r1325024. • DOS修説;2012/10/16 21,换算一下就会发现1K并不等于1024这样算,就正好等于8除以1000就CrAtc\Deitft0p\outputtr*2应碗0 r一匕诫住上吕绻EJ二S\卑T兰气山□ n m斗XMatlab 中的表示:田 a c66250Ckl double上面的是个数,正好也是的一半。