source: README.md @ 70ab9fe

feature/autosinkfeature/cnnfeature/cnn_orgfeature/constantqfeature/crepefeature/crepe_orgfeature/pitchshiftfeature/pydocstringsfeature/timestretchfix/ffmpeg5sampler
Last change on this file since 70ab9fe was 70ab9fe, checked in by Paul Brossier <piem@piem.org>, 7 years ago

README.md: simplify title

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