我是靠谱客的博主 开放帅哥,这篇文章主要介绍WAV文件格式(2),现在分享给大家,希望可以做个参考。

WAV文件格式(2)

除了最常用的"fmt"和"data" chunk  之外还有较为重要的Fact Chunk,Cue chunk,PlayList chunk等


Fact chunk - "fact":存储压缩码的相关信息,对所有压缩的WAV文件来说是必须的,尤其当数据块"data"是包含在"wavl"chunk中时;

SizeDescriptionValue
4Chunk ID"fact"(0x66616374)
4Chunk Data size取决于压缩格式
4Format Department DataNumber of Samples(per channel)
Format Department Data: 4字节数值,指明数据块中样值的数目,可用与Sample rate一起用来计算波形长度。

实例1:fact chunk  在data chunk之前


实例2:fact chunk在data chunk后面



Cue chunk - "cue":指定音频数据中重点部分的编号(偏移量)

WAV文件中至多有一个cue  块,一个cue块即可指定WAVE文件中的所有提示点

SizeDescriptionValue
4Chunk ID"cue"(0x63765520)
4Chunk Data Size取决于提示点的数目
4Number of Cue points列表中提示点的数目
List of cue points
Chunk Data size 的计算公式:4+(number of cue points *24) 24:每个cue point的大小

提示点列表中提示点的描述方法:

SizeDescriptionValue
4IDunique identification value
4positionplay oeder position
4Data Chunk IDRIFF ID of corresponding data chunk
4Chunk startByte Offset of Data Chunk
4Block startByte Offset to sample of First Channel
4Sample OffsetByte Offset to sample byte of First Channel
ID:用于将提示点和其他块中的信息相关联

position:指定和提示点关联的样本的位置(偏移量),这和playlist块有关,如果playlist已指定,position的值就是音频按序播放时提示点出现时的样值号,没有playlist则为0

Data Chunk ID:与提示点相对应的数据块的ID,也与play list有关,有playlist是,指"data"或"sint",无则仅指"data"

Chunk start:指定和提示点相对应的数据块的字节偏移量,文件中包含"wavl"(块)时,指"data"在"wavl"块中的偏移量,没有则值为0;

Block start:指定包含样值的块(block)在"data"或"slnt"块(chunk)中的位置(偏移量),便于解码时找到相应的样本值

Sample offset:指定与提示点相对应的样值在块(block start  指定的)中的位置(偏移量)

实例:


0x00 00 00 34:52字节,说明一共有2个提示点

PlayList chunk - "plst":指定了一系列提示点的播放顺序

由一系列片段(segment)组成,每个片段包含诸如:播放起始点,长度,重复播放次数等信息

SizeDescriptionValue
4Chunk ID"plst"(0x736C6e74)
4Chunk Data SizeNum segments*2
4Number of segments1- 0xFFFFFFFF
List of segments
list of segments:

描述规则如下(不必严格按照指定的顺序,因为播放顺序由和提示点关联的片段决定):

SizeDescriptionValue
4Cue Point ID0 - xFFFFFFFF
4Length(in samples)1 - xFFFFFFFF
4Number of repeats1 - xFFFFFFFF

Cue point ID:指定片段的其实样本,这个ID值是唯一的,以便与其他片段加以区分

Length:指定从关联了提示点的样本开始 播放或循环的样本数

Number of Repeats:指定该片段循环的次数

Associated Data List chunk - "list":定义和提示点关联的文本标签和名称,目的是给每个文本标签或名称提供位置

SizeDescriptionValue
4Chunk ID"list"(0x6C696E74)
4Chunk Data sizedepends on contained text
4Type ID"adtl"(0x6164746C)
List of Text Labels and Names
List of Text Labels and Names:以不同方式定义文本的块的列表,在WAVE文件中常见的是Label chunk,Note Chunk,Labeled Text Chunk.


最后

以上就是开放帅哥最近收集整理的关于WAV文件格式(2)的全部内容,更多相关WAV文件格式(2)内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部