[priv] also define variadic no-op debug macro
[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 [![Commits since last release](https://img.shields.io/github/commits-since/aubio/aubio/latest.svg)](https://github.com/aubio/aubio "Commits since last release")
7
8 [![Documentation](https://readthedocs.org/projects/aubio/badge/?version=latest)](http://aubio.readthedocs.io/en/latest/?badge=latest "Latest documentation")
9 [![DOI](https://zenodo.org/badge/396389.svg)](https://zenodo.org/badge/latestdoi/396389)
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 for aubio is provided. For more information on how to use it,
40 please see the file [`python/README.md`](python/README.md) and the
41 [manual](https://aubio.org/manual/latest/) .
42
43 Tools
44 -----
45
46 The python module comes with the following command line tools:
47
48  - `aubio` extracts informations from sound files
49  - `aubiocut` slices sound files at onset or beat timestamps
50
51 Additional command line tools are included along with the library:
52
53  - `aubioonset` outputs the time stamp of detected note onsets
54  - `aubiopitch` attempts to identify a fundamental frequency, or pitch, for
55    each frame of the input sound
56  - `aubiomfcc` computes Mel-frequency Cepstrum Coefficients
57  - `aubiotrack` outputs the time stamp of detected beats
58  - `aubionotes` emits midi-like notes, with an onset, a pitch, and a duration
59  - `aubioquiet` extracts quiet and loud regions
60
61 Documentation
62 -------------
63
64   - [manual](https://aubio.org/manual/latest/), generated with sphinx
65   - [developer documentation](https://aubio.org/doc/latest/), generated with Doxygen
66
67 The latest version of the documentation can be found at:
68
69   https://aubio.org/documentation
70
71 Build Instructions
72 ------------------
73
74 aubio compiles on Linux, Mac OS X, Windows, Cygwin, and iOS.
75
76 To compile aubio, you should be able to simply run:
77
78     make
79
80 To compile the python module:
81
82     ./setup.py build
83
84 See the [manual](https://aubio.org/manual/latest/) for more information about
85 [installing aubio](https://aubio.org/manual/latest/installing.html).
86
87 Citation
88 --------
89
90 Please use the DOI link above to cite this release in your publications. For
91 more information, see also the [about
92 page](https://aubio.org/manual/latest/about.html) in [aubio
93 manual](https://aubio.org/manual/latest/).
94
95 Homepage
96 --------
97
98 The home page of this project can be found at: https://aubio.org/
99
100 License
101 -------
102
103 aubio is free software: you can redistribute it and/or modify it under the
104 terms of the GNU General Public License as published by the Free Software
105 Foundation, either version 3 of the License, or (at your option) any later
106 version.
107
108 Contributing
109 ------------
110
111 Patches are welcome: please fork the latest git repository and create a feature
112 branch. Submitted requests should pass all continuous integration tests.