int32 fe_logspec_to_mfcc(fe_t * fe, const mfcc_t * fr_spec, mfcc_t * fr_cep) { #ifdef FIXED_POINT fe_spec2cep(fe, fr_spec, fr_cep); #else /* ! FIXED_POINT */ powspec_t *powspec; int32 i; powspec = ckd_malloc(fe->mel_fb->num_filters * sizeof(powspec_t)); for (i = 0; i < fe->mel_fb->num_filters; ++i) powspec[i] = (powspec_t) fr_spec[i]; fe_spec2cep(fe, powspec, fr_cep); ckd_free(powspec); #endif /* ! FIXED_POINT */ return 0; }
int32 fe_logspec_to_mfcc(fe_t * FE, const mfcc_t * fr_spec, mfcc_t * fr_cep) { #ifdef FIXED_POINT fe_spec2cep(FE, fr_spec, fr_cep); #else /* ! FIXED_POINT */ powspec_t *powspec; int32 i; powspec = malloc(FE->MEL_FB->num_filters * sizeof(powspec_t)); for (i = 0; i < FE->MEL_FB->num_filters; ++i) powspec[i] = (powspec_t) fr_spec[i]; fe_spec2cep(FE, powspec, fr_cep); free(powspec); #endif /* ! FIXED_POINT */ return 0; }