README.md: updated and moved to .md for markdown syntax
authorPaul Brossier <piem@piem.org>
Mon, 11 Feb 2013 16:38:04 +0000 (11:38 -0500)
committerPaul Brossier <piem@piem.org>
Mon, 11 Feb 2013 16:38:04 +0000 (11:38 -0500)
README [deleted file]
README.md [new file with mode: 0644]

diff --git a/README b/README
deleted file mode 100644 (file)
index c0e41a1..0000000
--- a/README
+++ /dev/null
@@ -1,123 +0,0 @@
-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.
diff --git a/README.md b/README.md
new file mode 100644 (file)
index 0000000..18d4d35
--- /dev/null
+++ b/README.md
@@ -0,0 +1,134 @@
+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.