public Vector process(AudioPreProcessor in) throws IllegalArgumentException, IOException {
  if (in == null)   throw new IllegalArgumentException("the audio preprocessor must not be a null value");
  if (in.getSampleRate() != sampleRate)   throw new IllegalArgumentException("sample rates of inputstream differs from sample rate of the sone processor");
  Vector mfcc=new Vector();
  int samplesRead=in.append(inputData,hopSize,hopSize);
  while (samplesRead == hopSize) {
    for (int i=hopSize, j=0; i < windowSize; j++, i++)     inputData[j]=inputData[i];
    samplesRead=in.append(inputData,hopSize,hopSize);
    mfcc.add(processWindow(inputData,0));
  }
  return mfcc;
}

public Vector process ( AudioPreProcessor in ) throws IllegalArgumentException , IOException { if ( in == null ) throw new IllegalArgumentException ( "the audio preprocessor must not be a null value" ) ; if ( in . getSampleRate ( ) != sampleRate ) throw new IllegalArgumentException ( "sample rates of inputstream differs from sample rate of the sone processor" ) ; Vector mfcc = new Vector ( ) ; int samplesRead = in . append ( inputData , hopSize , hopSize ) ; while ( samplesRead == hopSize ) { for ( int i = hopSize , j = 0 ; i < windowSize ; j ++ , i ++ ) inputData [ j ] = inputData [ i ] ; samplesRead = in . append ( inputData , hopSize , hopSize ) ; mfcc . add ( processWindow ( inputData , 0 ) ) ; } return mfcc ; }
performs the transformation of the input data to mfccs . this is done by splitting the given data into windows and processing each of these windows with processwindow ( ) .
