Friday, January 14, 2011

Read .wav file in C

Use the open source library:

http://www.mega-nerd.com/libsndfile/

In project properties: C/C++ Additional Include Directories: "C:\Program Files\Mega-Nerd\libsndfile\include"

Linker Additional Library Directories: C:\Program Files\Mega-Nerd\libsndfile

Input Additional Dependencies: libsndfile-1.lib

#include <sndfile.h>
int _tmain(int argc, _TCHAR* argv[])
{
float buf [1024] ;
int i;

SF_INFO sfinfo;
sfinfo.samplerate = 44100;
sfinfo.channels = 1;
sfinfo.format = 0;

SNDFILE* sndfile = sf_open("C:\\clap1mic1.wav", SFM_READ, &sfinfo) ;
if (sndfile == NULL)
printf("NULL\n");
sf_count_t s_len = sf_read_float(sndfile, buf, 1024);

for (i = 0; i < s_len; i++)
printf("%f\n", buf[i]);

sf_close(sndfile);
return 0 ;
}




No comments:

Post a Comment