annotate README.md @ 285:89fe52066db1 tip master

MSCV missing ssize_t fix
author Jamie Bullock <jamie@jamiebullock.com>
date Tue, 16 Jul 2019 18:29:20 +0100
parents 446f6d3dc809
children
rev   line source
jamie@130 1 # LibXtract
jamie@130 2
jamie@190 3 [![Build Status](https://travis-ci.org/jamiebullock/LibXtract.png?branch=master)](https://travis-ci.org/jamiebullock/LibXtract)
jamie@190 4
jamie@130 5 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@130 6
jamie@130 7 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@130 8
jamie@136 9 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@130 10
jamie@130 11 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@130 12
jamie@130 13 A complete list of features can be found by viewing the header files, or reading the doxygen documentation, available with this package.
jamie@130 14
jamie@132 15 ## Downloading
jamie@132 16
jamie@132 17 The latest source code release for LibXtract can be downloaded from [https://github.com/jamiebullock/LibXtract/downloads](https://github.com/jamiebullock/LibXtract/downloads).
jamie@132 18
jamie@130 19 ## Dependencies
jamie@130 20
jamie@249 21 To build the SWIG bindings [SWIG]() is required. For the Python bindings, a Python install is required. For the Java bindings a Java install is required.
jamie@130 22
jamie@130 23 ## Installation
jamie@130 24
jamie@249 25 Type `make install` to build and install to `/usr/local`. Type `make install PREFIX=/somewhere/else` to install to `/somewhere/else`,
jamie@132 26
jamie@130 27
jamie@247 28 ## Documentation
jamie@247 29
jamie@247 30 LibXtract headers are documented using [doxygen](http://www.stack.nl/~dimitri/doxygen/) comments.
jamie@247 31
jamie@247 32 If you have doxygen installed, the LibXtract build system should automatically detect this during `configure` and generate [LaTeX](http://www.latex-project.org) and HTML documentation in the `doc` directory when LibXtract is built with `make`.
jamie@247 33
jamie@247 34 The generated HTML documentation can then be viewed in a web browser by opening the file `doc/html/index.html`.
jamie@247 35
jamie@247 36 **Pre-generated documentation can be found on the [LibXtract website](http://jamiebullock.github.io/LibXtract/documentation)**
jamie@247 37
jamie@247 38
jamie@151 39 ## LicenseĀ 
jamie@151 40
jamie@151 41 Copyright (C) 2012 Jamie Bullock
jamie@151 42
jamie@151 43 Permission is hereby granted, free of charge, to any person obtaining a copy
jamie@151 44 of this software and associated documentation files (the "Software"), to
jamie@151 45 deal in the Software without restriction, including without limitation the
jamie@151 46 rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
jamie@151 47 sell copies of the Software, and to permit persons to whom the Software is
jamie@151 48 furnished to do so, subject to the following conditions:
jamie@151 49
jamie@151 50 The above copyright notice and this permission notice shall be included in
jamie@151 51 all copies or substantial portions of the Software.
jamie@151 52
jamie@151 53 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
jamie@151 54 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
jamie@151 55 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
jamie@151 56 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
jamie@151 57 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
jamie@151 58 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
jamie@151 59 IN THE SOFTWARE.
jamie@151 60
jamie@151 61