From 9bcdb2f6cb48da938975f618e36ebd54f67766cb Mon Sep 17 00:00:00 2001 From: Jamie Bullock Date: Sun, 8 Oct 2006 15:31:40 +0000 Subject: Added spectral centroid --- src/scalar.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/scalar.c') diff --git a/src/scalar.c b/src/scalar.c index 1cc3128..111c300 100644 --- a/src/scalar.c +++ b/src/scalar.c @@ -84,6 +84,25 @@ int xtract_kurtosis(float *data, int N, void *argv, float *result){ } + +int xtract_centroid(float *data, int N, void *argv, float *result){ + + int n = N; + + float *freqs, *amps, FA, A; + + freqs = data; + amps = data + (N >> 1); + + while(n--){ + FA += freqs[n] * amps[n]; + A += amps[n]; + } + + *result = FA / A; + +} + int xtract_irregularity_k(float *data, int N, void *argv, float *result){ int n, -- cgit v1.2.3