+++ /dev/null
-AUBIO LIBRARY
-
-Aubio is a library for real time audio labelling. Its features include
-segmenting a sound file before each of its attacks, performing pitch detection,
-tapping the beat and producing midi streams from live audio. The name aubio
-comes from 'audio' with a typo: several transcription errors are likely to be
-found in the results too.
-
-A few examples of applications are provided in examples/ and python/:
-
- - aubioonset output the onset detected,
- - aubionotes emits midi-like notes,
- - aubiocut is a python script that takes an input sound and creates one new
- sample at each detected onset or beat,
- - aubiopitch is a python script to extract pitch tracks from sound files.
-
-aubioonset and aubionotes can work either off-line or online, outputting the
-results on the console or playing a wood-block sound at each detected onset.
-Both Python scripts can plot the results with Gnuplot.
-
-Aubio is now being used in various projects:
-
- - Audacity (http://audacity.sourceforge.net/ , see plugins/audacity)
- - Wavesurfer (http://www.speech.kth.se/wavesurfer/ , see plugins/wavesurfer)
- - Puredata (http://puredata.info/ , see plugins/puredata)
- - Freecycle (http://www.redsteamrecords.com/freecycle/)
- - Sonic Visualiser (http://www.sonicvisualiser.org)
- - CLAM (http://clam.iua.upf.edu/)
-
-BUILDING AUBIO
-
-This package depends on the following libraries and utilities:
-
- - automake 1.8
- - libsndfile1
- - fftw3
- - libsamplerate
- - libjack (optional)
- - libasound2 (optional)
- - swig (>= 1.3, optional, for the python interface)
- - python, python-gnuplot, python-numarray (optional)
-
-The usual invocation `./configure && make' should do the job. Read on the
-generic INSTALL file for more information.
-
-On a Debian based system, you will need the following packages to compile
-aubio: automake libsndfile1-dev libjack-dev fftw3-dev libsamplerate0-dev python
-python-dev python-numarray swig. Alternatively, you could try the debian
-package (see http://piem.org/debian/).
-
-Aubio has been successfully compiled on Mac OS X and can compile on Windows
-using mingw, although cross compiling it from Linux was found much simpler.
-Note that this code was developed and tested on a Linux box.
-
-STATUS
-
-The shared library libaubio provides the following tools:
-
- - various math utilities
- - phase vocoder
- - up/down-sampling
- - filtering (n pole/zero pairs)
- - onset detection functions
- - onset peak picking
- - pitch detection functions
- - beat tracking function
- - transient/steady-state separation
- - alsa midi and jack input outputs
-
-A swig wrapper is provided in swig/. For now, I have only been playing with the
-python interface, but swig should make it easy to obtain a wrapper for any
-other supported language, such as Perl or Ruby.
-
-`Make it run, make it right, make it fast.'[1] Aubio is currently in the "Make
-it right" process. Almost no optimisation has been done to the code, and its
-speed could probably be improved.
-
-[1] see http://c2.com/cgi/wiki?MakeItWorkMakeItRightMakeItFast
-
-EXTEND
-
-The C API is designed in the following old school way:
-
- void del_aubio_thing(aubio_thing_t * t);
- aubio_thing_t * new_aubio_thing(void * args);
- audio_thing_methods(aubio_thing_t * t, void * args);
-
-Memory allocation or freeing should never take place in execution function
-(aubio_thing_methods), and should all be bound to the new_ and del_ methods.
-Also, note that most GCC warning flags are turned on, so functions must be
-prototyped, and variables must be used.
-
-CREDITS
-
-This library gathers music signal processing algorithms designed at the Centre
-for Digital Music and elsewhere. This software project was developed along the
-research I did at the Centre for Digital Music, Queen Mary, University of
-London. Most of this C code was written by myself, starting from published
-papers and existing code. The header files of each algorithm contains brief
-descriptions and references to the corresponding papers.
-
-Results obtained with aubio were discussed in the following papers:
-
- P. M. Brossier and J. P. Bello and M. D. Plumbley, Real-time temporal
- segmentation of note objects in music signals, Proceedings of the
- International Computer Music Conference, 2004, Miami, Florida, ICMA
-
- P. M. Brossier and J. P. Bello and M. D. Plumbley, Fast labelling of note
- objects in music signals, Proceedings of the International Symposium on Music
- Information Retrieval, 2004, Barcelona, Spain
-
-Substantial informations about the algorithms developed in aubio and their
-evaluation are gathered in:
-
- Paul Brossier, ``Automatic annotation of musical audio for interactive
- systems'', PhD thesis, Centre for Digital music, Queen Mary University of
- London, London, UK, 2006.
-
-CONTACT
-
-The home page of this project can be found at http://aubio.org/. Feel free
-to drop me a comment (piem@altern.org) or on the mailing list, aubio@piem.org.
-Suggestions and feedback are most welcome.
--- /dev/null
+aubio library
+=============
+
+aubio is a library to label music and sounds. It listens to audio signals and
+attempts to detect events. For instance, when a drum is hit, at which frequency
+is a note, or at what tempo is a rhythmic melody.
+
+Its features include segmenting a sound file before each of its attacks,
+performing pitch detection, tapping the beat and producing midi streams from
+live audio.
+
+aubio provide several algorithms and routines, including:
+
+ - several onset detection methods
+ - different pitch detection methods
+ - tempo tracking and beat detection
+ - MFCC (mel-frequency cepstrum coefficients)
+ - FFT and phase vocoder
+ - up/down-sampling
+ - digital filters (low pass, high pass, and more)
+ - spectral filtering
+ - transient/steady-state separation
+ - sound file and audio devices read and write access
+ - various mathematics utilities for music applications
+
+The name aubio comes from _audio_ with a typo: some errors are likely to be
+found in the results.
+
+
+Implementation and Design Basics
+--------------------------------
+
+The library is written in C and is optimised for speed and portability. A
+python module to access the library functions is also provided. A few simple
+applications are included along with the library:
+
+ - `aubioonset` outputs the time stamp of detected note onsets
+ - `aubiotempo` does the same for the tempo
+ - `aubionotes` emits midi-like notes, with an onset, a pitch, and a duration
+ - `aubiocut` slices an input sound and cuts it in several smaller files, sliced
+ at each detected onset or beat
+ - `aubiopitch` attempts to identify a fundamental frequency, or pitch, for each
+ frame of the input sound
+
+The C API is designed in the following way:
+
+ aubio_something_t * new_aubio_something (void * args);
+ audio_something_do (aubio_something_t * t, void * args);
+ smpl_t aubio_something_get_a_parameter (aubio_something_t *t);
+ uint_t aubio_something_set_a_parameter (aubio_something_t *t, smpl_t a_parameter);
+ void del_aubio_something (aubio_something_t * t);
+
+For performance and real-time operation, no memory allocation or freeing take
+place in the `_do` methods. Instead, memory allocation should always take place
+in the `new_` methods, whereas free operations are done in the `del_` methods.
+
+
+Installation and Build Instructions
+-----------------------------------
+
+A number of distributions already include aubio. Check your favorite package
+management system, or have a look at the [download
+page](http://aubio.org/download).
+
+aubio uses [waf](https://code.google.com/p/waf/) to configure, compile, and
+test the source:
+
+ ./waf configure
+ ./waf build
+ sudo ./waf install
+
+aubio compiles on Linux, Mac OS X, Cygwin, and iPhone.
+
+
+Credits and Publications
+------------------------
+
+This library gathers music signal processing algorithms designed at the Centre
+for Digital Music and elsewhere. This software project was developed along the
+research I did at the Centre for Digital Music, Queen Mary, University of
+London. Most of this C code was written by myself, starting from published
+papers and existing code. The header files of each algorithm contains brief
+descriptions and references to the corresponding papers.
+
+Special thanks go Juan Pablo Bello, Chris Duxbury, Samer Abdallah, Alain de
+Cheveigne for their help and publications. Also many thanks to Miguel Ramirez
+and Nicolas Wack for their bug fixing.
+
+Substantial informations about the algorithms and their evaluation are gathered
+in:
+
+ - Paul Brossier, _[Automatic annotation of musical audio for interactive
+ systems](http://aubio.org/phd)_, PhD thesis, Centre for Digital music,
+Queen Mary University of London, London, UK, 2006.
+
+Additional results obtained with this software were discussed in the following
+papers:
+
+ - P. M. Brossier and J. P. Bello and M. D. Plumbley, [Real-time temporal
+ segmentation of note objects in music signals](http://aubio.org/articles/brossier04fastnotes.pdf),
+in _Proceedings of the International Computer Music Conference_, 2004, Miami,
+Florida, ICMA
+
+ - P. M. Brossier and J. P. Bello and M. D. Plumbley, [Fast labelling of note
+ objects in music signals] (http://aubio.org/articles/brossier04fastnotes.pdf),
+in _Proceedings of the International Symposium on Music Information Retrieval_,
+2004, Barcelona, Spain
+
+
+Contact Info and Mailing List
+-----------------------------
+
+The home page of this project can be found at: http://aubio.org/
+
+Questions, comments, suggestions, and contributions are welcome. Use the
+mailing list: <aubio-user@aubio.org>.
+
+To subscribe to the list, use the mailman form:
+http://lists.aubio.org/listinfo/aubio-user/
+
+Alternatively, you can contact directly the author:
+
+ Paul Brossier <piem@aubio.org>
+
+
+Copyright and License Information
+---------------------------------
+
+Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
+
+aubio is free software: you can redistribute it and/or modify it under the
+terms of the GNU General Public License as published by the Free Software
+Foundation, either version 3 of the License, or (at your option) any later
+version.