diff options
author | Jamie Bullock <jamie@postlude.co.uk> | 2008-02-15 15:49:49 +0000 |
---|---|---|
committer | Jamie Bullock <jamie@postlude.co.uk> | 2008-02-15 15:49:49 +0000 |
commit | 26fa6beab516a699ead017f4a2d68b1d861b9561 (patch) | |
tree | c8d8c17053b55a7a8aa0c5a91e5a6a7190073bca /src/descriptors.c | |
parent | e876da1b38221d8020d81b72926d2dee5c2bdc55 (diff) | |
download | LibXtract-26fa6beab516a699ead017f4a2d68b1d861b9561.tar.gz LibXtract-26fa6beab516a699ead017f4a2d68b1d861b9561.tar.bz2 LibXtract-26fa6beab516a699ead017f4a2d68b1d861b9561.zip |
Added new extraction function: xtract_subbands()
Diffstat (limited to 'src/descriptors.c')
-rw-r--r-- | src/descriptors.c | 57 |
1 files changed, 38 insertions, 19 deletions
diff --git a/src/descriptors.c b/src/descriptors.c index 4460de8..e96f467 100644 --- a/src/descriptors.c +++ b/src/descriptors.c @@ -86,7 +86,7 @@ xtract_function_descriptor_t *xtract_make_descriptors(void){ *argv_def = XTRACT_SR_DEFAULT; *argv_unit = XTRACT_HERTZ; break; - /* argc = 2 */; + /* argc = 2 */; case XTRACT_ROLLOFF: *argv_min = XTRACT_FFT_BANDS_MIN; *argv_max = XTRACT_FFT_BANDS_MAX; @@ -97,24 +97,6 @@ xtract_function_descriptor_t *xtract_make_descriptors(void){ *(argv_def + 1) = 95.f; *(argv_unit + 1) = XTRACT_PERCENT; break; - case XTRACT_SPECTRUM: - *argv_min = XTRACT_SR_LOWER_LIMIT / XTRACT_FFT_BANDS_MIN; - *argv_max = XTRACT_SR_UPPER_LIMIT / XTRACT_FFT_BANDS_MAX; - *argv_def = XTRACT_SR_DEFAULT / XTRACT_FFT_BANDS_DEF; - *argv_unit = XTRACT_HERTZ; - *(argv_min + 1) = 0; - *(argv_max + 1) = 3 ; - *(argv_def + 1) = 0; - *(argv_unit + 1) = XTRACT_NONE; - *(argv_min + 2) = 0; - *(argv_max + 2) = 1; - *(argv_def + 2) = 0; - *(argv_unit + 2) = XTRACT_NONE; - *(argv_min + 3) = 0; - *(argv_max + 3) = 1; - *(argv_def + 3) = 0; - *(argv_unit + 3) = XTRACT_NONE; - break; case XTRACT_PEAK_SPECTRUM: *argv_min = XTRACT_SR_LOWER_LIMIT / 2; *argv_max = XTRACT_SR_UPPER_LIMIT / 2; @@ -150,6 +132,43 @@ xtract_function_descriptor_t *xtract_make_descriptors(void){ *(argv_def + 1) = XTRACT_NONE; *(argv_unit + 1) = XTRACT_NONE; break; + /* argc = 4 */ + case XTRACT_SPECTRUM: + *argv_min = XTRACT_SR_LOWER_LIMIT / XTRACT_FFT_BANDS_MIN; + *argv_max = XTRACT_SR_UPPER_LIMIT / XTRACT_FFT_BANDS_MAX; + *argv_def = XTRACT_SR_DEFAULT / XTRACT_FFT_BANDS_DEF; + *argv_unit = XTRACT_HERTZ; + *(argv_min + 1) = 0; + *(argv_max + 1) = 3 ; + *(argv_def + 1) = 0; + *(argv_unit + 1) = XTRACT_NONE; + *(argv_min + 2) = 0; + *(argv_max + 2) = 1; + *(argv_def + 2) = 0; + *(argv_unit + 2) = XTRACT_NONE; + *(argv_min + 3) = 0; + *(argv_max + 3) = 1; + *(argv_def + 3) = 0; + *(argv_unit + 3) = XTRACT_NONE; + break; + case XTRACT_SUBBANDS: + *argv_min = XTRACT_ANY; + *argv_max = XTRACT_ANY; + *argv_def = XTRACT_MEAN; + *argv_unit = XTRACT_NONE; + *(argv_min + 1) = 1; + *(argv_max + 1) = 16384; + *(argv_def + 1) = 4; + *(argv_unit + 1) = XTRACT_NONE; + *(argv_min + 2) = 0; + *(argv_max + 2) = 32; + *(argv_def + 2) = 0; + *(argv_unit + 2) = XTRACT_NONE; + *(argv_min + 3) = 0; + *(argv_max + 3) = 1; + *(argv_def + 3) = 0; + *(argv_unit + 3) = XTRACT_NONE; + break; case XTRACT_BARK_COEFFICIENTS: /* BARK_COEFFICIENTS is special because argc = BARK_BANDS */ case XTRACT_WINDOWED: |