Re: How to interpret WAV data?



On Wed, 18 May 2005 14:07:15 +0200, Peter Reichard wrote:

> Hi,
>
> I am writting a program to draw a sample curve. I have read some online
> documents about the WAV formate, however, my curve doesn't look like in
> other sample editors.
>
> If I have a 8bit mono sample, one article described that the data is saved
> like:
>
> channel 0 | channel 0 | channel 0
> [BYTE] [BYTE] [BYTE]
>
> The range for each value is therefore 0-255 (128 means zero). However, an
> other article says that each channel ist stored as an integer. For me, that
> means 2 bytes, like:
>
> channel 0 | channel 0 | channel 0
> [BYTE][BYTE] [BYTE][BYTE] [BYTE][BYTE]
>
> Because it has the same range (0-255), it would be a waste of memory and
> only applicable for 16bit mono samples. What is the correct storage scheme?
>
> Thanks

You can find the format for wavs in the MSDN documentation.

Basically there is a preamble then a format descriptor (which tells you how
many bits per sample among other things).

then there is a sized chunk of data.

If you know that your data is 8 bit mono, it will be stored as a sequence
of signed bytes.

If it were 16 bit stereo it would be stored as pairs of signed shorts.



Iain
--
Iain Downs (DirectShow MVP)
Software Product Consultant
www.idcl.co.uk
.


Loading