source: doc/index.rst @ c785cc2

feature/autosinkfeature/cnnfeature/cnn_orgfeature/constantqfeature/crepefeature/crepe_orgfeature/pitchshiftfeature/pydocstringsfeature/timestretchfix/ffmpeg5pitchshiftsamplertimestretchyinfft+
Last change on this file since c785cc2 was 100ef14, checked in by Paul Brossier <piem@piem.org>, 9 years ago

doc/python_api.rst: remove for now

  • Property mode set to 100644
File size: 3.3 KB
RevLine 
[34abeaf]1aubio documentation
2===================
3
4aubio is a collection of algorithms and tools to label music and sounds. It
5listens to audio signals and attempts to detect events. For instance, when a
6drum is hit, at which frequency is a note, or at what tempo is a rhythmic
7melody.
8
9Its features include segmenting a sound file before each of its attacks,
10performing pitch detection, tapping the beat and producing midi streams from
11live audio.
12
13aubio provide several algorithms and routines, including:
14
15- several onset detection methods
16- different pitch detection methods
17- tempo tracking and beat detection
18- MFCC (mel-frequency cepstrum coefficients)
19- FFT and phase vocoder
20- up/down-sampling
21- digital filters (low pass, high pass, and more)
22- spectral filtering
23- transient/steady-state separation
24- sound file and audio devices read and write access
25- various mathematics utilities for music applications
26
27The name aubio comes from *audio* with a typo: some errors are likely to be
28found in the results.
29
30Python module
31-------------
32
33A python module to access the library functions is also provided. Please see
34the file ``python/README`` for more information on how to use 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
53C API 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.. code-block:: c
61
62    aubio_something_t * new_aubio_something(void * args);
63    audio_something_do(aubio_something_t * t, void * args);
64    smpl_t aubio_something_get_a_parameter(aubio_something_t * t);
65    uint_t aubio_something_set_a_parameter(aubio_something_t * t, smpl_t a_parameter);
66    void del_aubio_something(aubio_something_t * t);
67
68For performance and real-time operation, no memory allocation or freeing take
69place in the ``_do`` methods. Instead, memory allocation should always take place
70in the ``new_`` methods, whereas free operations are done in the ``del_`` methods.
71
72.. code-block:: bash
73
74    ./waf configure
75    ./waf build
76    sudo ./waf install
77
78aubio compiles on Linux, Mac OS X, Cygwin, and iPhone.
79
80Documentation
81-------------
82
83- Manual pages: http://aubio.org/documentation
84- API documentation: http://aubio.org/doc/latest/
85
86Contribute
87----------
88
89- Issue Tracker: https://github.com/piem/aubio/issues
90- Source Code: https://github.com/piem/aubio
91
92Contact info
93------------
94
95The home page of this project can be found at: http://aubio.org/
96
97Questions, comments, suggestions, and contributions are welcome. Use the
98mailing list: <aubio-user@aubio.org>.
99
100To subscribe to the list, use the mailman form:
101http://lists.aubio.org/listinfo/aubio-user/
102
103Alternatively, feel free to contact directly the author.
104
105
106Contents
107--------
108
109.. toctree::
110   :maxdepth: 1
111
112   installing
113   python_module
Note: See TracBrowser for help on using the repository browser.