Wav File Format

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Wav File Format as PDF for free.

More details

  • Words: 468
  • Pages: 11
By Ke Tao

Translation Document WAV file format

Version: 0.1 Date: 29 Jan 2007s

Prepared by Ke Tao

WAV file format

TABLE OF CONTENTS 1 INTRODUCE................................................................................................................................ ...1 2 纵览 (OVERVIEW)........................................................................................................... ...............2 3 数据格式 (DATA FORMATS)........................................................................... ...........................3 4 文件结构 (FILE STRUCTURE)................................................................................................... ...4 4.1 WAVE 文件头-RIFF 类型块(WAVE FILE HEADER)....................................................................4 4.2 WAVE 文件块(WAVE FILE CHUNKS)..........................................................................................5 4.2.1 格式块-“fmt”(Format Chunk – “fmt”).................................................................... .........5 4.2.2 数据块-“data”(Data Chunk –“data”)........................................................... ....................6 4.2.3 ??现状块-“fact”(Fact Chunk –“fact”)............................................................. .................6 4.2.4 ??提示块-“cue”(Cue Chunk –“cue”)........................................................... ....................6 4.2.5 播放列表块-“plst”(Playlist Chunk-“plst”)..................................................... .................6 4.2.6 结合数据块-“list”(Associated Data List Chunk –“list”)...................... ...........................6 4.2.7 标签块-“labl”(Lable chunk –“labl”)................................................................................. .6 4.2.8 标签字符串-“ltxt”(Labeled Text Chunk-“ltxt”)........................................................ .......6 4.2.9 ??标志块-“note”(Note Chunk –“note”)...................................................... .....................6 4.2.10 样本块-“smpl”(Sample Chunk – “smpl”)................................................ ......................6 4.2.11 ??设备-“inst”(Instrument Chunk – “inst”)........................................................... ........6 5 ??格式变量 (FORMAT VARIATIONS)............................................................................... ........7

Revision: 108

Page i

WAV file format

1

INTRODUCE

Revision:001

Page 1

WAV file format

2

纵览(OVERVIEW) 波形(Wave)文件格式是 Windows 的本地存储数字声音数据的文件格式。因为 大量的 Windows 使用者和巨大数量的 Windows 编程者 ,它已成为在 PC 上最 为广泛应用和支持的数字声音文件格式.几乎所有的现代能够打开或保存数字声 音的程序都支持该种格式,使其相当有用并且对于软件程序员有着相当的需求 去理解。以下的规范说明给出了一份对于其结构和内在工作原理详细的描叙。

Revision:001

Page 2

WAV file format

3

数据格式 (DATA FORMATS) ??因为波形文件是 Windows+Intel 处理器平台的本地文件格式。所有的数据值 都被储存成为一种被称为 Litter-Endian(后标识字节前置(least significant byte first))的顺序字符。 波形文件可能包含一些特殊的暗示,提示等等字符串文字。字符串被存储为一 种格式前数字字符说明后面紧随的 ASCII 字符串个数,紧随的 ASCII 的字符组 成该字符串。Pascal 程序员会发现这个类似于 Pascal 字符串的使用。

7 'e' 'x' 'a' 'm' 'p' 'l' 'e' 波形文件格式示例

Revision:001

Page 3

WAV file format

4

文件结构 (FILE STRUCTURE) 波形文件使用标准的 RIFF 结构来??组成文件内容(样本格式,数字声音样本等 等)到一些分离的数据块中,每一部分包含其本身的头和数据。块头中指定了类 型和块数据大小。这种组织格式允许程序不用使用或者难以识别特定的块类型, 从而方便的忽略这些数据块并继续处理其后已知的数据块。某些类型的块包含 一些子块(sub-chunk). 比如 ,在以前右边的示图中, 你会发现"frm" 和"data" 块就是“RIFF”块的子块。 一件关于 RIFF 文件数据块值得注意的 基本波 形文 件规划 块标识 "RIFF" 事是他们必须是字对齐。这个意味着他们的总 块数据大小 计大小总是 2 字节的倍数(比如 2,4,6,8 等等)。 如果一个块存在偶数字节的大小,导致他不能 够字对齐(word aligned),一个特别的值为零 的补码会被置在最后一个字节上。这个特别的 补码并不会被计入块大小中,因此一个程序必 须总对一个块头大小字对齐以便计算其后块的 偏移.

