wav文件格式分析.docx

上传人:b****3 文档编号:800317 上传时间:2022-10-13 格式:DOCX 页数:26 大小:57.12KB
下载 相关 举报
wav文件格式分析.docx_第1页
第1页 / 共26页
wav文件格式分析.docx_第2页
第2页 / 共26页
wav文件格式分析.docx_第3页
第3页 / 共26页
wav文件格式分析.docx_第4页
第4页 / 共26页
wav文件格式分析.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

wav文件格式分析.docx

《wav文件格式分析.docx》由会员分享,可在线阅读,更多相关《wav文件格式分析.docx(26页珍藏版)》请在冰豆网上搜索。

wav文件格式分析.docx

wav文件格式分析

一.RIFF概念

在Windows环境下,大部分的多媒体文件都依循着一种结构来存放信息,这种结构称为"资源互换文件格

式"(ResourcesInterchangeFileFormat),简称RIFF。

例如声音的WAV文件、视频的AV1文件等等均是由此结构衍生出来的。

RIFF可以看做是一种树状结构,其基本构成单位为chunk,犹如树状结构中的节点,每个chunk由"辨别码">'数据大小"及"数据"所组成。

块的标志符(4BYTES)

数据大小(4BYTES)

数据

图一、块的结构示意图

辨别码由4个ASCII码所构成,数据大小则标示出紧跟其后数据的长度(单位为Byte),而数据大小本身也

用掉4个Byte,所以事实上一个chunk的长度为数据大小加8。

一般而言,chunk本身并不允许内部再包

含chunk,但有两种例外,分别为以"RIFF"及"L1ST"为辨别码的chunk。

而针对此两种chunk,RIFF又从

原先的"数据"中切出4个Byte。

此4个Byte称为"格式辨别码",然而RIFF又规定文件中仅能有一个以

"RIFF"为辨别码的chunk。

RIFF/LIST标志符

数据1大小

数据1

格式/列表类型

数据

图二、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")

"fmt"

Sizeof(PCMWAVEFORMAT)

PCMWAVEFORMAT

"data"

声音数据大小

声音数据

图三、WAVE文件结构

PCMWAVEFORMAT结构定义如下:

Typedefstruct

曰田…{

WAVEFORMATwf;/波形格式;

WORDwBitsPerSample;//WAVE文件的采样大小;

}PCMWAVEFORMAT;

//WAVEFORMAT结构定义如下:

typedefstruct

曰田…{

WORDwFormatag;//编码格式,包括WAVE_FORMAT_PCM,WAVEFORMAT_ADPCM等

WORDnChannls;//声道数,单声道为1,双声道为2;

DWORDnSamplesPerSec;〃采样频率;

DWORDnAvgBytesperSec;//每秒的数据量;

WORDnBlockAlign;//块对齐;

L

}WAVEFORMAT;

"data"子块包含WAVE文件的数字化波形声音数据,其存放格式依赖于"fmt"子块中wFormatTag成员指定的格式种类,在多声道WAVE文件中,样本是交替出现的。

如16bit的单声道WAVE文件和双声道WAVE文件的数据采样格式分别如图四所示:

16位单声道:

采样一

采样二

低字节

高字节

低字节

高字节

16位双声道:

采样一

左声道

右声道

低字节匸

二高字节

低字节

高字节

图四、WAVE文件数据采样格式

WAV文件格式实例分析:

O

1

23

4

5

6

7

8

9AB

C

D

E

F

OOOOOOOOH

52

49

46

46

OA

O6

O1

OO

57

4156

45

66

6D

74

2O

OOOOOO1OH

12

OO

OO

OO

O1

OO

O2

OO

44

ACOOC

O

1O

B1

O2

OO

OOOOOO2OH

O4

OO

1O

OO

OO

OO

66

61

63

74O4

OO

OO

OO

76

41

OOOOOO3OH

OO

OO

64

61

74

61

