Thursday, June 17, 2010

get_number_frames

Digital Signal Processing Library

Voice Lab

get_number_frames


int get_number_frames(FILE *in_file, int header_length, int data_length,
int sample_rate, int window_size, int overlap)
{
int number;

fseek(in_file, 0, SEEK_END);
number = ftell(in_file);

number -= header_length;

/* if sample rate = 50K, use half of the values */
if(sample_rate == 50000) number /= 2;

/* Truncate number to a multiple of data_length */
number /= data_length;

/* Truncate number to a multiple of window_size */
switch(overlap) {
case 2:
number = (number * 2) / window_size;
number--;
break;
case 1:
default:
number /= window_size;
break;
}

/* seek to beginning of data segment */
fseek(in_file, header_length, SEEK_SET);

return(number);
}


No comments:

Post a Comment