LibXtract  0.7.1
/usr/src/RPM/BUILD/libxtract-0.7.1/xtract/xtract_scalar.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2012 Jamie Bullock
00003  *
00004  * Permission is hereby granted, free of charge, to any person obtaining a copy
00005  * of this software and associated documentation files (the "Software"), to
00006  * deal in the Software without restriction, including without limitation the
00007  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
00008  * sell copies of the Software, and to permit persons to whom the Software is
00009  * furnished to do so, subject to the following conditions:
00010  *
00011  * The above copyright notice and this permission notice shall be included in
00012  * all copies or substantial portions of the Software.
00013  *
00014  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
00015  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00016  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
00017  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00018  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
00019  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
00020  * IN THE SOFTWARE.
00021  *
00022  */
00023 
00026 #ifndef XTRACT_SCALAR_H
00027 #define XTRACT_SCALAR_H
00028 
00029 #ifdef __cplusplus
00030 extern "C" {
00031 #endif
00032 
00048 int xtract_mean(const double *data, const int N, const void *argv, double *result);
00049 
00057 int xtract_variance(const double *data, const int N, const void *argv, double *result);
00058 
00066 int xtract_standard_deviation(const double *data, const int N, const void *argv, double *result);
00067 
00075 int xtract_average_deviation(const double *data, const int N, const void *argv, double *result);
00076 
00077 
00085 int xtract_skewness(const double *data, const int N, const void *argv,  double *result);
00086 
00094 int xtract_kurtosis(const double *data, const int N, const void *argv,  double *result);
00095 
00103 int xtract_spectral_mean(const double *data, const int N, const void *argv, double *result);
00104 
00113 int xtract_spectral_variance(const double *data, const int N, const void *argv, double *result);
00114 
00122 int xtract_spectral_standard_deviation(const double *data, const int N, const void *argv, double *result);
00123 
00131 /*
00132 int xtract_spectral_average_deviation(const double *data, const int N, const void *argv, double *result);
00133 */
00134 
00142 int xtract_spectral_skewness(const double *data, const int N, const void *argv,  double *result);
00143 
00151 int xtract_spectral_kurtosis(const double *data, const int N, const void *argv,  double *result);
00152 
00163 int xtract_spectral_centroid(const double *data, const int N, const void *argv,  double *result);
00164 
00172 int xtract_irregularity_k(const double *data, const int N, const void *argv, double *result);
00173 
00181 int xtract_irregularity_j(const double *data, const int N, const void *argv, double *result);
00182 
00193 int xtract_tristimulus_1(const double *data, const int N, const void *argv, double *result);
00194 int xtract_tristimulus_2(const double *data, const int N, const void *argv, double *result);
00195 int xtract_tristimulus_3(const double *data, const int N, const void *argv, double *result);
00196 
00204 int xtract_smoothness(const double *data, const int N, const void *argv, double *result);
00205 
00213 int xtract_spread(const double *data, const int N, const void *argv, double *result);
00214 
00215 /* Zero crossing rate */
00216 
00224 int xtract_zcr(const double *data, const int N, const void *argv, double *result);
00225 
00233 int xtract_rolloff(const double *data, const int N, const void *argv, double *result);
00234 
00245 int xtract_loudness(const double *data, const int N, const void *argv, double *result);
00246 
00256 int xtract_flatness(const double *data, const int N, const void *argv, double *result);
00257 
00268 int xtract_flatness_db(const double *data, const int N, const void *argv, double *result);
00269 
00277 int xtract_tonality(const double *data, const int N, const void *argv, double *result);
00278 
00286 int xtract_noisiness(const double *data, const int N, const void *argv, double *result);
00287 
00295 int xtract_rms_amplitude(const double *data, const int N, const void *argv, double *result);
00296 
00304 int xtract_spectral_inharmonicity(const double *data, const int N, const void *argv, double *result);
00305 
00313 int xtract_crest(const double *data, const int N, const void *argv, double *result);
00314     
00322 int xtract_power(const double *data, const int N, const void *argv, double *result);
00323     
00324 /* Odd to even harmonic ratio */
00332 int xtract_odd_even_ratio(const double *data, const int N, const void *argv, double *result);
00333 
00341 int xtract_sharpness(const double *data, const int N, const void *argv, double *result);
00342 
00350 int xtract_spectral_slope(const double *data, const int N, const void *argv, double *result);
00351 
00365 int xtract_lowest_value(const double *data, const int N, const void *argv, double *result);
00366 
00375 int xtract_highest_value(const double *data, const int N, const void *argv, double *result);
00376 
00385 int xtract_sum(const double *data, const int N, const void *argv, double *result);
00386 
00394 int xtract_hps(const double *data, const int N, const void *argv, double *result);
00395 
00408 int xtract_f0(const double *data, const int N, const void *argv, double *result);
00409 
00420 int xtract_failsafe_f0(const double *data, const int N, const void *argv, double *result);
00421 
00435 int xtract_wavelet_f0(const double *data, const int N, const void *argv, double *result);
00436 
00437     
00447 int xtract_midicent(const double *data, const int N, const void *argv, double *result);
00448 
00449     
00458 int xtract_nonzero_count(const double *data, const int N, const void *argv, double *result);
00459 
00471 int xtract_peak(const double *data, const int N, const void *argv, double *result);
00472 
00473     
00476 #ifdef __cplusplus
00477 }
00478 #endif
00479 
00480 #endif
00481 
00482 
00483