From 050a8f345d7626918b08797fa2febe6972fd4222 Mon Sep 17 00:00:00 2001 From: Paul Brossier Date: Mon, 11 Feb 2013 11:38:04 -0500 Subject: [PATCH] README.md: updated and moved to .md for markdown syntax --- README | 123 ------------------------------------------------- README.md | 134 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 134 insertions(+), 123 deletions(-) delete mode 100644 README create mode 100644 README.md diff --git a/README b/README deleted file mode 100644 index c0e41a1f..00000000 --- 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 index 00000000..18d4d355 --- /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: . + +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 + + +Copyright and License Information +--------------------------------- + +Copyright (C) 2003-2013 Paul Brossier + +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. -- 2.26.2