annotate README @ 19:c7d93630aa5f

Added TODO
author Jamie Bullock <jamie@postlude.co.uk>
date Tue, 10 Oct 2006 10:52:16 +0000
parents c4cc9094932a
children cb667e483ad4
rev   line source
jamie@18 1 LibXtract
jamie@18 2 ---------
jamie@18 3
jamie@18 4 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.
jamie@18 5
jamie@18 6 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.
jamie@18 7
jamie@18 8 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.
jamie@18 9
jamie@18 10 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).
jamie@18 11
jamie@18 12 A complete list of features can be found by viewing the header files, or reading the doxygen documentation, available with this package, or at http://libxtract.sourceforge.net
jamie@18 13
jamie@18 14 Dependencies
jamie@18 15 ------------
jamie@18 16
jamie@18 17 To compile LibXtract, the following software is also needed:
jamie@18 18
jamie@18 19 automake >= 1.6
jamie@18 20 fftw3 (compiled with floating-point support)
jamie@18 21
jamie@18 22 To build the PD external, the PD header 'm_pd.h' is required
jamie@18 23
jamie@18 24 Installation
jamie@18 25 ------------
jamie@18 26
jamie@18 27 Type:
jamie@18 28
jamie@18 29 ./configure --enable-pd_example --enable-vector
jamie@18 30 make
jamie@18 31 sudo make install
jamie@18 32
jamie@18 33 There following configure flags are optional:
jamie@18 34
jamie@18 35 --enable-pd_example (to build the PD example)
jamie@18 36 --enable-vector (to enable functions that require fftw3)
jamie@18 37
jamie@18 38 Disclaimer
jamie@18 39 ----------
jamie@18 40
jamie@18 41 This program is free software; you can redistribute it and/or modify
jamie@18 42 it under the terms of the GNU General Public License as published by
jamie@18 43 the Free Software Foundation; either version 2 of the License, or
jamie@18 44 (at your option) any later version.
jamie@18 45
jamie@18 46 This program is distributed in the hope that it will be useful,
jamie@18 47 but WITHOUT ANY WARRANTY; without even the implied warranty of
jamie@18 48 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
jamie@18 49 GNU General Public License for more details.
jamie@18 50
jamie@18 51 You should have received a copy of the GNU General Public License
jamie@18 52 along with this program; if not, write to the Free Software
jamie@18 53 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
jamie@18 54 USA.