aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/descriptors.c21
-rw-r--r--src/libxtract.c2
-rw-r--r--src/scalar.c36
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;