source: README.md @ ba303e8

feature/autosinkfeature/cnnfeature/cnn_orgfeature/constantqfeature/crepefeature/crepe_orgfeature/pitchshiftfeature/pydocstringsfeature/timestretchfix/ffmpeg5pitchshiftsamplertimestretchyinfft+
Last change on this file since ba303e8 was c4d251c, checked in by Paul Brossier <piem@piem.org>, 9 years ago

README.md: improve linking instructions

  • Property mode set to 100644
File size: 6.1 KB
RevLine 
[050a8f3]1aubio library
2=============
3
4aubio is a library to label music and sounds. It listens to audio signals and
5attempts to detect events. For instance, when a drum is hit, at which frequency
6is a note, or at what tempo is a rhythmic melody.
7
8Its features include segmenting a sound file before each of its attacks,
9performing pitch detection, tapping the beat and producing midi streams from
10live audio.
11
12aubio provide several algorithms and routines, including:
13
14  - several onset detection methods
15  - different pitch detection methods
16  - tempo tracking and beat detection
17  - MFCC (mel-frequency cepstrum coefficients)
18  - FFT and phase vocoder
19  - up/down-sampling
20  - digital filters (low pass, high pass, and more)
21  - spectral filtering
22  - transient/steady-state separation
23  - sound file and audio devices read and write access
24  - various mathematics utilities for music applications
25
26The name aubio comes from _audio_ with a typo: some errors are likely to be
27found in the results.
28
[ac4a6b8]29Python module
30-------------
[050a8f3]31
[ac4a6b8]32A python module to access the library functions is also provided. Please see
33the file `python/README` for more information on how to use it.
34
35Examples tools
36--------------
[050a8f3]37
[ac4a6b8]38A few simple command line tools are included along with the library:
[050a8f3]39
40 - `aubioonset` outputs the time stamp of detected note onsets
[ac4a6b8]41 - `aubiopitch` attempts to identify a fundamental frequency, or pitch, for
42   each frame of the input sound
43 - `aubiomfcc` computes Mel-frequency Cepstrum Coefficients
44 - `aubiotrack` outputs the time stamp of detected beats
[050a8f3]45 - `aubionotes` emits midi-like notes, with an onset, a pitch, and a duration
[ac4a6b8]46 - `aubioquiet` extracts quiet and loud regions
47
[2a6cf36]48Additionally, the python module comes with the following script:
[ac4a6b8]49
50 - `aubiocut` slices sound files at onset or beat timestamps
51
52Implementation and Design Basics
53--------------------------------
54
55The library is written in C and is optimised for speed and portability.
[050a8f3]56
57The C API is designed in the following way:
58
59    aubio_something_t * new_aubio_something (void * args);
60    audio_something_do (aubio_something_t * t, void * args);
61    smpl_t aubio_something_get_a_parameter (aubio_something_t *t);
62    uint_t aubio_something_set_a_parameter (aubio_something_t *t, smpl_t a_parameter);
63    void del_aubio_something (aubio_something_t * t);
64
65For performance and real-time operation, no memory allocation or freeing take
66place in the `_do` methods. Instead, memory allocation should always take place
67in the `new_` methods, whereas free operations are done in the `del_` methods.
68
[ac4a6b8]69The latest version of the documentation can be found at:
70
[f4cc4a8]71  https://aubio.org/documentation
[050a8f3]72
[c35e701]73Build Instructions
74------------------
[050a8f3]75
76A number of distributions already include aubio. Check your favorite package
77management system, or have a look at the [download
[f4cc4a8]78page](https://aubio.org/download).
[050a8f3]79
[a1718fc]80aubio uses [waf](https://waf.io/) to configure, compile, and test the source:
[050a8f3]81
82    ./waf configure
83    ./waf build
84
[10482d2]85If waf is not found in the directory, you can download and install it with:
86
87    make getwaf
88
[a1718fc]89aubio compiles on Linux, Mac OS X, Cygwin, and iOS.
[050a8f3]90
[c35e701]91Installation
92------------
93
94To install aubio library and headers on your system, use:
95
96    sudo ./waf install
97
98To uninstall:
99
100    sudo ./waf uninstall
101
102If you don't have root access to install libaubio on your system, you can use
103libaubio without installing libaubio either by setting `LD_LIBRARY_PATH`, or by
104copying it to `~/lib`.
105
106On Linux, you should be able to set `LD_LIBRARY_PATH` with:
107
108    $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/build/src
109
110On Mac OS X, a copy or a symlink can be made in `~/lib`:
111
112    $ mkdir -p ~/lib
[c4d251c]113    $ ln -sf $PWD/build/src/libaubio*.dylib ~/lib/
[c35e701]114
115Note on Mac OS X systems older than El Capitan (10.11), the `DYLD_LIBRARY_PATH`
116variable can be set as follows:
117
118    $ export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$PWD/build/src
119
[050a8f3]120Credits and Publications
121------------------------
122
123This library gathers music signal processing algorithms designed at the Centre
124for Digital Music and elsewhere. This software project was developed along the
125research I did at the Centre for Digital Music, Queen Mary, University of
126London. Most of this C code was written by myself, starting from published
127papers and existing code. The header files of each algorithm contains brief
128descriptions and references to the corresponding papers.
129
130Special thanks go Juan Pablo Bello, Chris Duxbury, Samer Abdallah, Alain de
131Cheveigne for their help and publications. Also many thanks to Miguel Ramirez
132and Nicolas Wack for their bug fixing.
133
134Substantial informations about the algorithms and their evaluation are gathered
135in:
136
137  - Paul Brossier, _[Automatic annotation of musical audio for interactive
[f4cc4a8]138    systems](https://aubio.org/phd)_, PhD thesis, Centre for Digital music,
[050a8f3]139Queen Mary University of London, London, UK, 2006.
140
141Additional results obtained with this software were discussed in the following
142papers:
143
144  - P. M. Brossier and J. P. Bello and M. D. Plumbley, [Real-time temporal
[f4cc4a8]145    segmentation of note objects in music signals](https://aubio.org/articles/brossier04fastnotes.pdf),
[050a8f3]146in _Proceedings of the International Computer Music Conference_, 2004, Miami,
147Florida, ICMA
148
149  -  P. M. Brossier and J. P. Bello and M. D. Plumbley, [Fast labelling of note
[f4cc4a8]150     objects in music signals] (https://aubio.org/articles/brossier04fastnotes.pdf),
[050a8f3]151in _Proceedings of the International Symposium on Music Information Retrieval_,
1522004, Barcelona, Spain
153
154
155Contact Info and Mailing List
156-----------------------------
157
[f4cc4a8]158The home page of this project can be found at: https://aubio.org/
[050a8f3]159
160Questions, comments, suggestions, and contributions are welcome. Use the
161mailing list: <aubio-user@aubio.org>.
162
163To subscribe to the list, use the mailman form:
164http://lists.aubio.org/listinfo/aubio-user/
165
[f107e12]166Alternatively, feel free to contact directly the author.
[050a8f3]167
168
169Copyright and License Information
170---------------------------------
171
172Copyright (C) 2003-2013 Paul Brossier <piem@aubio.org>
173
174aubio is free software: you can redistribute it and/or modify it under the
175terms of the GNU General Public License as published by the Free Software
176Foundation, either version 3 of the License, or (at your option) any later
177version.
Note: See TracBrowser for help on using the repository browser.