块头 4.1

WAVE 文件 头-RIFF 类型 块(WAVE FILE HEADER)

块数据

波形文件头遵从标准的 RIFF 文件格式结构。文件的头 8 个字节是一个标准的 RIFF 块头,其间包含一个"RIFF"的块标志和块大小被使用在块头,该块大小等 于文件大小减去 8 个字节。在"RIFF"块头 4 个字节数据决定了在 RIFF 块中包含 的资源类型。波形文件总是使用"WAVE" , 在 RIFF 类型之后所有的文件块就定 义了声音波形。

偏移 0x00 0x04 0x08 0x10

大小 4 4 4

描述 块标识 块数据大小 RIFF 类型

值 "RIFF" (0x52494646) (file size) - 8 "WAVE" (0x57415645) 波形块

RIFF 类型块

Revision:001

Page 4

WAV file format

4.2

WAVE 文件 块(WAVE FILE CHUNKS) 有相当多的块类型可以被定义在波形文件中.大部分波形文件一般只包含其中两 种,特定格式块和数据块。有两个块需要被用于描述数字声音样本格式和样本本 身。虽然这并没有被 WAV 文件官方规格中要求,但最好将格式块置于数据块 之前。许多程序期望以该种顺序存储,??因为这样更容易处理一个慢 ,且 线性的数字声音资源,比如在互联网中。如果格式块在数据块之后,那么如果 期望正常播放,所有数据块必须被缓冲。 所有的 RIFF 块即波形快被存储被以下格式。注意包括以上提及的 RIFF 类型块也遵从这个格式。 在以下的文档中会过复 (go through)一些不同类型的波形块,叙述各 自的数据格式以及其包含的意义。你可以使用文档头的表格来帮助查找到相应 感兴趣的块类型。

偏移 0x00 0x04 0x08

大小 4 4 块数据

描述 块标示 块数据大小

RIFF 块格式

4.2.1

格式块-“FMT”(FORMAT CHUNK – “FMT”) 该格式块包含波形数据如何被存储的信息以及应该如何被播放所需的压缩格式 信息,通道的数量,样本的速率,样本比特率和其他属性。

偏移 0x00 0x04 0x08 0x0a 0x0c 0x10 0x14 0x16

大小 4 4 2 2 4 4 2 2

0x18 0x1a

2

描述 块标识 块数据大小 压缩编码 通道数 样本速率 每秒平均字节数 块对其 ??每样本标示数

值 "fmt " (0x666D7420) 16 + 附加格式数据 1 - 65,535 1 - 65,535 1 - 0xFFFFFFFF 1 - 0xFFFFFFFF 1 - 65,535 2 - 65,535

附加格式数据 0 - 65,535 附加格式数据 * 波形格式块值, * read following text for details 块标识和数据大小 块标识

Revision:001

Page 5

WAV file format

4.2.2

数据块-“DATA”(DATA CHUNK –“DATA”)

4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.2.9 4.2.10 4.2.11

??现状块-“FACT”(FACT CHUNK –“FACT”) ??提示块-“CUE”(CUE CHUNK –“CUE”) 播放列表块-“PLST”(PLAYLIST CHUNK-“PLST”) 结合数据块-“LIST”(ASSOCIATED DATA LIST CHUNK –“LIST”) 标签块-“LABL”(LABLE CHUNK –“LABL”) 标签字符串-“LTXT”(LABELED T EXT CHUNK-“LTXT”) ??标志块-“NOTE”(NOTE CHUNK –“NOTE”) 样本块-“SMPL”(SAMPLE CHUNK – “SMPL”) ??设备-“INST”(INSTRUMENT CHUNK – “INST”)

Revision:001

Page 6

WAV file format

5

??格式变量 (FORMAT VARIATIONS)

Revision:001

Page 7

Related Documents

Wav File Format
November 2019 7
Fsx Autogen File Format
April 2020 10
Umd File System Format
July 2020 12
Bab9 - Format File
June 2020 22
Excel File Format
November 2019 15