#include #include #include #include #include #define MAX 5000000 long i,j,ilast; double a[MAX],b[MAX],scale; double sr; FILE *pFile[2]; char filename[2][FILENAME_MAX]; void main() { printf("\n txt_to_wav.cpp, ver 1.0, June 7, 2003 \n"); printf("\n by Tom Irvine \n"); printf("\n This program converts a time history file into a text "); printf("\n format which can be readily converted into a wav format "); printf("\n by programs such as CoolEdit."); printf("\n\n The input file must have two columns: time(sec) and engineering units. \n"); printf("\n\n Enter the input filename. \n"); scanf("%s",filename[0]); printf("\n\n Enter the output filename. \n"); scanf("%s",filename[1]); pFile[0]=fopen(filename[0],"rb"); pFile[1]=fopen(filename[1],"w"); scale=0.; i=0; while(1) { if(i == MAX){break;} if( fscanf(pFile[0],"%lf %lf\n",&a[i],&b[i]) <=0 ){ break;} if(fabs(b[i]) > scale ){ scale = fabs(b[i]) ;} i++; } ilast=i; double dur = (a[ilast-1]-a[0]); sr=double(ilast)/dur; printf("\n duration = %lf sec\n",dur); printf("\n number of samples = %ld \n",ilast); printf("\n sr = %ld samples/sec\n",long(sr)); printf("\n scale = %lf \n",scale); fprintf(pFile[1],"SAMPLES: %ld \n",ilast ); fprintf(pFile[1],"BITSPERSAMPLE: 8 \n"); fprintf(pFile[1],"CHANNELS: 1 \n"); fprintf(pFile[1],"SAMPLERATE: %ld \n",long(sr)); fprintf(pFile[1],"NORMALIZED: FALSE \n"); double x; for(i=0; i