Skip to content

File wav_format.h

File List > external-docs > libDaisy > src > util > wav_format.h

Go to the documentation of this file

Source Code

#pragma once
#ifndef DSY_WAV_FORMAT_H
#define DSY_WAV_FORMAT_H

#include <stdint.h>

namespace daisy
{
const uint32_t kWavFileChunkId     = 0x46464952; 
const uint32_t kWavFileWaveId      = 0x45564157; 
const uint32_t kWavFileSubChunk1Id = 0x20746d66; 
const uint32_t kWavFileSubChunk2Id = 0x61746164; 
enum WavFileFormatCode
{
    WAVE_FORMAT_PCM        = 0x0001,
    WAVE_FORMAT_IEEE_FLOAT = 0x0003,
    WAVE_FORMAT_ALAW       = 0x0006,
    WAVE_FORMAT_ULAW       = 0x0007,
    WAVE_FORMAT_EXTENSIBLE = 0xFFFE,
};

typedef struct
{
    uint32_t ChunkId;       
    uint32_t FileSize;      
    uint32_t FileFormat;    
    uint32_t SubChunk1ID;   
    uint32_t SubChunk1Size; 
    uint16_t AudioFormat;   
    uint16_t NbrChannels;   
    uint32_t SampleRate;    
    uint32_t ByteRate;      
    uint16_t BlockAlign;    
    uint16_t BitPerSample;  
    uint32_t SubChunk2ID;   
    uint32_t SubCHunk2Size; 
} WAV_FormatTypeDef;

} // namespace daisy

#endif