From: Paul Brossier Date: Thu, 21 Apr 2016 17:36:56 +0000 (+0200) Subject: src/spectral/: add const qualifiers X-Git-Tag: 0.4.4~300^2~289 X-Git-Url: https://git.aubio.org/?a=commitdiff_plain;h=feb694b1e033d7ebae4249e6c9e998dc1f92b941;p=aubio.git src/spectral/: add const qualifiers --- diff --git a/src/spectral/fft.c b/src/spectral/fft.c index 2545f0f0..16e89b6a 100644 --- a/src/spectral/fft.c +++ b/src/spectral/fft.c @@ -230,17 +230,17 @@ void del_aubio_fft(aubio_fft_t * s) { AUBIO_FREE(s); } -void aubio_fft_do(aubio_fft_t * s, fvec_t * input, cvec_t * spectrum) { +void aubio_fft_do(aubio_fft_t * s, const fvec_t * input, cvec_t * spectrum) { aubio_fft_do_complex(s, input, s->compspec); aubio_fft_get_spectrum(s->compspec, spectrum); } -void aubio_fft_rdo(aubio_fft_t * s, cvec_t * spectrum, fvec_t * output) { +void aubio_fft_rdo(aubio_fft_t * s, const cvec_t * spectrum, fvec_t * output) { aubio_fft_get_realimag(spectrum, s->compspec); aubio_fft_rdo_complex(s, s->compspec, output); } -void aubio_fft_do_complex(aubio_fft_t * s, fvec_t * input, fvec_t * compspec) { +void aubio_fft_do_complex(aubio_fft_t * s, const fvec_t * input, fvec_t * compspec) { uint_t i; #ifndef HAVE_MEMCPY_HACKS for (i=0; i < s->winsize; i++) { @@ -291,7 +291,7 @@ void aubio_fft_do_complex(aubio_fft_t * s, fvec_t * input, fvec_t * compspec) { #endif /* HAVE_FFTW3 */ } -void aubio_fft_rdo_complex(aubio_fft_t * s, fvec_t * compspec, fvec_t * output) { +void aubio_fft_rdo_complex(aubio_fft_t * s, const fvec_t * compspec, fvec_t * output) { uint_t i; #ifdef HAVE_FFTW3 const smpl_t renorm = 1./(smpl_t)s->winsize; @@ -346,17 +346,17 @@ void aubio_fft_rdo_complex(aubio_fft_t * s, fvec_t * compspec, fvec_t * output) #endif /* HAVE_FFTW3 */ } -void aubio_fft_get_spectrum(fvec_t * compspec, cvec_t * spectrum) { +void aubio_fft_get_spectrum(const fvec_t * compspec, cvec_t * spectrum) { aubio_fft_get_phas(compspec, spectrum); aubio_fft_get_norm(compspec, spectrum); } -void aubio_fft_get_realimag(cvec_t * spectrum, fvec_t * compspec) { +void aubio_fft_get_realimag(const cvec_t * spectrum, fvec_t * compspec) { aubio_fft_get_imag(spectrum, compspec); aubio_fft_get_real(spectrum, compspec); } -void aubio_fft_get_phas(fvec_t * compspec, cvec_t * spectrum) { +void aubio_fft_get_phas(const fvec_t * compspec, cvec_t * spectrum) { uint_t i; if (compspec->data[0] < 0) { spectrum->phas[0] = PI; @@ -374,7 +374,7 @@ void aubio_fft_get_phas(fvec_t * compspec, cvec_t * spectrum) { } } -void aubio_fft_get_norm(fvec_t * compspec, cvec_t * spectrum) { +void aubio_fft_get_norm(const fvec_t * compspec, cvec_t * spectrum) { uint_t i = 0; spectrum->norm[0] = ABS(compspec->data[0]); for (i=1; i < spectrum->length - 1; i++) { @@ -385,7 +385,7 @@ void aubio_fft_get_norm(fvec_t * compspec, cvec_t * spectrum) { ABS(compspec->data[compspec->length/2]); } -void aubio_fft_get_imag(cvec_t * spectrum, fvec_t * compspec) { +void aubio_fft_get_imag(const cvec_t * spectrum, fvec_t * compspec) { uint_t i; for (i = 1; i < ( compspec->length + 1 ) / 2 /*- 1 + 1*/; i++) { compspec->data[compspec->length - i] = @@ -393,7 +393,7 @@ void aubio_fft_get_imag(cvec_t * spectrum, fvec_t * compspec) { } } -void aubio_fft_get_real(cvec_t * spectrum, fvec_t * compspec) { +void aubio_fft_get_real(const cvec_t * spectrum, fvec_t * compspec) { uint_t i; for (i = 0; i < compspec->length / 2 + 1; i++) { compspec->data[i] = diff --git a/src/spectral/fft.h b/src/spectral/fft.h index 98b984e6..e55e475c 100644 --- a/src/spectral/fft.h +++ b/src/spectral/fft.h @@ -65,7 +65,7 @@ void del_aubio_fft(aubio_fft_t * s); \param spectrum output spectrum */ -void aubio_fft_do (aubio_fft_t *s, fvec_t * input, cvec_t * spectrum); +void aubio_fft_do (aubio_fft_t *s, const fvec_t * input, cvec_t * spectrum); /** compute backward (inverse) FFT \param s fft object as returned by new_aubio_fft @@ -73,7 +73,7 @@ void aubio_fft_do (aubio_fft_t *s, fvec_t * input, cvec_t * spectrum); \param output output signal */ -void aubio_fft_rdo (aubio_fft_t *s, cvec_t * spectrum, fvec_t * output); +void aubio_fft_rdo (aubio_fft_t *s, const cvec_t * spectrum, fvec_t * output); /** compute forward FFT @@ -82,7 +82,7 @@ void aubio_fft_rdo (aubio_fft_t *s, cvec_t * spectrum, fvec_t * output); \param compspec complex output fft real/imag */ -void aubio_fft_do_complex (aubio_fft_t *s, fvec_t * input, fvec_t * compspec); +void aubio_fft_do_complex (aubio_fft_t *s, const fvec_t * input, fvec_t * compspec); /** compute backward (inverse) FFT from real/imag \param s fft object as returned by new_aubio_fft @@ -90,7 +90,7 @@ void aubio_fft_do_complex (aubio_fft_t *s, fvec_t * input, fvec_t * compspec); \param output real output array */ -void aubio_fft_rdo_complex (aubio_fft_t *s, fvec_t * compspec, fvec_t * output); +void aubio_fft_rdo_complex (aubio_fft_t *s, const fvec_t * compspec, fvec_t * output); /** convert real/imag spectrum to norm/phas spectrum @@ -98,14 +98,14 @@ void aubio_fft_rdo_complex (aubio_fft_t *s, fvec_t * compspec, fvec_t * output); \param spectrum cvec norm/phas output array */ -void aubio_fft_get_spectrum(fvec_t * compspec, cvec_t * spectrum); +void aubio_fft_get_spectrum(const fvec_t * compspec, cvec_t * spectrum); /** convert real/imag spectrum to norm/phas spectrum \param compspec real/imag input fft array \param spectrum cvec norm/phas output array */ -void aubio_fft_get_realimag(cvec_t * spectrum, fvec_t * compspec); +void aubio_fft_get_realimag(const cvec_t * spectrum, fvec_t * compspec); /** compute phas spectrum from real/imag parts @@ -113,14 +113,14 @@ void aubio_fft_get_realimag(cvec_t * spectrum, fvec_t * compspec); \param spectrum cvec norm/phas output array */ -void aubio_fft_get_phas(fvec_t * compspec, cvec_t * spectrum); +void aubio_fft_get_phas(const fvec_t * compspec, cvec_t * spectrum); /** compute imaginary part from the norm/phas cvec \param spectrum norm/phas input array \param compspec real/imag output fft array */ -void aubio_fft_get_imag(cvec_t * spectrum, fvec_t * compspec); +void aubio_fft_get_imag(const cvec_t * spectrum, fvec_t * compspec); /** compute norm component from real/imag parts @@ -128,14 +128,14 @@ void aubio_fft_get_imag(cvec_t * spectrum, fvec_t * compspec); \param spectrum cvec norm/phas output array */ -void aubio_fft_get_norm(fvec_t * compspec, cvec_t * spectrum); +void aubio_fft_get_norm(const fvec_t * compspec, cvec_t * spectrum); /** compute real part from norm/phas components \param spectrum norm/phas input array \param compspec real/imag output fft array */ -void aubio_fft_get_real(cvec_t * spectrum, fvec_t * compspec); +void aubio_fft_get_real(const cvec_t * spectrum, fvec_t * compspec); #ifdef __cplusplus } diff --git a/src/spectral/filterbank.c b/src/spectral/filterbank.c index 4f6ac99f..0323700c 100644 --- a/src/spectral/filterbank.c +++ b/src/spectral/filterbank.c @@ -56,7 +56,7 @@ del_aubio_filterbank (aubio_filterbank_t * fb) } void -aubio_filterbank_do (aubio_filterbank_t * f, cvec_t * in, fvec_t * out) +aubio_filterbank_do (aubio_filterbank_t * f, const cvec_t * in, fvec_t * out) { /* apply filter to all input channel, provided out has enough channels */ //uint_t max_filters = MIN (f->n_filters, out->length); @@ -73,13 +73,13 @@ aubio_filterbank_do (aubio_filterbank_t * f, cvec_t * in, fvec_t * out) } fmat_t * -aubio_filterbank_get_coeffs (aubio_filterbank_t * f) +aubio_filterbank_get_coeffs (const aubio_filterbank_t * f) { return f->filters; } uint_t -aubio_filterbank_set_coeffs (aubio_filterbank_t * f, fmat_t * filter_coeffs) +aubio_filterbank_set_coeffs (aubio_filterbank_t * f, const fmat_t * filter_coeffs) { fmat_copy(filter_coeffs, f->filters); return 0; diff --git a/src/spectral/filterbank.h b/src/spectral/filterbank.h index 80c6982f..8bc16525 100644 --- a/src/spectral/filterbank.h +++ b/src/spectral/filterbank.h @@ -66,14 +66,14 @@ void del_aubio_filterbank (aubio_filterbank_t * f); \param out output vector containing the energy found in each band, `nfilt` output values */ -void aubio_filterbank_do (aubio_filterbank_t * f, cvec_t * in, fvec_t * out); +void aubio_filterbank_do (aubio_filterbank_t * f, const cvec_t * in, fvec_t * out); /** return a pointer to the matrix object containing all filter coefficients \param f filterbank object, as returned by new_aubio_filterbank() */ -fmat_t *aubio_filterbank_get_coeffs (aubio_filterbank_t * f); +fmat_t *aubio_filterbank_get_coeffs (const aubio_filterbank_t * f); /** copy filter coefficients to the filterbank @@ -81,7 +81,7 @@ fmat_t *aubio_filterbank_get_coeffs (aubio_filterbank_t * f); \param filters filter bank coefficients to copy from */ -uint_t aubio_filterbank_set_coeffs (aubio_filterbank_t * f, fmat_t * filters); +uint_t aubio_filterbank_set_coeffs (aubio_filterbank_t * f, const fmat_t * filters); #ifdef __cplusplus } diff --git a/src/spectral/filterbank_mel.c b/src/spectral/filterbank_mel.c index 2fc7085e..f0595405 100644 --- a/src/spectral/filterbank_mel.c +++ b/src/spectral/filterbank_mel.c @@ -29,7 +29,7 @@ uint_t aubio_filterbank_set_triangle_bands (aubio_filterbank_t * fb, - fvec_t * freqs, smpl_t samplerate) + const fvec_t * freqs, smpl_t samplerate) { fmat_t *filters = aubio_filterbank_get_coeffs (fb); diff --git a/src/spectral/filterbank_mel.h b/src/spectral/filterbank_mel.h index 8fbb523e..a3e806b2 100644 --- a/src/spectral/filterbank_mel.h +++ b/src/spectral/filterbank_mel.h @@ -50,7 +50,7 @@ extern "C" */ uint_t aubio_filterbank_set_triangle_bands (aubio_filterbank_t * fb, - fvec_t * freqs, smpl_t samplerate); + const fvec_t * freqs, smpl_t samplerate); /** filterbank initialization for Mel filters using Slaney's coefficients diff --git a/src/spectral/mfcc.c b/src/spectral/mfcc.c index a7e535d5..2a6d6e91 100644 --- a/src/spectral/mfcc.c +++ b/src/spectral/mfcc.c @@ -100,7 +100,7 @@ del_aubio_mfcc (aubio_mfcc_t * mf) void -aubio_mfcc_do (aubio_mfcc_t * mf, cvec_t * in, fvec_t * out) +aubio_mfcc_do (aubio_mfcc_t * mf, const cvec_t * in, fvec_t * out) { /* compute filterbank */ aubio_filterbank_do (mf->fb, in, mf->in_dct); diff --git a/src/spectral/mfcc.h b/src/spectral/mfcc.h index 552d141f..4adcd22c 100644 --- a/src/spectral/mfcc.h +++ b/src/spectral/mfcc.h @@ -70,7 +70,7 @@ void del_aubio_mfcc (aubio_mfcc_t * mf); \param out output mel coefficients buffer (n_coeffs long) */ -void aubio_mfcc_do (aubio_mfcc_t * mf, cvec_t * in, fvec_t * out); +void aubio_mfcc_do (aubio_mfcc_t * mf, const cvec_t * in, fvec_t * out); #ifdef __cplusplus } diff --git a/src/spectral/phasevoc.c b/src/spectral/phasevoc.c index 150c3595..ed299b49 100644 --- a/src/spectral/phasevoc.c +++ b/src/spectral/phasevoc.c @@ -44,12 +44,12 @@ struct _aubio_pvoc_t { /** returns data and dataold slided by hop_s */ -static void aubio_pvoc_swapbuffers(aubio_pvoc_t *pv, fvec_t *new); +static void aubio_pvoc_swapbuffers(aubio_pvoc_t *pv, const fvec_t *new); /** do additive synthesis from 'old' and 'cur' */ static void aubio_pvoc_addsynth(aubio_pvoc_t *pv, fvec_t * synthnew); -void aubio_pvoc_do(aubio_pvoc_t *pv, fvec_t * datanew, cvec_t *fftgrain) { +void aubio_pvoc_do(aubio_pvoc_t *pv, const fvec_t * datanew, cvec_t *fftgrain) { /* slide */ aubio_pvoc_swapbuffers(pv, datanew); /* windowing */ @@ -136,7 +136,7 @@ void del_aubio_pvoc(aubio_pvoc_t *pv) { AUBIO_FREE(pv); } -static void aubio_pvoc_swapbuffers(aubio_pvoc_t *pv, fvec_t *new) +static void aubio_pvoc_swapbuffers(aubio_pvoc_t *pv, const fvec_t *new) { /* some convenience pointers */ smpl_t * data = pv->data->data; diff --git a/src/spectral/phasevoc.h b/src/spectral/phasevoc.h index 7d9e6afe..b9ff4534 100644 --- a/src/spectral/phasevoc.h +++ b/src/spectral/phasevoc.h @@ -67,7 +67,7 @@ void del_aubio_pvoc(aubio_pvoc_t *pv); \param fftgrain output spectral frame */ -void aubio_pvoc_do(aubio_pvoc_t *pv, fvec_t *in, cvec_t * fftgrain); +void aubio_pvoc_do(aubio_pvoc_t *pv, const fvec_t *in, cvec_t * fftgrain); /** compute signal from spectral frame This function takes an input spectral frame fftgrain of size diff --git a/src/spectral/specdesc.c b/src/spectral/specdesc.c index 5ef10625..fb9b2f79 100644 --- a/src/spectral/specdesc.c +++ b/src/spectral/specdesc.c @@ -26,28 +26,28 @@ #include "mathutils.h" #include "utils/hist.h" -void aubio_specdesc_energy(aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * onset); -void aubio_specdesc_hfc(aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * onset); -void aubio_specdesc_complex(aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * onset); -void aubio_specdesc_phase(aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * onset); -void aubio_specdesc_specdiff(aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * onset); -void aubio_specdesc_kl(aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * onset); -void aubio_specdesc_mkl(aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * onset); -void aubio_specdesc_specflux(aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * onset); +void aubio_specdesc_energy(aubio_specdesc_t *o, const cvec_t * fftgrain, fvec_t * onset); +void aubio_specdesc_hfc(aubio_specdesc_t *o, const cvec_t * fftgrain, fvec_t * onset); +void aubio_specdesc_complex(aubio_specdesc_t *o, const cvec_t * fftgrain, fvec_t * onset); +void aubio_specdesc_phase(aubio_specdesc_t *o, const cvec_t * fftgrain, fvec_t * onset); +void aubio_specdesc_specdiff(aubio_specdesc_t *o, const cvec_t * fftgrain, fvec_t * onset); +void aubio_specdesc_kl(aubio_specdesc_t *o, const cvec_t * fftgrain, fvec_t * onset); +void aubio_specdesc_mkl(aubio_specdesc_t *o, const cvec_t * fftgrain, fvec_t * onset); +void aubio_specdesc_specflux(aubio_specdesc_t *o, const cvec_t * fftgrain, fvec_t * onset); -extern void aubio_specdesc_centroid (aubio_specdesc_t * o, cvec_t * spec, +extern void aubio_specdesc_centroid (aubio_specdesc_t * o, const cvec_t * spec, fvec_t * desc); -extern void aubio_specdesc_spread (aubio_specdesc_t * o, cvec_t * spec, +extern void aubio_specdesc_spread (aubio_specdesc_t * o, const cvec_t * spec, fvec_t * desc); -extern void aubio_specdesc_skewness (aubio_specdesc_t * o, cvec_t * spec, +extern void aubio_specdesc_skewness (aubio_specdesc_t * o, const cvec_t * spec, fvec_t * desc); -extern void aubio_specdesc_kurtosis (aubio_specdesc_t * o, cvec_t * spec, +extern void aubio_specdesc_kurtosis (aubio_specdesc_t * o, const cvec_t * spec, fvec_t * desc); -extern void aubio_specdesc_slope (aubio_specdesc_t * o, cvec_t * spec, +extern void aubio_specdesc_slope (aubio_specdesc_t * o, const cvec_t * spec, fvec_t * desc); -extern void aubio_specdesc_decrease (aubio_specdesc_t * o, cvec_t * spec, +extern void aubio_specdesc_decrease (aubio_specdesc_t * o, const cvec_t * spec, fvec_t * desc); -extern void aubio_specdesc_rolloff (aubio_specdesc_t * o, cvec_t * spec, +extern void aubio_specdesc_rolloff (aubio_specdesc_t * o, const cvec_t * spec, fvec_t * desc); /** onsetdetection types */ @@ -75,7 +75,7 @@ struct _aubio_specdesc_t { aubio_specdesc_type onset_type; /**< onset detection type */ /** Pointer to aubio_specdesc_ function */ void (*funcpointer)(aubio_specdesc_t *o, - cvec_t * fftgrain, fvec_t * onset); + const cvec_t * fftgrain, fvec_t * onset); smpl_t threshold; /**< minimum norm threshold for phase and specdiff */ fvec_t *oldmag; /**< previous norm vector */ fvec_t *dev1 ; /**< current onset detection measure vector */ @@ -87,7 +87,7 @@ struct _aubio_specdesc_t { /* Energy based onset detection function */ void aubio_specdesc_energy (aubio_specdesc_t *o UNUSED, - cvec_t * fftgrain, fvec_t * onset) { + const cvec_t * fftgrain, fvec_t * onset) { uint_t j; onset->data[0] = 0.; for (j=0;jlength;j++) { @@ -97,7 +97,7 @@ void aubio_specdesc_energy (aubio_specdesc_t *o UNUSED, /* High Frequency Content onset detection function */ void aubio_specdesc_hfc(aubio_specdesc_t *o UNUSED, - cvec_t * fftgrain, fvec_t * onset){ + const cvec_t * fftgrain, fvec_t * onset){ uint_t j; onset->data[0] = 0.; for (j=0;jlength;j++) { @@ -107,7 +107,7 @@ void aubio_specdesc_hfc(aubio_specdesc_t *o UNUSED, /* Complex Domain Method onset detection function */ -void aubio_specdesc_complex (aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * onset) { +void aubio_specdesc_complex (aubio_specdesc_t *o, const cvec_t * fftgrain, fvec_t * onset) { uint_t j; uint_t nbins = fftgrain->length; onset->data[0] = 0.; @@ -131,7 +131,7 @@ void aubio_specdesc_complex (aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * on /* Phase Based Method onset detection function */ void aubio_specdesc_phase(aubio_specdesc_t *o, - cvec_t * fftgrain, fvec_t * onset){ + const cvec_t * fftgrain, fvec_t * onset){ uint_t j; uint_t nbins = fftgrain->length; onset->data[0] = 0.0; @@ -161,7 +161,7 @@ void aubio_specdesc_phase(aubio_specdesc_t *o, /* Spectral difference method onset detection function */ void aubio_specdesc_specdiff(aubio_specdesc_t *o, - cvec_t * fftgrain, fvec_t * onset){ + const cvec_t * fftgrain, fvec_t * onset){ uint_t j; uint_t nbins = fftgrain->length; onset->data[0] = 0.0; @@ -188,7 +188,7 @@ void aubio_specdesc_specdiff(aubio_specdesc_t *o, /* Kullback Liebler onset detection function * note we use ln(1+Xn/(Xn-1+0.0001)) to avoid * negative (1.+) and infinite values (+1.e-10) */ -void aubio_specdesc_kl(aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * onset){ +void aubio_specdesc_kl(aubio_specdesc_t *o, const cvec_t * fftgrain, fvec_t * onset){ uint_t j; onset->data[0] = 0.; for (j=0;jlength;j++) { @@ -202,7 +202,7 @@ void aubio_specdesc_kl(aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * onset){ /* Modified Kullback Liebler onset detection function * note we use ln(1+Xn/(Xn-1+0.0001)) to avoid * negative (1.+) and infinite values (+1.e-10) */ -void aubio_specdesc_mkl(aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * onset){ +void aubio_specdesc_mkl(aubio_specdesc_t *o, const cvec_t * fftgrain, fvec_t * onset){ uint_t j; onset->data[0] = 0.; for (j=0;jlength;j++) { @@ -213,7 +213,7 @@ void aubio_specdesc_mkl(aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * onset){ } /* Spectral flux */ -void aubio_specdesc_specflux(aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * onset){ +void aubio_specdesc_specflux(aubio_specdesc_t *o, const cvec_t * fftgrain, fvec_t * onset){ uint_t j; onset->data[0] = 0.; for (j=0;jlength;j++) { @@ -225,7 +225,7 @@ void aubio_specdesc_specflux(aubio_specdesc_t *o, cvec_t * fftgrain, fvec_t * on /* Generic function pointing to the choosen one */ void -aubio_specdesc_do (aubio_specdesc_t *o, cvec_t * fftgrain, +aubio_specdesc_do (aubio_specdesc_t *o, const cvec_t * fftgrain, fvec_t * onset) { o->funcpointer(o,fftgrain,onset); } @@ -234,7 +234,7 @@ aubio_specdesc_do (aubio_specdesc_t *o, cvec_t * fftgrain, * depending on the choosen type, allocate memory as needed */ aubio_specdesc_t * -new_aubio_specdesc (char_t * onset_mode, uint_t size){ +new_aubio_specdesc (const char_t * onset_mode, uint_t size){ aubio_specdesc_t * o = AUBIO_NEW(aubio_specdesc_t); uint_t rsize = size/2+1; aubio_specdesc_type onset_type; diff --git a/src/spectral/specdesc.h b/src/spectral/specdesc.h index 1750f0ed..97c9beef 100644 --- a/src/spectral/specdesc.h +++ b/src/spectral/specdesc.h @@ -164,7 +164,7 @@ typedef struct _aubio_specdesc_t aubio_specdesc_t; \param desc output vector (one sample long, to send to the peak picking) */ -void aubio_specdesc_do (aubio_specdesc_t * o, cvec_t * fftgrain, +void aubio_specdesc_do (aubio_specdesc_t * o, const cvec_t * fftgrain, fvec_t * desc); /** creation of a spectral description object @@ -178,7 +178,7 @@ void aubio_specdesc_do (aubio_specdesc_t * o, cvec_t * fftgrain, - `centroid`, `spread`, `skewness`, `kurtosis`, `slope`, `decrease`, `rolloff` */ -aubio_specdesc_t *new_aubio_specdesc (char_t * method, uint_t buf_size); +aubio_specdesc_t *new_aubio_specdesc (const char_t * method, uint_t buf_size); /** deletion of a spectral descriptor diff --git a/src/spectral/statistics.c b/src/spectral/statistics.c index fd25f0ab..4fd66c00 100644 --- a/src/spectral/statistics.c +++ b/src/spectral/statistics.c @@ -22,29 +22,29 @@ #include "cvec.h" #include "spectral/specdesc.h" -void aubio_specdesc_centroid (aubio_specdesc_t * o, cvec_t * spec, +void aubio_specdesc_centroid (aubio_specdesc_t * o, const cvec_t * spec, fvec_t * desc); -void aubio_specdesc_spread (aubio_specdesc_t * o, cvec_t * spec, +void aubio_specdesc_spread (aubio_specdesc_t * o, const cvec_t * spec, fvec_t * desc); -void aubio_specdesc_skewness (aubio_specdesc_t * o, cvec_t * spec, +void aubio_specdesc_skewness (aubio_specdesc_t * o, const cvec_t * spec, fvec_t * desc); -void aubio_specdesc_kurtosis (aubio_specdesc_t * o, cvec_t * spec, +void aubio_specdesc_kurtosis (aubio_specdesc_t * o, const cvec_t * spec, fvec_t * desc); -void aubio_specdesc_slope (aubio_specdesc_t * o, cvec_t * spec, +void aubio_specdesc_slope (aubio_specdesc_t * o, const cvec_t * spec, fvec_t * desc); -void aubio_specdesc_decrease (aubio_specdesc_t * o, cvec_t * spec, +void aubio_specdesc_decrease (aubio_specdesc_t * o, const cvec_t * spec, fvec_t * desc); -void aubio_specdesc_rolloff (aubio_specdesc_t * o, cvec_t * spec, +void aubio_specdesc_rolloff (aubio_specdesc_t * o, const cvec_t * spec, fvec_t * desc); -smpl_t cvec_sum (cvec_t * s); -smpl_t cvec_mean (cvec_t * s); -smpl_t cvec_centroid (cvec_t * s); -smpl_t cvec_moment (cvec_t * s, uint_t moment); +smpl_t cvec_sum (const cvec_t * s); +smpl_t cvec_mean (const cvec_t * s); +smpl_t cvec_centroid (const cvec_t * s); +smpl_t cvec_moment (const cvec_t * s, uint_t moment); smpl_t -cvec_sum (cvec_t * s) +cvec_sum (const cvec_t * s) { uint_t j; smpl_t tmp = 0.0; @@ -55,13 +55,13 @@ cvec_sum (cvec_t * s) } smpl_t -cvec_mean (cvec_t * s) +cvec_mean (const cvec_t * s) { return cvec_sum (s) / (smpl_t) (s->length); } smpl_t -cvec_centroid (cvec_t * spec) +cvec_centroid (const cvec_t * spec) { smpl_t sum = 0., sc = 0.; uint_t j; @@ -77,7 +77,7 @@ cvec_centroid (cvec_t * spec) } smpl_t -cvec_moment (cvec_t * spec, uint_t order) +cvec_moment (const cvec_t * spec, uint_t order) { smpl_t sum = 0., centroid = 0., sc = 0.; uint_t j; @@ -94,21 +94,21 @@ cvec_moment (cvec_t * spec, uint_t order) } void -aubio_specdesc_centroid (aubio_specdesc_t * o UNUSED, cvec_t * spec, +aubio_specdesc_centroid (aubio_specdesc_t * o UNUSED, const cvec_t * spec, fvec_t * desc) { desc->data[0] = cvec_centroid (spec); } void -aubio_specdesc_spread (aubio_specdesc_t * o UNUSED, cvec_t * spec, +aubio_specdesc_spread (aubio_specdesc_t * o UNUSED, const cvec_t * spec, fvec_t * desc) { desc->data[0] = cvec_moment (spec, 2); } void -aubio_specdesc_skewness (aubio_specdesc_t * o UNUSED, cvec_t * spec, +aubio_specdesc_skewness (aubio_specdesc_t * o UNUSED, const cvec_t * spec, fvec_t * desc) { smpl_t spread; @@ -122,7 +122,7 @@ aubio_specdesc_skewness (aubio_specdesc_t * o UNUSED, cvec_t * spec, } void -aubio_specdesc_kurtosis (aubio_specdesc_t * o UNUSED, cvec_t * spec, +aubio_specdesc_kurtosis (aubio_specdesc_t * o UNUSED, const cvec_t * spec, fvec_t * desc) { smpl_t spread; @@ -136,7 +136,7 @@ aubio_specdesc_kurtosis (aubio_specdesc_t * o UNUSED, cvec_t * spec, } void -aubio_specdesc_slope (aubio_specdesc_t * o UNUSED, cvec_t * spec, +aubio_specdesc_slope (aubio_specdesc_t * o UNUSED, const cvec_t * spec, fvec_t * desc) { uint_t j; @@ -164,7 +164,7 @@ aubio_specdesc_slope (aubio_specdesc_t * o UNUSED, cvec_t * spec, } void -aubio_specdesc_decrease (aubio_specdesc_t *o UNUSED, cvec_t * spec, +aubio_specdesc_decrease (aubio_specdesc_t *o UNUSED, const cvec_t * spec, fvec_t * desc) { uint_t j; smpl_t sum; @@ -182,7 +182,7 @@ aubio_specdesc_decrease (aubio_specdesc_t *o UNUSED, cvec_t * spec, } void -aubio_specdesc_rolloff (aubio_specdesc_t *o UNUSED, cvec_t * spec, +aubio_specdesc_rolloff (aubio_specdesc_t *o UNUSED, const cvec_t * spec, fvec_t *desc) { uint_t j; smpl_t cumsum, rollsum; diff --git a/src/spectral/tss.c b/src/spectral/tss.c index 9b324b9d..8b57bf32 100644 --- a/src/spectral/tss.c +++ b/src/spectral/tss.c @@ -40,7 +40,7 @@ struct _aubio_tss_t fvec_t *dev; }; -void aubio_tss_do(aubio_tss_t *o, cvec_t * input, +void aubio_tss_do(aubio_tss_t *o, const cvec_t * input, cvec_t * trans, cvec_t * stead) { uint_t j; diff --git a/src/spectral/tss.h b/src/spectral/tss.h index 51b35346..141eba1d 100644 --- a/src/spectral/tss.h +++ b/src/spectral/tss.h @@ -69,7 +69,7 @@ void del_aubio_tss (aubio_tss_t * o); \param stead output steady state components */ -void aubio_tss_do (aubio_tss_t * o, cvec_t * input, cvec_t * trans, +void aubio_tss_do (aubio_tss_t * o, const cvec_t * input, cvec_t * trans, cvec_t * stead); /** set transient / steady state separation threshold