aboutsummaryrefslogtreecommitdiff
path: root/xtract/libxtract.h
diff options
context:
space:
mode:
Diffstat (limited to 'xtract/libxtract.h')
-rw-r--r--xtract/libxtract.h22
1 files changed, 19 insertions, 3 deletions
diff --git a/xtract/libxtract.h b/xtract/libxtract.h
index 9ab0663..0c1ee75 100644
--- a/xtract/libxtract.h
+++ b/xtract/libxtract.h
@@ -18,6 +18,17 @@
* USA.
*/
+/** \mainpage
+ *
+ * LibXtract is a simple, portable, lightweight library of audio feature extraction functions. The purpose of the library is to provide a relatively exhaustive set of feature extraction primatives that are designed to be 'cascaded' to create a extraction hierarchies.
+ * For example, 'variance', 'average deviation', 'skewness' and 'kurtosis', all require the 'mean' of the input vector to be precomputed. However, rather than compute the 'mean' 'inside' each function, it is expected that the 'mean' will be passed in as an argument. This means that if the user wishes to use all of these features, the mean is calculated only once, and then passed to any functions that require it.
+ *
+ * This philosophy of 'cascading' features is followed throughout the library, for example with features that operate on the magnitude spectrum of a signal vector (e.g. 'irregularity'), the magnitude spectrum is not calculated 'inside' the respective function, instead, a pointer to the first element in an array containing the magnitude spectrum is passed in as an argument.
+ *
+ * Hopefully this not only makes the library more efficient when computing large numbers of features, but also makes it more flexible because extraction functions can be combined arbitrarily (one can take the irregularility of the Mel Frequency Cepstral Coefficients for example).
+ *
+ */
+
#ifndef XTRACT_H
#define XTRACT_H
@@ -28,9 +39,6 @@ extern "C" {
/**
* \file libxtract.h: main header file and API definition
*/
-
-#define VERSION "0.11"
-
#include "xtract_scalar.h"
#include "xtract_vector.h"
@@ -38,6 +46,12 @@ extern "C" {
#include "xtract_types.h"
#include "xtract_macros.h"
+/** \defgroup libxtract API
+ *
+ * Defines a very simple API that provides access to the functions in the library
+ * @{
+ */
+
#define XTRACT_FEATURES 43
#define LOG_LIMIT 10e-10
#define VERY_BIG_NUMBER 2e10
@@ -184,6 +198,8 @@ int xtract_init_bark(int N, float nyquist, int *band_limits);
/* Free functions */
+/** @} */
+
#ifdef __cplusplus
}
#endif