[34abeaf] | 1 | aubio documentation |
---|
| 2 | =================== |
---|
| 3 | |
---|
| 4 | aubio is a collection of algorithms and tools to label music and sounds. It |
---|
| 5 | listens to audio signals and attempts to detect events. For instance, when a |
---|
| 6 | drum is hit, at which frequency is a note, or at what tempo is a rhythmic |
---|
| 7 | melody. |
---|
| 8 | |
---|
| 9 | Its features include segmenting a sound file before each of its attacks, |
---|
| 10 | performing pitch detection, tapping the beat and producing midi streams from |
---|
| 11 | live audio. |
---|
| 12 | |
---|
| 13 | aubio 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 | |
---|
| 27 | The name aubio comes from *audio* with a typo: some errors are likely to be |
---|
| 28 | found in the results. |
---|
| 29 | |
---|
| 30 | Python module |
---|
| 31 | ------------- |
---|
| 32 | |
---|
| 33 | A python module to access the library functions is also provided. Please see |
---|
| 34 | the file ``python/README`` for more information on how to use it. |
---|
| 35 | |
---|
| 36 | Examples tools |
---|
| 37 | -------------- |
---|
| 38 | |
---|
| 39 | A 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 | |
---|
| 49 | Additionally, the python module comes with the following script: |
---|
| 50 | |
---|
| 51 | - ``aubiocut`` slices sound files at onset or beat timestamps |
---|
| 52 | |
---|
| 53 | C API basics |
---|
| 54 | ------------ |
---|
| 55 | |
---|
| 56 | The library is written in C and is optimised for speed and portability. |
---|
| 57 | |
---|
| 58 | The 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 | |
---|
| 68 | For performance and real-time operation, no memory allocation or freeing take |
---|
| 69 | place in the ``_do`` methods. Instead, memory allocation should always take place |
---|
| 70 | in 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 | |
---|
| 78 | aubio compiles on Linux, Mac OS X, Cygwin, and iPhone. |
---|
| 79 | |
---|
| 80 | Documentation |
---|
| 81 | ------------- |
---|
| 82 | |
---|
| 83 | - Manual pages: http://aubio.org/documentation |
---|
| 84 | - API documentation: http://aubio.org/doc/latest/ |
---|
| 85 | |
---|
| 86 | Contribute |
---|
| 87 | ---------- |
---|
| 88 | |
---|
| 89 | - Issue Tracker: https://github.com/piem/aubio/issues |
---|
| 90 | - Source Code: https://github.com/piem/aubio |
---|
| 91 | |
---|
| 92 | Contact info |
---|
| 93 | ------------ |
---|
| 94 | |
---|
| 95 | The home page of this project can be found at: http://aubio.org/ |
---|
| 96 | |
---|
| 97 | Questions, comments, suggestions, and contributions are welcome. Use the |
---|
| 98 | mailing list: <aubio-user@aubio.org>. |
---|
| 99 | |
---|
| 100 | To subscribe to the list, use the mailman form: |
---|
| 101 | http://lists.aubio.org/listinfo/aubio-user/ |
---|
| 102 | |
---|
| 103 | Alternatively, feel free to contact directly the author. |
---|
| 104 | |
---|
| 105 | |
---|
| 106 | Contents |
---|
| 107 | -------- |
---|
| 108 | |
---|
| 109 | .. toctree:: |
---|
| 110 | :maxdepth: 1 |
---|
| 111 | |
---|
| 112 | installing |
---|
| 113 | python_module |
---|