Can someone explain .wav(WAVE) file headers?

前端 未结 2 811
眼角桃花
眼角桃花 2021-01-13 12:14

OK, so I\'m trying to make a program that will manipulate .wav files, and I\'ve seen this question/answers, but I\'m not entirely sure as to what each piece of data in the h

2条回答
  •  忘掉有多难
    2021-01-13 12:36

    It is against the board rules to just post a link, so here is the table I took from http://www.topherlee.com/software/pcm-tut-wavformat.html

    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 bit 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, i.e. file size - 44 bytes header.
    

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

    Update/Reminder

    The header integers are all in Least significant byte order, so the two byte channel information 0x01 0x00 are actually 0x00001 e.g. mono.

提交回复
热议问题