source: README.md @ a69e7aa

sampler
Last change on this file since a69e7aa was 655150ce, checked in by Paul Brossier <piem@piem.org>, 8 years ago

README.md: link to python/README.md

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