D8

O5

O1

OOOO

OO

OO

OO

FF

FF

偏移

地址

内容

OOH

4

char

“RIFF”;IFF标志

O4H

4

ong

int

0x0001060A(注意数据存储顺序);文件长度

O8H

4

char

“WAVE;WAVE标志

OCH

4

char

“fmt"fmt标志,最后一位为空

1OH

4

ong

nt

0x12;sizeof(PCMWAVEFORMAT)

14H

2

int

1(WAVE_FORMAT_PCM);格式类别,1表示为PCM形式的声音数据

16H

2

int

2;通道数,单声道为1,双声道为2

18H

2

nt

44100;采样频率(每秒样本数)

1CH

4

ong

int

Cx10B10000;每秒数据量;其值为通道数X每秒数据位数X每样本的数据位数/8。

播放软件利用此值可以估计缓冲区的大小。

2OH

2

nt

数据块的调整数(按字节算的),其值为通道数X每样本的数据位值/8。

播放软件

需要一次处理多个该值大小的字节数据,以便将其值用于缓冲区的调整。

22H

2

n

每样本的数据位数,表示每个声道中各个样本的数据位数。

如果有多个声道,对每个声道而言,样本大小都一样。

5OH

4

char

“data”数据标记符

54H

4

ong

int

0x000105D8;语音数据大小

0OOOOO4OH

00OOFEFFFEFF

OOOOOOOOFE

FFFEFFOOOO

wav文件格式分析

虽然自己是搞视频图像的,不过偶尔看看音频方面的资料也是可以调节一下的

下面就来分析一下

wav波形文件的格式。

我们先随便找一个

wav文件,查看其属性,就能得到下面的结果。

文件类塑•

波形声音Crtv)

扌T开方式:

口Tindows>editPlayi

更改©…

便B:

C:

WswrcVteVksklop

大小;

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文件的问题。

上面说的当然和wav文件没什么关系,下面就正式说

用ultraedit打开就是下面这个样子:

Cj\Use^s^c\De$lc*op\output.•

打幵

却旦S3列豪・订

诵谴

电.冲

ff日

HLm

*3

B:

€:

01

*崛瞬

i*兮Efflfc客

▲峯務輕踐日期

g

*

V

j|.

&

o

£

g

<

q

A.

f

oooooooon

52

49

46

专召

8:

s?

14

37

41

5庁

£6

6D

50

r

aim

00000010;!

10

00

00

00

01

0D

01

co

11

ZB

00

00

22

5€

00

00

皿口□0020J1

02

00

10

QQ

61

71

61

匚d

□7

OQ

00

00

00

00

■tiA4'(

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

oa

OOOOOOS&f:

00

QQ

0Q

g

oo

00

go

00

oo

00

oo

00

QQ

QQ

oo

oo

QQQQQQG&h

go

aa

00

00

QQ

g

QQ

00

QQ

00

oo

QQ

00

oo

QQ

QQ

Q^QQQQ^rH

QQ

□o

50

00

□a

(JO

00

00

□□

oo

0D

OO

QO

oo

oo

00

OOOOOOSOh

00

00

g

00

00

00

00

cc

00

oc

00

00

03

oo

00

00

f

03000090h

eo

no

GO

od

DO

db

00

co

00

00

Ofl

09

GO

00

00

«■«■.

nOOOOOa&h

00

00

3D

00

no

00

oo

no

00

oo-

oo

oo

00

oo

00

oo

COOOOObOh

00

00

00

00

00

00

00

oc

□o

00

oo

00

oo

00

GO

oo

OOOOOOcOh

co

oo

oo

GO

oo

0D

QO

co

00

00

00

oo

oo

oo

00

oo

ODOOOOdGh

00

00

00

00

00

00

00

DC

ao

00

oo

oo

oo

oo

00

oo

OOOOOOeOh

00

00

00

00

00

00

00

co

00

00

00

0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1