LibXtract  0.7.1
Data Structures | Macros | Typedefs | Enumerations | Functions
libxtract.h File Reference

main header file and API definition More...

#include "xtract_scalar.h"
#include "xtract_vector.h"
#include "xtract_delta.h"
#include "xtract_types.h"
#include "xtract_macros.h"
#include "xtract_helper.h"
Include dependency graph for libxtract.h:

Go to the source code of this file.

Data Structures

struct  _xtract_function_descriptor
 Data structure containing useful information about functions provided by LibXtract. More...
 
struct  xtract_mel_filter_
 A structure to store a set of n_filters Mel filters. More...
 

Macros

#define XTRACT_FEATURES   62
 

Typedefs

typedef enum type_ xtract_type_t
 Enumeration of data types.
 
typedef enum unit_ xtract_unit_t
 Enumeration of units.
 
typedef enum xtract_vector_ xtract_vector_t
 Enumeration of vector format types.
 
typedef struct
_xtract_function_descriptor 
xtract_function_descriptor_t
 Data structure containing useful information about functions provided by LibXtract.
 
typedef struct xtract_mel_filter_ xtract_mel_filter
 A structure to store a set of n_filters Mel filters.
 

Enumerations

enum  xtract_features_ {
  XTRACT_MEAN, XTRACT_VARIANCE, XTRACT_STANDARD_DEVIATION, XTRACT_AVERAGE_DEVIATION,
  XTRACT_SKEWNESS, XTRACT_KURTOSIS, XTRACT_SPECTRAL_MEAN, XTRACT_SPECTRAL_VARIANCE,
  XTRACT_SPECTRAL_STANDARD_DEVIATION, XTRACT_SPECTRAL_SKEWNESS, XTRACT_SPECTRAL_KURTOSIS, XTRACT_SPECTRAL_CENTROID,
  XTRACT_IRREGULARITY_K, XTRACT_IRREGULARITY_J, XTRACT_TRISTIMULUS_1, XTRACT_TRISTIMULUS_2,
  XTRACT_TRISTIMULUS_3, XTRACT_SMOOTHNESS, XTRACT_SPREAD, XTRACT_ZCR,
  XTRACT_ROLLOFF, XTRACT_LOUDNESS, XTRACT_FLATNESS, XTRACT_FLATNESS_DB,
  XTRACT_TONALITY, XTRACT_CREST, XTRACT_NOISINESS, XTRACT_RMS_AMPLITUDE,
  XTRACT_SPECTRAL_INHARMONICITY, XTRACT_POWER, XTRACT_ODD_EVEN_RATIO, XTRACT_SHARPNESS,
  XTRACT_SPECTRAL_SLOPE, XTRACT_LOWEST_VALUE, XTRACT_HIGHEST_VALUE, XTRACT_SUM,
  XTRACT_NONZERO_COUNT, XTRACT_HPS, XTRACT_F0, XTRACT_FAILSAFE_F0,
  XTRACT_WAVELET_F0, XTRACT_MIDICENT, XTRACT_LNORM, XTRACT_FLUX,
  XTRACT_ATTACK_TIME, XTRACT_DECAY_TIME, XTRACT_DIFFERENCE_VECTOR, XTRACT_AUTOCORRELATION,
  XTRACT_AMDF, XTRACT_ASDF, XTRACT_BARK_COEFFICIENTS, XTRACT_PEAK_SPECTRUM,
  XTRACT_SPECTRUM, XTRACT_AUTOCORRELATION_FFT, XTRACT_MFCC, XTRACT_DCT,
  XTRACT_HARMONIC_SPECTRUM, XTRACT_LPC, XTRACT_LPCC, XTRACT_SUBBANDS,
  XTRACT_WINDOWED, XTRACT_SMOOTHED
}
 Enumeration of features, elements are used as indixes to an array of pointers to feature extracton functions.
 
enum  xtract_feature_init_ { XTRACT_INIT_MFCC = 100, XTRACT_INIT_BARK, XTRACT_INIT_WINDOWED }
 Enumeration of feature initialisation functions.
 
enum  xtract_feature_types_ { XTRACT_SCALAR, XTRACT_VECTOR, XTRACT_DELTA }
 Enumeration of feature types.
 
