wav 文件格式学习

本贴最后更新于 1206 天前,其中的信息可能已经物是人非

术语

PCM

PCM(Pulse Code Modulation, 脉冲编码调制),是一种编码方式,目标是将模拟信号转换为数字信号。具体分为三个阶段,采样、量化和编码,如下:

声道

采样频率

采样位数

如果是双声道(stereo), 采样就是双份的, 文件也差不多要大一倍.

比特率

码率是指经过编码后的音频数据每秒钟需要用多少个比特来表示

无损

指传统 CD 格式中的 16bit/44.1kHz 采样率的文件格式

WAVE 文件

WAVE 格式是 PC 上存储 PCM 音频最流行的文件格式,支持不同的比特率、采样率、多声道音频。

WAV 文件格式

IFF

WAVE 文件,遵从 IFF 标准,采用"chunk"来存储数据。

如果要在 WAV 文件中补充信息,只需要在末尾追加新的"chunk",不需要改变整个文件。

必须的 chunk

WAV 格式中,有三个必须的 chunk

imagepng

44

WAV 文件的前 44 字节,保存着元数据信息,具体为[1]:

Positions Sample Value Description
1 - 4 "RIFF" Marks the file as a riff file. Characters are each 1 byte long.
5 - 8 File size (integer) Size of the overall file - 8 bytes, in bytes (32-bit integer). Typically, you'd fill this in after creation.
9 -12 "WAVE" File Type Header. For our purposes, it always equals "WAVE".
13-16 "fmt " Format chunk marker. Includes trailing null
17-20 16 Length of format data as listed above
21-22 1 Type of format (1 is PCM) - 2 byte integer
23-24 2 Number of Channels - 2 byte integer
25-28 44100 Sample Rate - 32 byte integer. Common values are 44100 (CD), 48000 (DAT). Sample Rate = Number of Samples per second, or Hertz.
29-32 176400 (Sample Rate * BitsPerSample * Channels) / 8.
33-34 4 (BitsPerSample * Channels) / 8.1 - 8 bit mono2 - 8 bit stereo/16 bit mono4 - 16 bit stereo
35-36 16 Bits per sample
37-40 "data" "data" chunk header. Marks the beginning of the data section.
41-44 File size (data) Size of the data section.

Sample values are given above for a 16-bit stereo source.

Format Chunk

Format Chunk 中指定了 formatTag,通常都为 LPCM(Linear pulse-code modulation)格式。

参考

  1. Digital Audio - Creating a WAV (RIFF) file
  2. PCM 音频编码
  3. PCM 语音编码
  4. WAV 文件格式解析
  5. [email protected]
  6. android 音频裁剪(2)——Wav 裁剪

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...