5f6cfbd9d7762f51026e02f3bc196731b5673dee
[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 [![Commits since last release](https://img.shields.io/github/commits-since/aubio/aubio/latest.svg)](https://github.com/aubio/aubio "Commits since last release")
8
9 [![Documentation](https://readthedocs.org/projects/aubio/badge/?version=latest)](http://aubio.readthedocs.io/en/latest/?badge=latest "Latest documentation")
10 [![DOI](https://zenodo.org/badge/396389.svg)](https://zenodo.org/badge/latestdoi/396389)
11
12 aubio is a library to label music and sounds. It listens to audio signals and
13 attempts to detect events. For instance, when a drum is hit, at which frequency
14 is a note, or at what tempo is a rhythmic melody.
15
16 Its features include segmenting a sound file before each of its attacks,
17 performing pitch detection, tapping the beat and producing midi streams from
18 live audio.
19
20 aubio provide several algorithms and routines, including:
21
22   - several onset detection methods
23   - different pitch detection methods
24   - tempo tracking and beat detection
25   - MFCC (mel-frequency cepstrum coefficients)
26   - FFT and phase vocoder
27   - up/down-sampling
28   - digital filters (low pass, high pass, and more)
29   - spectral filtering
30   - transient/steady-state separation
31   - sound file read and write access
32   - various mathematics utilities for music applications
33
34 The name aubio comes from _audio_ with a typo: some errors are likely to be
35 found in the results.
36
37 Python module
38 -------------
39
40 A python module for aubio is provided. For more information on how to use it,
41 please see the file [`python/README.md`](python/README.md) and the
42 [manual](https://aubio.org/manual/latest/) .
43
44 Tools
45 -----
46
47 The python module comes with the following command line tools:
48
49  - `aubio` extracts informations from sound files
50  - `aubiocut` slices sound files at onset or beat timestamps
51
52 Additional command line tools are included along with the library:
53
54  - `aubioonset` outputs the time stamp of detected note onsets
55  - `aubiopitch` attempts to identify a fundamental frequency, or pitch, for
56    each frame of the input sound
57  - `aubiomfcc` computes Mel-frequency Cepstrum Coefficients
58  - `aubiotrack` outputs the time stamp of detected beats
59  - `aubionotes` emits midi-like notes, with an onset, a pitch, and a duration
60  - `aubioquiet` extracts quiet and loud regions
61
62 Documentation
63 -------------
64
65   - [manual](https://aubio.org/manual/latest/), generated with sphinx
66   - [developer documentation](https://aubio.org/doc/latest/), generated with Doxygen
67
68 The latest version of the documentation can be found at:
69
70   https://aubio.org/documentation
71
72 Build Instructions
73 ------------------
74
75 aubio compiles on Linux, Mac OS X, Windows, Cygwin, and iOS.
76
77 To compile aubio, you should be able to simply run:
78
79     make
80
81 To compile the python module:
82
83     ./setup.py build
84
85 See the [manual](https://aubio.org/manual/latest/) for more information about
86 [installing aubio](https://aubio.org/manual/latest/installing.html).
87
88 Citation
89 --------
90
91 Please use the DOI link above to cite this release in your publications. For
92 more information, see also the [about
93 page](https://aubio.org/manual/latest/about.html) in [aubio
94 manual](https://aubio.org/manual/latest/).
95
96 Homepage
97 --------
98
99 The home page of this project can be found at: https://aubio.org/
100
101 License
102 -------
103
104 aubio is free software: you can redistribute it and/or modify it under the
105 terms of the GNU General Public License as published by the Free Software
106 Foundation, either version 3 of the License, or (at your option) any later
107 version.
108
109 Contributing
110 ------------
111
112 Patches are welcome: please fork the latest git repository and create a feature
113 branch. Submitted requests should pass all continuous integration tests.