c39a1957d7e23cd7e2b3d2f19f364b1a0b2491e4
[aubio.git] / README.md
1 aubio
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://img.shields.io/appveyor/ci/piem/aubio/master.svg)](https://ci.appveyor.com/project/piem/aubio "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)](https://github.com/aubio/aubio "Commits since last release")
9 [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.438682.svg)](https://doi.org/10.5281/zenodo.438682)
10
11 aubio is a library to label music and sounds. It listens to audio signals and
12 attempts to detect events. For instance, when a drum is hit, at which frequency
13 is a note, or at what tempo is a rhythmic melody.
14
15 Its features include segmenting a sound file before each of its attacks,
16 performing pitch detection, tapping the beat and producing midi streams from
17 live audio.
18
19 aubio provide several algorithms and routines, including:
20
21   - several onset detection methods
22   - different pitch detection methods
23   - tempo tracking and beat detection
24   - MFCC (mel-frequency cepstrum coefficients)
25   - FFT and phase vocoder
26   - up/down-sampling
27   - digital filters (low pass, high pass, and more)
28   - spectral filtering
29   - transient/steady-state separation
30   - sound file read and write access
31   - various mathematics utilities for music applications
32
33 The name aubio comes from _audio_ with a typo: some errors are likely to be
34 found in the results.
35
36 Python module
37 -------------
38
39 A python module to access the library functions is also provided. Please see
40 the file [`python/README.md`](python/README.md) for more information on how to
41 use it.
42
43 Examples tools
44 --------------
45
46 A few simple command line tools are included along with the library:
47
48  - `aubioonset` outputs the time stamp of detected note onsets
49  - `aubiopitch` attempts to identify a fundamental frequency, or pitch, for
50    each frame of the input sound
51  - `aubiomfcc` computes Mel-frequency Cepstrum Coefficients
52  - `aubiotrack` outputs the time stamp of detected beats
53  - `aubionotes` emits midi-like notes, with an onset, a pitch, and a duration
54  - `aubioquiet` extracts quiet and loud regions
55
56 Additionally, the python module comes with the following script:
57
58  - `aubiocut` slices sound files at onset or beat timestamps
59
60 The latest version of the documentation can be found at:
61
62   https://aubio.org/documentation
63
64 Build Instructions
65 ------------------
66
67 aubio compiles on Linux, Mac OS X, Windows, Cygwin, and iOS.
68
69 To compile aubio, you should be able to simply run:
70
71     make
72
73 To compile the python module:
74
75     ./setup.py build
76
77 See also the [manual](https://aubio.org/manual/latest/) for more information
78 about [installing aubio](https://aubio.org/manual/latest/installing.html).
79
80 Credits and Publications
81 ------------------------
82
83 This library gathers music signal processing algorithms designed at the Centre
84 for Digital Music and elsewhere. This software project was developed along the
85 research I did at the Centre for Digital Music, Queen Mary, University of
86 London. Most of this C code was written by myself, starting from published
87 papers and existing code. The header files of each algorithm contains brief
88 descriptions and references to the corresponding papers.
89
90 Special thanks go Juan Pablo Bello, Chris Duxbury, Samer Abdallah, Alain de
91 Cheveigne for their help and publications. Also many thanks to Miguel Ramirez
92 and Nicolas Wack for their bug fixing.
93
94 Substantial informations about the algorithms and their evaluation are gathered
95 in:
96
97   - Paul Brossier, _[Automatic annotation of musical audio for interactive
98     systems](https://aubio.org/phd)_, PhD thesis, Centre for Digital music,
99 Queen Mary University of London, London, UK, 2006.
100
101 Additional results obtained with this software were discussed in the following
102 papers:
103
104   - P. M. Brossier and J. P. Bello and M. D. Plumbley, [Real-time temporal
105     segmentation of note objects in music signals](https://aubio.org/articles/brossier04fastnotes.pdf),
106 in _Proceedings of the International Computer Music Conference_, 2004, Miami,
107 Florida, ICMA
108
109   -  P. M. Brossier and J. P. Bello and M. D. Plumbley, [Fast labelling of note
110      objects in music signals] (https://aubio.org/articles/brossier04fastnotes.pdf),
111 in _Proceedings of the International Symposium on Music Information Retrieval_,
112 2004, Barcelona, Spain
113
114
115 Contact Info and Mailing List
116 -----------------------------
117
118 The home page of this project can be found at: https://aubio.org/
119
120 Questions, comments, suggestions, and contributions are welcome. Use the
121 mailing list: <aubio-user@aubio.org>.
122
123 To subscribe to the list, use the mailman form:
124 https://lists.aubio.org/listinfo/aubio-user/
125
126 Alternatively, feel free to contact directly the author.
127
128
129 Copyright and License Information
130 ---------------------------------
131
132 Copyright (C) 2003-2016 Paul Brossier <piem@aubio.org>
133
134 aubio is free software: you can redistribute it and/or modify it under the
135 terms of the GNU General Public License as published by the Free Software
136 Foundation, either version 3 of the License, or (at your option) any later
137 version.