void aubio_pvoc_do(aubio_pvoc_t *pv, fvec_t * datanew, cvec_t *fftgrain) { /* slide */ aubio_pvoc_swapbuffers(pv->data->data,pv->dataold->data, datanew->data,pv->win_s,pv->hop_s); /* windowing */ fvec_weight(pv->data, pv->w); /* shift */ fvec_shift(pv->data); /* calculate fft */ aubio_fft_do (pv->fft,pv->data,fftgrain); }
void aubio_pvoc_do(aubio_pvoc_t *pv, fvec_t * datanew, cvec_t *fftgrain) { uint_t i,j; for (i=0; i<pv->channels; i++) { /* slide */ aubio_pvoc_swapbuffers(pv->data->data[i],pv->dataold->data[i], datanew->data[i],pv->win_s,pv->hop_s); /* windowing */ for (j=0; j<pv->win_s; j++) pv->data->data[i][j] *= pv->w[j]; } /* shift */ vec_shift(pv->data); /* calculate fft */ aubio_mfft_do (pv->fft,pv->data,fftgrain); }