LibXtract
0.7.1
|
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