Rob Toulson / Mbed 2 deprecated PE_11-04_WAVEReader

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 /* Program Example 11.4 Wave file header reader
00002                                                                */
00003 #include "mbed.h"
00004 #include "SDFileSystem.h"
00005 
00006 SDFileSystem sd(p5, p6, p7, p8, "sd");
00007 Serial pc(USBTX,USBRX);                       // set up terminal link
00008 char c1, c2, c3, c4;                          // chars for reading data in
00009 int AudioFormat, NumChannels, SampleRate, BitsPerSample ; 
00010 
00011 int main() {
00012     pc.printf("\n\rWave file header reader\n\r");
00013     FILE  *fp = fopen("/sd/sinewave.wav", "rb");    
00014 
00015     fseek(fp, 20, SEEK_SET);                    // set pointer to byte 20   
00016 
00017     fread(&AudioFormat, 2, 1, fp);              // check file is PCM
00018     if (AudioFormat==0x01) {
00019         pc.printf("Wav file is PCM data\n\r");
00020     } 
00021     else {
00022         pc.printf("Wav file is not PCM data\n\r");
00023     }
00024 
00025     fread(&NumChannels, 2, 1, fp);              // find number of channels
00026     pc.printf("Number of channels: %d\n\r",NumChannels);
00027 
00028     fread(&SampleRate, 4, 1, fp);               // find sample rate
00029     pc.printf("Sample rate: %d\n\r",SampleRate);
00030 
00031     fread(&BitsPerSample, 2, 1, fp);            // find resolution
00032     pc.printf("Bits per sample: %d\n\r",BitsPerSample);
00033 
00034     fclose(fp);
00035 }
00036