WAV文件格式(2)
除了最常用的"fmt"和"data" chunk 之外还有较为重要的Fact Chunk,Cue chunk,PlayList chunk等
Fact chunk - "fact":存储压缩码的相关信息,对所有压缩的WAV文件来说是必须的,尤其当数据块"data"是包含在"wavl"chunk中时;
Size | Description | Value |
4 | Chunk ID | "fact"(0x66616374) |
4 | Chunk Data size | 取决于压缩格式 |
4 | Format Department Data | Number of Samples(per channel) |
实例1:fact chunk 在data chunk之前
实例2:fact chunk在data chunk后面
Cue chunk - "cue":指定音频数据中重点部分的编号(偏移量)
WAV文件中至多有一个cue 块,一个cue块即可指定WAVE文件中的所有提示点
Size | Description | Value |
4 | Chunk ID | "cue"(0x63765520) |
4 | Chunk Data Size | 取决于提示点的数目 |
4 | Number of Cue points | 列表中提示点的数目 |
List of cue points |
---|
提示点列表中提示点的描述方法:
Size | Description | Value |
4 | ID | unique identification value |
4 | position | play oeder position |
4 | Data Chunk ID | RIFF ID of corresponding data chunk |
4 | Chunk start | Byte Offset of Data Chunk |
4 | Block start | Byte Offset to sample of First Channel |
4 | Sample Offset | Byte Offset to sample byte of First Channel |
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)组成,每个片段包含诸如:播放起始点,长度,重复播放次数等信息
Size | Description | Value |
4 | Chunk ID | "plst"(0x736C6e74) |
4 | Chunk Data Size | Num segments*2 |
4 | Number of segments | 1- 0xFFFFFFFF |
List of segments |
---|
描述规则如下(不必严格按照指定的顺序,因为播放顺序由和提示点关联的片段决定):
Size | Description | Value |
4 | Cue Point ID | 0 - xFFFFFFFF |
4 | Length(in samples) | 1 - xFFFFFFFF |
4 | Number of repeats | 1 - xFFFFFFFF |
Cue point ID:指定片段的其实样本,这个ID值是唯一的,以便与其他片段加以区分
Length:指定从关联了提示点的样本开始 播放或循环的样本数
Number of Repeats:指定该片段循环的次数
Associated Data List chunk - "list":定义和提示点关联的文本标签和名称,目的是给每个文本标签或名称提供位置
Size | Description | Value |
4 | Chunk ID | "list"(0x6C696E74) |
4 | Chunk Data size | depends on contained text |
4 | Type ID | "adtl"(0x6164746C) |
List of Text Labels and Names |
---|
最后
以上就是开放帅哥最近收集整理的关于WAV文件格式(2)的全部内容,更多相关WAV文件格式(2)内容请搜索靠谱客的其他文章。
发表评论 取消回复