第一次分析wav

原创 2005年05月25日 21:08:00
以下是从网上搜到的wav格式:
The canonical WAVE format starts with the RIFF header:

0         4   ChunkID          Contains the letters "RIFF" in ASCII form
                               (0x52494646 big-endian form).
4         4   ChunkSize        36 + SubChunk2Size, or more precisely:
                               4 + (8 + SubChunk1Size) + (8 + SubChunk2Size)
                               This is the size of the rest of the chunk
                               following this number.  This is the size of the
                               entire file in bytes minus 8 bytes for the
                               two fields not included in this count:
                               ChunkID and ChunkSize.
8         4   Format           Contains the letters "WAVE"
                               (0x57415645 big-endian form).

The "WAVE" format consists of two subchunks: "fmt " and "data":
The "fmt " subchunk describes the sound data's format:

12        4   Subchunk1ID      Contains the letters "fmt "
                               (0x666d7420 big-endian form).
16        4   Subchunk1Size    16 for PCM.  This is the size of the
                               rest of the Subchunk which follows this number.
20        2   AudioFormat      PCM = 1 (i.e. Linear quantization)
                               Values other than 1 indicate some
                               form of compression.
22        2   NumChannels      Mono = 1, Stereo = 2, etc.
24        4   SampleRate       8000, 44100, etc.
28        4   ByteRate         == SampleRate * NumChannels * BitsPerSample/8
32        2   BlockAlign       == NumChannels * BitsPerSample/8
                               The number of bytes for one sample including
                               all channels. I wonder what happens when
                               this number isn't an integer?
34        2   BitsPerSample    8 bits = 8, 16 bits = 16, etc.
          2   ExtraParamSize   if PCM, then doesn't exist
          X   ExtraParams      space for extra parameters


The "data" subchunk contains the size of the data and the actual sound:

36        4   Subchunk2ID      Contains the letters "data"
                               (0x64617461 big-endian form).
40        4   Subchunk2Size    == NumSamples * NumChannels * BitsPerSample/8
                               This is the number of bytes in the data.
                               You can also think of this as the size
                               of the read of the subchunk following this
                               number.
44        *   Data             The actual sound data.
尝试读取了不同的wav文件,但是很多都不对劲。
大多数Subchunk2Size都和实际大小不同,用windows录音机录出来的文件更离谱,subchunk2中的有些内容都不符。
好难理解啊。总觉得自己什么地方理解错了,但就是找不到,郁闷ing

wav文件格式分析详解(网络转载)

一、综述     WAVE文件作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。 RIFF是英文Resource Interchange File Format的缩写,每个WAVE文...

儲存格式理解筆記(一)WAV格式分析,使用C++

不知道有何原因,無聊就想知道wav格式到底是長怎樣,一時興起就用C++寫了以下代碼來解析它, 先來看一下它的Header長什麼樣子,圖片來自維基百科。 經過整理之後,我們可以用C++定義出如下...

PHP分析.wav文件并绘制png格式的波形图

很多人可能对pack/unpack函数不熟悉;这其实是Php借用perl的,他们提供了使用脚本语言访问复杂二进制数据结构的方法。我的这段简化的程序只能处理PCM格式的RIFF音频文件(这也是最常见的w...

wav文件格式分析详解和解析代码

wav文件格式分析详解和解析代码

SDL播放wav音频分析

主机环境:Win7 SDLban'b 关于SDL音频播放的分析可以查看SDL2源代码中

wav文件格式分析(代码 C++ )

下面就来分析一下wav波形文件的格式。   我们先随便找一个wav文件,查看其属性,就能得到下面的结果。              上面主要注意文件大小,声音长度与比特率。   文件占用空间...
  • yu__jia
  • yu__jia
  • 2016年02月29日 10:22
  • 1657

WAV文件格式分析

一. RIFF概念在Windows环境下,大部分的多媒体文件都依循着一种结构来存放信息,这种结构称为"资源互换文件格式"(Resources lnterchange File Format),简称RI...
  • momosp
  • momosp
  • 2011年05月09日 14:04
  • 349

儲存格式理解筆記(一)WAV格式分析2,理解含意。

繼上一篇用C++解析出WAV Format Header之後,對於其儲存內容的意涵還是不甚了解, 於是發揮追根究柢的精神,希望能一次釐清;故查詢資料並統整翻譯後有以下筆記。 採樣(...

Wav格式分析

看了几篇博客都很好,摘抄一部分做一个记录,同时附上原的地址 WAV格式相关博客: http://ticktick.blog.51cto.com/823160/1752947 http://b...

wav文件格式分析详解和解析代码

Wav文件格式解析代码,代码见附录,写的过程参考了 http://www.sonicspot.com/guide/wavefiles.html 和曹京的文章,见下: 作者:曹京 日期:2006...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第一次分析wav
举报原因:
原因补充:

(最多只允许输入30个字)