annotate src/descriptors.c @ 51:5306739416cf

Added desc and p_desc fields to descriptor definitions
author Jamie Bullock <jamie@postlude.co.uk>
date Tue, 09 Jan 2007 11:30:44 +0000
parents 435be4a78aac
children 45c585bb7996
rev   line source
jamie@50 1 /* libxtract feature extraction library
jamie@50 2 *
jamie@50 3 * Copyright (C) 2006 Jamie Bullock
jamie@50 4 *
jamie@50 5 * This program is free software; you can redistribute it and/or modify
jamie@50 6 * it under the terms of the GNU General Public License as published by
jamie@50 7 * the Free Software Foundation; either version 2 of the License, or
jamie@50 8 * (at your option) any later version.
jamie@50 9 *
jamie@50 10 * This program is distributed in the hope that it will be useful,
jamie@50 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
jamie@50 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
jamie@50 13 * GNU General Public License for more details.
jamie@50 14 *
jamie@50 15 * You should have received a copy of the GNU General Public License
jamie@50 16 * along with this program; if not, write to the Free Software
jamie@50 17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
jamie@50 18 * USA.
jamie@50 19 */
jamie@50 20
jamie@50 21 #include "xtract/libxtract.h"
jamie@50 22 #include <stdlib.h>
jamie@50 23 #include <string.h>
jamie@50 24 #define XTRACT
jamie@50 25
jamie@50 26 void *xtract_make_descriptors(){
jamie@50 27
jamie@50 28 t_function_descriptor *fd, *d;
jamie@51 29 t_type *type;
jamie@50 30 int f , F;
jamie@51 31 char *name, *p_name, *desc, *p_desc, *author;
jamie@51 32 int *argc, *year;
jamie@50 33
jamie@50 34 f = F = XTRACT_FEATURES;
jamie@50 35
jamie@50 36 fd = malloc(XTRACT_FEATURES * sizeof(t_function_descriptor));
jamie@50 37
jamie@51 38
jamie@50 39 while(f--){
jamie@51 40
jamie@50 41 d = &fd[f];
jamie@51 42 argc = &d->argc;
jamie@51 43 type = &d->argv.type;
jamie@51 44
jamie@50 45 switch(f){
jamie@50 46 case MEAN:
jamie@50 47 case VARIANCE:
jamie@50 48 case STANDARD_DEVIATION:
jamie@50 49 case AVERAGE_DEVIATION:
jamie@50 50 case ROLLOFF:
jamie@50 51 case INHARMONICITY:
jamie@50 52 case MAGNITUDE_SPECTRUM:
jamie@50 53 case ODD_EVEN_RATIO:
jamie@50 54 case LOWEST_VALUE:
jamie@50 55 case F0:
jamie@50 56 case FAILSAFE_F0:
jamie@50 57 case TONALITY:
jamie@51 58 *argc = 1;
jamie@50 59 d->argv.type = FLOAT;
jamie@50 60 break;
jamie@50 61 case SKEWNESS:
jamie@50 62 case KURTOSIS:
jamie@50 63 case PEAKS:
jamie@50 64 case HARMONICS:
jamie@50 65 case NOISINESS:
jamie@50 66 case CREST:
jamie@51 67 *argc = 2;
jamie@50 68 d->argv.type = FLOAT;
jamie@50 69 break;
jamie@50 70 case MFCC:
jamie@51 71 *argc = 1;
jamie@50 72 d->argv.type = MEL_FILTER;
jamie@50 73 break;
jamie@50 74 case BARK_COEFFICIENTS:
jamie@51 75 *argc = BARK_BANDS;
jamie@50 76 d->argv.type = INT;
jamie@50 77 break;
jamie@50 78 case CENTROID:
jamie@50 79 case IRREGULARITY_K:
jamie@50 80 case IRREGULARITY_J:
jamie@50 81 case TRISTIMULUS_1:
jamie@50 82 case TRISTIMULUS_2:
jamie@50 83 case TRISTIMULUS_3:
jamie@50 84 case SMOOTHNESS:
jamie@50 85 case FLATNESS:
jamie@50 86 case SPREAD:
jamie@50 87 case ZCR:
jamie@50 88 case LOUDNESS:
jamie@50 89 case HIGHEST_VALUE:
jamie@50 90 case SUM:
jamie@50 91 case RMS_AMPLITUDE:
jamie@50 92 case POWER:
jamie@50 93 case SHARPNESS:
jamie@50 94 case SLOPE:
jamie@50 95 case HPS:
jamie@50 96 case FLUX:
jamie@50 97 case ATTACK_TIME:
jamie@50 98 case DECAY_TIME:
jamie@50 99 case DELTA_FEATURE:
jamie@50 100 case AUTOCORRELATION_FFT:
jamie@50 101 case DCT:
jamie@50 102 case AUTOCORRELATION:
jamie@50 103 case AMDF:
jamie@50 104 case ASDF:
jamie@51 105 *argc = 0;
jamie@50 106 break;
jamie@50 107 default:
jamie@51 108 *argc = 0;
jamie@50 109 break;
jamie@50 110 }
jamie@51 111
jamie@50 112 name = d->algo.name;
jamie@51 113 p_name = d->algo.p_name;
jamie@51 114 desc = d->algo.desc;
jamie@51 115 p_desc = d->algo.p_desc;
jamie@51 116 author = d->algo.author;
jamie@51 117 year = &d->algo.year;
jamie@51 118
jamie@51 119 *year = 0;
jamie@51 120
jamie@50 121 switch(f){
jamie@50 122 case MEAN:
jamie@50 123 strcpy(name, "mean");
jamie@51 124 strcpy(p_name, "Spectral Mean");
jamie@51 125 strcpy(desc, "Extract the mean of an input vector");
jamie@51 126 strcpy(p_desc, "Extract the mean of a audio spectrum");
jamie@51 127 strcpy(author, "");
jamie@50 128 break;
jamie@50 129 case VARIANCE:
jamie@50 130 strcpy(name, "variance");
jamie@51 131 strcpy(p_name, "Variance");
jamie@51 132 strcpy(desc, "Extract the variance of an input vector");
jamie@51 133 strcpy(p_desc, "Extract the variance of an audio spectrum");
jamie@51 134 strcpy(author, "");
jamie@50 135 break;
jamie@50 136 case STANDARD_DEVIATION:
jamie@50 137 strcpy(name, "standard_deviation");
jamie@51 138 strcpy(p_name, "Standard Deviation");
jamie@51 139 strcpy(desc, "Extract the standard deviation of an input \
jamie@51 140 vector");
jamie@51 141 strcpy(p_desc, "Extract the standard deviation of an audio \
jamie@51 142 spectrum");
jamie@51 143 strcpy(author, "");
jamie@50 144 break;
jamie@50 145 case AVERAGE_DEVIATION:
jamie@50 146 strcpy(name, "average_deviation");
jamie@51 147 strcpy(p_name, "Average Deviation");
jamie@51 148 strcpy(desc, "Extract the average deviation of an input vector");
jamie@51 149 strcpy(p_desc, "Extract the average deviation of an audio \
jamie@51 150 spectrum");
jamie@51 151 strcpy(author, "");
jamie@50 152 break;
jamie@50 153 case ROLLOFF:
jamie@50 154 strcpy(name, "rolloff");
jamie@51 155 strcpy(p_name, "Spectral Rolloff");
jamie@51 156 strcpy(desc, "Extract the rolloff point of a spectrum");
jamie@51 157 strcpy(p_desc, "Extract the rolloff point of an audio \
jamie@51 158 spectrum");
jamie@51 159 strcpy(author, "");
jamie@50 160 break;
jamie@50 161 case INHARMONICITY:
jamie@50 162 strcpy(name, "inharmonicity");
jamie@51 163 strcpy(p_name, "Inharmonicity");
jamie@51 164 strcpy(desc, "Extract the inharmonicity of a spectrum");
jamie@51 165 strcpy(p_desc, "Extract the inharmonicity of an audio \
jamie@51 166 spectrum");
jamie@51 167 strcpy(author, "");
jamie@50 168 break;
jamie@50 169 case MAGNITUDE_SPECTRUM:
jamie@50 170 strcpy(name, "magnitude_spectrum");
jamie@51 171 strcpy(p_name, "Magnitude Spectrum");
jamie@51 172 strcpy(desc, "Extract the magnitude spectrum of an input \
jamie@51 173 vector");
jamie@51 174 strcpy(p_desc, "Extract the magnitude spectrum of an \
jamie@51 175 audio signal");
jamie@51 176 strcpy(author, "");
jamie@50 177 break;
jamie@50 178 case ODD_EVEN_RATIO:
jamie@50 179 strcpy(name, "odd_even_ratio");
jamie@51 180 strcpy(p_name, "Odd/Even Harmonic Ratio");
jamie@51 181 strcpy(desc, "Extract the odd-to-even harmonic ratio of a \
jamie@51 182 spectrum");
jamie@51 183 strcpy(p_desc, "Extract the odd-to-even harmonic ratio of an \
jamie@51 184 audio spectrum");
jamie@51 185 strcpy(author, "");
jamie@50 186 break;
jamie@50 187 case LOWEST_VALUE:
jamie@50 188 strcpy(name, "lowest_value");
jamie@51 189 strcpy(p_name, "Lowest Value");
jamie@51 190 strcpy(desc, "Extract the lowest value from an input vector");
jamie@51 191 strcpy(p_desc, "Extract the lowest value from a given range");
jamie@51 192 strcpy(author, "");
jamie@50 193 break;
jamie@50 194 case F0:
jamie@50 195 strcpy(name, "f0");
jamie@51 196 strcpy(p_name, "Fundamental Frequency");
jamie@51 197 strcpy(desc, "Extract the fundamental frequency of a signal");
jamie@51 198 strcpy(p_desc, "Extract the fundamental frequency of an audio \
jamie@51 199 signal");
jamie@51 200 strcpy(author, "");
jamie@50 201 break;
jamie@50 202 case FAILSAFE_F0:
jamie@50 203 strcpy(name, "failsafe_f0");
jamie@51 204 strcpy(p_name, "Fundamental Frequency (failsafe)");
jamie@51 205 strcpy(desc, "Extract the fundamental frequency of a signal");
jamie@51 206 strcpy(p_desc, "Extract the fundamental frequency of an audio \
jamie@51 207 signal");
jamie@51 208 strcpy(author, "");
jamie@50 209 break;
jamie@50 210 case TONALITY:
jamie@50 211 strcpy(name, "tonality");
jamie@51 212 strcpy(p_name, "Tonality");
jamie@51 213 strcpy(desc, "Extract the tonality of a spectrum");
jamie@51 214 strcpy(p_desc, "Extract the tonality an audio spectrum");
jamie@51 215 strcpy(author, "");
jamie@50 216 break;
jamie@50 217 case SKEWNESS:
jamie@50 218 strcpy(name, "skewness");
jamie@51 219 strcpy(p_name, "Spectral Skewness");
jamie@51 220 strcpy(desc, "Extract the skewness of an input vector");
jamie@51 221 strcpy(p_desc, "Extract the skewness of an audio spectrum");
jamie@51 222 strcpy(author, "");
jamie@50 223 break;
jamie@50 224 case KURTOSIS:
jamie@50 225 strcpy(name, "kurtosis");
jamie@51 226 strcpy(p_name, "Spectral Kurtosis");
jamie@51 227 strcpy(desc, "Extract the kurtosis of an input vector");
jamie@51 228 strcpy(p_desc, "Extract the kurtosis of an audio spectrum");
jamie@51 229 strcpy(author, "");
jamie@50 230 break;
jamie@50 231 case PEAKS:
jamie@50 232 strcpy(name, "peaks");
jamie@51 233 strcpy(p_name, "Spectral Peaks");
jamie@51 234 strcpy(desc, "Extract the spectral peaks from of a spectrum");
jamie@51 235 strcpy(p_desc, "Extract the spectral peaks from an audio \
jamie@51 236 spectrum");
jamie@51 237 strcpy(author, "");
jamie@50 238 break;
jamie@50 239 case HARMONICS:
jamie@50 240 strcpy(name, "harmonics");
jamie@51 241 strcpy(p_name, "Spectral Harmonics");
jamie@51 242 strcpy(desc, "Extract the harmonics from a spectrum");
jamie@51 243 strcpy(p_desc, "Extract the harmonics from an audio spectrum");
jamie@51 244 strcpy(author, "");
jamie@50 245 break;
jamie@50 246 case NOISINESS:
jamie@50 247 strcpy(name, "noisiness");
jamie@51 248 strcpy(p_name, "Noisiness");
jamie@51 249 strcpy(desc, "Extract the noisiness of a spectrum");
jamie@51 250 strcpy(p_desc, "Extract the noisiness of an audio spectrum");
jamie@51 251 strcpy(author, "");
jamie@50 252 break;
jamie@50 253 case CREST:
jamie@50 254 strcpy(name, "crest");
jamie@51 255 strcpy(p_name, "Spectral Crest Measure");
jamie@51 256 strcpy(desc, "Extract the spectral crest measure of a \
jamie@51 257 spectrum");
jamie@51 258 strcpy(p_desc, "Extract the spectral crest measure of a \
jamie@51 259 audio spectrum");
jamie@51 260 strcpy(author, "");
jamie@50 261 break;
jamie@50 262 case MFCC:
jamie@50 263 strcpy(name, "mfcc");
jamie@51 264 strcpy(p_name, "Mel Frequency Cepstral Coefficients");
jamie@51 265 strcpy(desc, "Extract MFCC from a spectrum");
jamie@51 266 strcpy(p_desc, "Extract MFCC from an audio spectrum");
jamie@51 267 strcpy(author, "");
jamie@50 268 break;
jamie@50 269 case BARK_COEFFICIENTS:
jamie@50 270 strcpy(name, "bark_coefficients");
jamie@51 271 strcpy(p_name, "Bark Coefficients");
jamie@51 272 strcpy(desc, "Extract bark coefficients from a spectrum");
jamie@51 273 strcpy(p_desc, "Extract bark coefficients from an audio \
jamie@51 274 spectrum");
jamie@51 275 strcpy(author, "");
jamie@50 276 break;
jamie@50 277 case CENTROID:
jamie@50 278 strcpy(name, "centroid");
jamie@51 279 strcpy(p_name, "Spectral Centroid");
jamie@51 280 strcpy(desc, "Extract the spectral centroid of a spectrum");
jamie@51 281 strcpy(p_desc, "Extract the spectral centroid of an audio \
jamie@51 282 spectrum");
jamie@51 283 strcpy(author, "");
jamie@50 284 break;
jamie@50 285 case IRREGULARITY_K:
jamie@50 286 strcpy(name, "irregularity_k");
jamie@51 287 strcpy(p_name, "Irregularity I");
jamie@51 288 strcpy(desc, "Extract the irregularity of a spectrum");
jamie@51 289 strcpy(p_desc, "Extract the irregularity of an audio \
jamie@51 290 spectrum");
jamie@51 291 strcpy(author, "");
jamie@50 292 break;
jamie@50 293 case IRREGULARITY_J:
jamie@50 294 strcpy(name, "irregularity_j");
jamie@51 295 strcpy(p_name, "Irregularity II");
jamie@51 296 strcpy(desc, "Extract the irregularity of a spectrum");
jamie@51 297 strcpy(p_desc, "Extract the irregularity of an audio \
jamie@51 298 spectrum");
jamie@51 299 strcpy(author, "");
jamie@50 300 break;
jamie@50 301 case TRISTIMULUS_1:
jamie@50 302 strcpy(name, "tristimulus_1");
jamie@51 303 strcpy(p_name, "Tristimulus I");
jamie@51 304 strcpy(desc, "Extract the tristimulus (type I) of a spectrum");
jamie@51 305 strcpy(p_desc, "Extract the tristimulus (type I) of an audio \
jamie@51 306 spectrum");
jamie@51 307 strcpy(author, "");
jamie@50 308 break;
jamie@50 309 case TRISTIMULUS_2:
jamie@50 310 strcpy(name, "tristimulus_2");
jamie@51 311 strcpy(p_name, "Tristimulus II");
jamie@51 312 strcpy(desc, "Extract the tristimulus (type II) of a spectrum");
jamie@51 313 strcpy(p_desc, "Extract the tristimulus (type II) of an audio \
jamie@51 314 spectrum");
jamie@51 315 strcpy(author, "");
jamie@50 316 break;
jamie@50 317 case TRISTIMULUS_3:
jamie@50 318 strcpy(name, "tristimulus_3");
jamie@51 319 strcpy(p_name, "Tristimulus III");
jamie@51 320 strcpy(desc, "Extract the tristimulus (type III) of a spectrum");
jamie@51 321 strcpy(p_desc, "Extract the tristimulus (type III) of an audio \
jamie@51 322 spectrum");
jamie@51 323 strcpy(author, "");
jamie@50 324 break;
jamie@50 325 case SMOOTHNESS:
jamie@50 326 strcpy(name, "smoothness");
jamie@51 327 strcpy(p_name, "Spectral Smoothness");
jamie@51 328 strcpy(desc, "Extract the spectral smoothness of a spectrum");
jamie@51 329 strcpy(p_desc, "Extract the spectral smoothness of an audio \
jamie@51 330 spectrum");
jamie@51 331 strcpy(author, "");
jamie@50 332 break;
jamie@50 333 case FLATNESS:
jamie@50 334 strcpy(name, "flatness");
jamie@51 335 strcpy(p_name, "Spectral Flatness");
jamie@51 336 strcpy(desc, "Extract the spectral flatness of a spectrum");
jamie@51 337 strcpy(p_desc, "Extract the spectral flatness of an audio \
jamie@51 338 spectrum");
jamie@51 339 strcpy(author, "");
jamie@50 340 break;
jamie@50 341 case SPREAD:
jamie@50 342 strcpy(name, "spread");
jamie@51 343 strcpy(p_name, "Spectral Spread");
jamie@51 344 strcpy(desc, "Extract the spectral spread of a spectrum");
jamie@51 345 strcpy(p_desc, "Extract the spectral spread of an audio \
jamie@51 346 spectrum");
jamie@51 347 strcpy(author, "");
jamie@50 348 break;
jamie@50 349 case ZCR:
jamie@50 350 strcpy(name, "zcr");
jamie@51 351 strcpy(p_name, "Zero Crossing Rate");
jamie@51 352 strcpy(desc, "Extract the zero crossing rate of a vector");
jamie@51 353 strcpy(p_desc, "Extract the zero crossing rate of an audio \
jamie@51 354 signal");
jamie@51 355 strcpy(author, "");
jamie@50 356 break;
jamie@50 357 case LOUDNESS:
jamie@50 358 strcpy(name, "loudness");
jamie@51 359 strcpy(p_name, "Loudness");
jamie@51 360 strcpy(desc, "Extract the loudness of a signal from its \
jamie@51 361 spectrum");
jamie@51 362 strcpy(p_desc, "Extract the loudness of an audio signal from \
jamie@51 363 its spectrum");
jamie@51 364 strcpy(author, "");
jamie@50 365 break;
jamie@50 366 case HIGHEST_VALUE:
jamie@50 367 strcpy(name, "highest_value");
jamie@51 368 strcpy(p_name, "Highest Value");
jamie@51 369 strcpy(desc, "Extract the highest value from an input vector");
jamie@51 370 strcpy(p_desc, "Extract the highest value from a given range");
jamie@51 371 strcpy(author, "");
jamie@50 372 break;
jamie@50 373 case SUM:
jamie@50 374 strcpy(name, "sum");
jamie@51 375 strcpy(p_name, "Sum of Values");
jamie@51 376 strcpy(desc, "Extract the sum of the values in an input \
jamie@51 377 vector");
jamie@51 378 strcpy(p_desc, "Extract the sum of the values in a given \
jamie@51 379 range");
jamie@51 380 strcpy(author, "");
jamie@50 381 break;
jamie@50 382 case RMS_AMPLITUDE:
jamie@50 383 strcpy(name, "rms_amplitude");
jamie@51 384 strcpy(p_name, "RMS Amplitude");
jamie@51 385 strcpy(desc, "Extract the RMS amplitude of a signal");
jamie@51 386 strcpy(p_desc, "Extract the RMS amplitude of an audio signal");
jamie@51 387 strcpy(author, "");
jamie@50 388 break;
jamie@50 389 case POWER:
jamie@50 390 strcpy(name, "power");
jamie@51 391 strcpy(p_name, "Spectral Power");
jamie@51 392 strcpy(desc, "Extract the spectral power of a spectrum");
jamie@51 393 strcpy(p_desc, "Extract the spectral power of an audio \
jamie@51 394 spectrum");
jamie@51 395 strcpy(author, "");
jamie@50 396 break;
jamie@50 397 case SHARPNESS:
jamie@50 398 strcpy(name, "sharpness");
jamie@51 399 strcpy(p_name, "Spectral Sharpness");
jamie@51 400 strcpy(desc, "Extract the spectral sharpness of a spectrum");
jamie@51 401 strcpy(p_desc, "Extract the spectral sharpness of an audio \
jamie@51 402 spectrum");
jamie@51 403 strcpy(author, "");
jamie@50 404 break;
jamie@50 405 case SLOPE:
jamie@50 406 strcpy(name, "slope");
jamie@51 407 strcpy(p_name, "Spectral Slope");
jamie@51 408 strcpy(desc, "Extract the spectral slope of a spectrum");
jamie@51 409 strcpy(p_desc, "Extract the spectral slope of an audio \
jamie@51 410 spectrum");
jamie@51 411 strcpy(author, "");
jamie@50 412 break;
jamie@50 413 case HPS:
jamie@50 414 strcpy(name, "hps");
jamie@51 415 strcpy(p_name, "Harmonic Product Spectrum");
jamie@51 416 strcpy(desc, "Extract the harmonic product spectrum of a \
jamie@51 417 spectrum");
jamie@51 418 strcpy(p_desc, "Extract the harmonic product spectrum of an \
jamie@51 419 audio spectrum");
jamie@51 420 strcpy(author, "");
jamie@50 421 break;
jamie@50 422 case FLUX:
jamie@50 423 strcpy(name, "flux");
jamie@51 424 strcpy(p_name, "Spectral Flux");
jamie@51 425 strcpy(desc, "Extract the spectral flux of a spectrum");
jamie@51 426 strcpy(p_desc, "Extract the spectral flux of an audio \
jamie@51 427 spectrum");
jamie@51 428 strcpy(author, "");
jamie@50 429 break;
jamie@50 430 case ATTACK_TIME:
jamie@50 431 strcpy(name, "attack_time");
jamie@51 432 strcpy(p_name, "Attack Time");
jamie@51 433 strcpy(desc, "Extract the attack time of a signal");
jamie@51 434 strcpy(p_desc, "Extract the attack time of an audio signal");
jamie@51 435 strcpy(author, "");
jamie@50 436 break;
jamie@50 437 case DECAY_TIME:
jamie@50 438 strcpy(name, "decay_time");
jamie@51 439 strcpy(p_name, "Decay Time");
jamie@51 440 strcpy(desc, "Extract the decay time of a signal");
jamie@51 441 strcpy(p_desc, "Extract the decay time of an audio signal");
jamie@51 442 strcpy(author, "");
jamie@50 443 break;
jamie@50 444 case DELTA_FEATURE:
jamie@50 445 strcpy(name, "delta_feature");
jamie@51 446 strcpy(p_name, "Delta Feature");
jamie@51 447 strcpy(desc, "Extract the time derivative of a feature");
jamie@51 448 strcpy(p_desc, "Extract the time derivative of a feature");
jamie@51 449 strcpy(author, "");
jamie@50 450 break;
jamie@50 451 case AUTOCORRELATION_FFT:
jamie@50 452 strcpy(name, "autocorrelation_fft");
jamie@51 453 strcpy(p_name, "Autocorrelation (FFT method)");
jamie@51 454 strcpy(desc, "Extract the autocorrelation of a signal");
jamie@51 455 strcpy(p_desc, "Extract the autocorrelation of an audio signal");
jamie@51 456 strcpy(author, "");
jamie@50 457 break;
jamie@50 458 case DCT:
jamie@50 459 strcpy(name, "dct");
jamie@51 460 strcpy(p_name, "Discrete Cosine Transform");
jamie@51 461 strcpy(desc, "Extract the DCT of a signal");
jamie@51 462 strcpy(p_desc, "Extract the DCT of an audio signal");
jamie@51 463 strcpy(author, "");
jamie@50 464 break;
jamie@50 465 case AUTOCORRELATION:
jamie@50 466 strcpy(name, "autocorrelation");
jamie@51 467 strcpy(p_name, "Autocorrelation");
jamie@51 468 strcpy(desc, "Extract the autocorrelation of a signal");
jamie@51 469 strcpy(p_desc, "Extract the autocorrelation of an audio signal");
jamie@51 470 strcpy(author, "");
jamie@50 471 break;
jamie@50 472 case AMDF:
jamie@50 473 strcpy(name, "amdf");
jamie@51 474 strcpy(p_name, "Average Magnitude Difference Function");
jamie@51 475 strcpy(desc, "Extract the AMDF of a signal");
jamie@51 476 strcpy(p_desc, "Extract the AMDF of an audio signal");
jamie@51 477 strcpy(author, "");
jamie@50 478 break;
jamie@50 479 case ASDF:
jamie@50 480 strcpy(name, "asdf");
jamie@51 481 strcpy(p_name, "Average Squared Difference Function");
jamie@51 482 strcpy(desc, "Extract the ASDF of a signal");
jamie@51 483 strcpy(p_desc, "Extract the ASDF of an audio signal");
jamie@51 484 strcpy(author, "");
jamie@50 485 break;
jamie@50 486 default:
jamie@51 487 strcpy(name, "");
jamie@51 488 strcpy(desc, "");
jamie@51 489 strcpy(p_desc, "");
jamie@51 490 strcpy(author, "");
jamie@50 491 break;
jamie@50 492 }
jamie@50 493 }
jamie@50 494
jamie@50 495 return fd;
jamie@50 496 }
jamie@50 497
jamie@50 498 int xtract_free_descriptors(void *fd){
jamie@50 499
jamie@50 500 if (fd != NULL) {
jamie@50 501 free(fd);
jamie@50 502 }
jamie@50 503
jamie@50 504 return SUCCESS;
jamie@50 505 }
jamie@50 506
jamie@50 507
jamie@50 508
jamie@50 509
jamie@50 510