diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/descriptors.c | 21 | ||||
-rw-r--r-- | src/libxtract.c | 2 | ||||
-rw-r--r-- | src/scalar.c | 36 |
3 files changed, 25 insertions, 34 deletions
diff --git a/src/descriptors.c b/src/descriptors.c index 444256d..892a899 100644 --- a/src/descriptors.c +++ b/src/descriptors.c @@ -62,7 +62,7 @@ xtract_function_descriptor_t *xtract_make_descriptors(void){ case XTRACT_DIFFERENCE_VECTOR: case XTRACT_AVERAGE_DEVIATION: case XTRACT_SPECTRAL_STANDARD_DEVIATION: - case XTRACT_SPECTRAL_AVERAGE_DEVIATION: + /* case XTRACT_SPECTRAL_AVERAGE_DEVIATION: */ case XTRACT_LOWEST_VALUE: case XTRACT_TONALITY: case XTRACT_MFCC: @@ -206,9 +206,9 @@ xtract_function_descriptor_t *xtract_make_descriptors(void){ case XTRACT_SPECTRAL_STANDARD_DEVIATION: *argv_donor = XTRACT_SPECTRAL_VARIANCE; break; - case XTRACT_SPECTRAL_AVERAGE_DEVIATION: + /* case XTRACT_SPECTRAL_AVERAGE_DEVIATION: *argv_donor = XTRACT_SPECTRAL_MEAN; - break; + break; */ case XTRACT_SPECTRAL_INHARMONICITY: *argv_donor = XTRACT_FAILSAFE_F0; break; @@ -300,7 +300,7 @@ xtract_function_descriptor_t *xtract_make_descriptors(void){ case XTRACT_SPECTRAL_MEAN: case XTRACT_SPECTRAL_VARIANCE: case XTRACT_SPECTRAL_STANDARD_DEVIATION: - case XTRACT_SPECTRAL_AVERAGE_DEVIATION: + /* case XTRACT_SPECTRAL_AVERAGE_DEVIATION: */ case XTRACT_SPECTRAL_SKEWNESS: case XTRACT_SPECTRAL_KURTOSIS: case XTRACT_SPECTRAL_CENTROID: @@ -432,7 +432,7 @@ xtract_function_descriptor_t *xtract_make_descriptors(void){ case XTRACT_SPECTRAL_MEAN: case XTRACT_SPECTRAL_VARIANCE: case XTRACT_SPECTRAL_STANDARD_DEVIATION: - case XTRACT_SPECTRAL_AVERAGE_DEVIATION: + /* case XTRACT_SPECTRAL_AVERAGE_DEVIATION: */ case XTRACT_SPECTRAL_SKEWNESS: case XTRACT_SPECTRAL_KURTOSIS: case XTRACT_SPECTRAL_CENTROID: @@ -530,7 +530,7 @@ xtract_function_descriptor_t *xtract_make_descriptors(void){ "Extract the standard deviation of an audio spectrum"); strcpy(author, ""); break; - case XTRACT_SPECTRAL_AVERAGE_DEVIATION: + /* case XTRACT_SPECTRAL_AVERAGE_DEVIATION: strcpy(name, "spectral_average_deviation"); strcpy(p_name, "Spectral Average Deviation"); strcpy(desc, @@ -539,6 +539,7 @@ xtract_function_descriptor_t *xtract_make_descriptors(void){ "Extract the average deviation of an audio spectrum"); strcpy(author, ""); break; + */ case XTRACT_ROLLOFF: strcpy(name, "rolloff"); strcpy(p_name, "Spectral Rolloff"); @@ -963,7 +964,7 @@ xtract_function_descriptor_t *xtract_make_descriptors(void){ case XTRACT_AVERAGE_DEVIATION: case XTRACT_SPECTRAL_VARIANCE: case XTRACT_SPECTRAL_STANDARD_DEVIATION: - case XTRACT_SPECTRAL_AVERAGE_DEVIATION: + /* case XTRACT_SPECTRAL_AVERAGE_DEVIATION: */ case XTRACT_SPECTRAL_INHARMONICITY: case XTRACT_LOWEST_VALUE: case XTRACT_F0: @@ -1059,7 +1060,7 @@ xtract_function_descriptor_t *xtract_make_descriptors(void){ case XTRACT_SPECTRAL_MEAN: case XTRACT_SPECTRAL_VARIANCE: case XTRACT_SPECTRAL_STANDARD_DEVIATION: - case XTRACT_SPECTRAL_AVERAGE_DEVIATION: + /* case XTRACT_SPECTRAL_AVERAGE_DEVIATION: */ case XTRACT_SPECTRAL_SKEWNESS: case XTRACT_SPECTRAL_KURTOSIS: case XTRACT_SPECTRAL_CENTROID: @@ -1135,7 +1136,7 @@ xtract_function_descriptor_t *xtract_make_descriptors(void){ case XTRACT_SPECTRAL_MEAN: case XTRACT_SPECTRAL_VARIANCE: case XTRACT_SPECTRAL_STANDARD_DEVIATION: - case XTRACT_SPECTRAL_AVERAGE_DEVIATION: + /* case XTRACT_SPECTRAL_AVERAGE_DEVIATION: */ case XTRACT_SPECTRAL_SKEWNESS: case XTRACT_SPECTRAL_KURTOSIS: case XTRACT_SPECTRAL_CENTROID: @@ -1227,7 +1228,7 @@ xtract_function_descriptor_t *xtract_make_descriptors(void){ case XTRACT_SPECTRAL_MEAN: case XTRACT_SPECTRAL_VARIANCE: case XTRACT_SPECTRAL_STANDARD_DEVIATION: - case XTRACT_SPECTRAL_AVERAGE_DEVIATION: + /* case XTRACT_SPECTRAL_AVERAGE_DEVIATION: */ case XTRACT_SPECTRAL_CENTROID: case XTRACT_SPREAD: case XTRACT_F0: diff --git a/src/libxtract.c b/src/libxtract.c index 0215add..80a710e 100644 --- a/src/libxtract.c +++ b/src/libxtract.c @@ -27,7 +27,7 @@ int(*xtract[])(const float *, const int, const void *, float *) = { xtract_mean, xtract_variance, xtract_standard_deviation, - xtract_average_deviation, + /* xtract_average_deviation, */ xtract_skewness, xtract_kurtosis, xtract_spectral_mean, diff --git a/src/scalar.c b/src/scalar.c index de1ac03..72422fb 100644 --- a/src/scalar.c +++ b/src/scalar.c @@ -186,11 +186,11 @@ int xtract_spectral_variance(const float *data, const int N, const void *argv, f *result = 0.f; while(m--){ - A += amps[m]; - *result += powf((freqs[m] - *(float *)argv) * amps[m], 2); + A += amps[m]; + *result += powf(freqs[m] - ((float *)argv)[0], 2) * amps[m]; } - *result = *result / (A /*- 1*/); + *result = *result / A; return XTRACT_SUCCESS; } @@ -202,7 +202,7 @@ int xtract_spectral_standard_deviation(const float *data, const int N, const voi return XTRACT_SUCCESS; } -int xtract_spectral_average_deviation(const float *data, const int N, const void *argv, float *result){ +/*int xtract_spectral_average_deviation(const float *data, const int N, const void *argv, float *result){ int m; float A = 0.f; @@ -216,19 +216,18 @@ int xtract_spectral_average_deviation(const float *data, const int N, const void *result = 0.f; while(m--){ - A += amps[m]; - *result += fabsf((amps[m] * freqs[m]) - *(float *)argv); + A += amps[m]; + *result += fabsf((amps[m] * freqs[m]) - *(float *)argv); } *result /= A; return XTRACT_SUCCESS; -} +}*/ int xtract_spectral_skewness(const float *data, const int N, const void *argv, float *result){ int m; - float temp, A = 0.f; const float *freqs, *amps; m = N >> 1; @@ -238,14 +237,10 @@ int xtract_spectral_skewness(const float *data, const int N, const void *argv, *result = 0.f; - while(m--){ - A += amps[m]; - temp = ((amps[m] * freqs[m]) - - ((float *)argv)[0]) / ((float *)argv)[1]; - *result += powf(temp, 3); - } + while(m--) + *result += powf(freqs[m] - ((float *)argv)[0], 3) * amps[m]; - *result /= A; + *result /= powf(((float *)argv)[1], 3); return XTRACT_SUCCESS; } @@ -253,7 +248,6 @@ int xtract_spectral_skewness(const float *data, const int N, const void *argv, int xtract_spectral_kurtosis(const float *data, const int N, const void *argv, float *result){ int m; - float temp, A = 0.f; const float *freqs, *amps; m = N >> 1; @@ -263,14 +257,10 @@ int xtract_spectral_kurtosis(const float *data, const int N, const void *argv, *result = 0.f; - while(m--){ - A += amps[m]; - temp = ((amps[m] * freqs[m]) - - ((float *)argv)[0]) / ((float *)argv)[1]; - *result += powf(temp, 4); - } + while(m--) + *result += powf(freqs[m] - ((float *)argv)[0], 4) * amps[m]; - *result /= A; + *result /= powf(((float *)argv)[1], 4); *result -= 3.0f; return XTRACT_SUCCESS; |