enum  xtract_mfcc_types_ { XTRACT_EQUAL_GAIN, XTRACT_EQUAL_AREA }
 Enumeration of mfcc types.
 
enum  xtract_lnorm_filter_types_ { XTRACT_NO_LNORM_FILTER, XTRACT_POSITIVE_SLOPE, XTRACT_NEGATIVE_SLOPE }
 
enum  xtract_return_codes_ {
  XTRACT_SUCCESS, XTRACT_MALLOC_FAILED, XTRACT_BAD_ARGV, XTRACT_BAD_VECTOR_SIZE,
  XTRACT_BAD_STATE, XTRACT_DENORMAL_FOUND, XTRACT_NO_RESULT, XTRACT_FEATURE_NOT_IMPLEMENTED,
  XTRACT_ARGUMENT_ERROR
}
 Enumeration of return codes.
 
enum  xtract_spectrum_ { XTRACT_MAGNITUDE_SPECTRUM, XTRACT_LOG_MAGNITUDE_SPECTRUM, XTRACT_POWER_SPECTRUM, XTRACT_LOG_POWER_SPECTRUM }
 Enumeration of spectrum types.
 
enum  xtract_subband_scales_ { XTRACT_OCTAVE_SUBBANDS, XTRACT_LINEAR_SUBBANDS }
 Subband scales.
 
enum  type_ { XTRACT_FLOAT, XTRACT_FLOATARRAY, XTRACT_INT, XTRACT_MEL_FILTER }
 Enumeration of data types.
 
enum  unit_ {
  XTRACT_HERTZ = 2, XTRACT_ANY_AMPLITUDE_HERTZ, XTRACT_DBFS, XTRACT_DBFS_HERTZ,
  XTRACT_PERCENT, XTRACT_BINS, XTRACT_SONE, XTRACT_MIDI_CENT
}
 Enumeration of units.
 
enum  xtract_bool_t { XTRACT_FALSE, XTRACT_TRUE }
 Boolean.
 
enum  xtract_window_types_ {
  XTRACT_GAUSS, XTRACT_HAMMING, XTRACT_HANN, XTRACT_BARTLETT,
  XTRACT_TRIANGULAR, XTRACT_BARTLETT_HANN, XTRACT_BLACKMAN, XTRACT_KAISER,
  XTRACT_BLACKMAN_HARRIS
}
 Window types.
 
enum  xtract_vector_ {
  XTRACT_SPECTRAL, XTRACT_SPECTRAL_MAGNITUDES, XTRACT_SPECTRAL_PEAKS, XTRACT_SPECTRAL_PEAKS_MAGNITUDES,
  XTRACT_SPECTRAL_PEAKS_FREQUENCIES, XTRACT_SPECTRAL_HARMONICS, XTRACT_SPECTRAL_HARMONICS_MAGNITUDES, XTRACT_SPECTRAL_HARMONICS_FREQUENCIES,
  XTRACT_AUTOCORRELATION_COEFFS, XTRACT_ARBITRARY_SERIES, XTRACT_AUDIO_SAMPLES, XTRACT_MEL_COEFFS,
  XTRACT_LPC_COEFFS, XTRACT_LPCC_COEFFS, XTRACT_BARK_COEFFS, XTRACT_SUBFRAMES,
  XTRACT_NO_DATA
}
 Enumeration of vector format types.
 

Functions

int xtract_init_wavelet_f0_state (void)
 An array of pointers to functions that perform the extraction. More...
 
int xtract_init_mfcc (int N, double nyquist, int style, double freq_min, double freq_max, int freq_bands, double **fft_tables)
 A function to initialise a mel filter bank. More...
 
int xtract_init_bark (int N, double sr, int *band_limits)
 A function to initialise bark filter bounds. More...
 
int xtract_init_fft (int N, int feature_name)
 An initialisation function for functions using FFT. More...
 
void xtract_free_fft (void)
 Free memory used for fft plans. More...
 
double * xtract_init_window (const int N, const int type)
 Make a window of a given type and return a pointer to it. More...
 
void xtract_free_window (double *window)
 Free a window as allocated by xtract_make_window() More...
 
xtract_function_descriptor_txtract_make_descriptors ()
 
int xtract_free_descriptors (xtract_function_descriptor_t *fd)
 

Detailed Description

main header file and API definition