[70ab9fe] | 1 | aubio |
---|
| 2 | ===== |
---|
| 3 | |
---|
[d24b5c7] | 4 | [![Travis build status](https://travis-ci.org/aubio/aubio.svg?branch=master)](https://travis-ci.org/aubio/aubio "Travis build status") |
---|
[2a7bcaa] | 5 | [![Appveyor build status](https://ci.appveyor.com/api/projects/status/f3lhy3a57rkgn5yi?svg=true)](https://ci.appveyor.com/project/piem/aubio "Appveyor build status") |
---|
[d24b5c7] | 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?maxAge=2592000)](https://github.com/aubio/aubio "Commits since last release") |
---|
[050a8f3] | 9 | |
---|
| 10 | aubio is a library to label music and sounds. It listens to audio signals and |
---|
| 11 | attempts to detect events. For instance, when a drum is hit, at which frequency |
---|
| 12 | is a note, or at what tempo is a rhythmic melody. |
---|
| 13 | |
---|
| 14 | Its features include segmenting a sound file before each of its attacks, |
---|
| 15 | performing pitch detection, tapping the beat and producing midi streams from |
---|
| 16 | live audio. |
---|
| 17 | |
---|
| 18 | aubio provide several algorithms and routines, including: |
---|
| 19 | |
---|
| 20 | - several onset detection methods |
---|
| 21 | - different pitch detection methods |
---|
| 22 | - tempo tracking and beat detection |
---|
| 23 | - MFCC (mel-frequency cepstrum coefficients) |
---|
| 24 | - FFT and phase vocoder |
---|
| 25 | - up/down-sampling |
---|
| 26 | - digital filters (low pass, high pass, and more) |
---|
| 27 | - spectral filtering |
---|
| 28 | - transient/steady-state separation |
---|
| 29 | - sound file and audio devices read and write access |
---|
| 30 | - various mathematics utilities for music applications |
---|
| 31 | |
---|
| 32 | The name aubio comes from _audio_ with a typo: some errors are likely to be |
---|
| 33 | found in the results. |
---|
| 34 | |
---|
[ac4a6b8] | 35 | Python module |
---|
| 36 | ------------- |
---|
[050a8f3] | 37 | |
---|
[ac4a6b8] | 38 | A python module to access the library functions is also provided. Please see |
---|
[655150ce] | 39 | the file [`python/README.md`](python/README.md) for more information on how to |
---|
| 40 | use it. |
---|
[ac4a6b8] | 41 | |
---|
| 42 | Examples tools |
---|
| 43 | -------------- |
---|
[050a8f3] | 44 | |
---|
[ac4a6b8] | 45 | A few simple command line tools are included along with the library: |
---|
[050a8f3] | 46 | |
---|
| 47 | - `aubioonset` outputs the time stamp of detected note onsets |
---|
[ac4a6b8] | 48 | - `aubiopitch` attempts to identify a fundamental frequency, or pitch, for |
---|
| 49 | each frame of the input sound |
---|
| 50 | - `aubiomfcc` computes Mel-frequency Cepstrum Coefficients |
---|
| 51 | - `aubiotrack` outputs the time stamp of detected beats |
---|
[050a8f3] | 52 | - `aubionotes` emits midi-like notes, with an onset, a pitch, and a duration |
---|
[ac4a6b8] | 53 | - `aubioquiet` extracts quiet and loud regions |
---|
| 54 | |
---|
[2a6cf36] | 55 | Additionally, the python module comes with the following script: |
---|
[ac4a6b8] | 56 | |
---|
| 57 | - `aubiocut` slices sound files at onset or beat timestamps |
---|
| 58 | |
---|
| 59 | The latest version of the documentation can be found at: |
---|
| 60 | |
---|
[f4cc4a8] | 61 | https://aubio.org/documentation |
---|
[050a8f3] | 62 | |
---|
[c35e701] | 63 | Build Instructions |
---|
| 64 | ------------------ |
---|
[050a8f3] | 65 | |
---|
[714ef0d] | 66 | aubio compiles on Linux, Mac OS X, Windows, Cygwin, and iOS. |
---|
[050a8f3] | 67 | |
---|
[4e2173e] | 68 | To compile aubio, you should be able to simply run: |
---|
[c35e701] | 69 | |
---|
[4e2173e] | 70 | make |
---|
[c35e701] | 71 | |
---|
[4e2173e] | 72 | To compile the python module: |
---|
[c35e701] | 73 | |
---|
[4e2173e] | 74 | ./setup.py build |
---|
[c35e701] | 75 | |
---|
[4e2173e] | 76 | See also the [manual](https://aubio.org/manual/latest/) for more information |
---|
| 77 | about [compiling](https://aubio.org/manual/latest/building.html) and |
---|
| 78 | [installing](https://aubio.org/manual/latest/installing.html). |
---|
[c35e701] | 79 | |
---|
[050a8f3] | 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 |
---|
[f4cc4a8] | 98 | systems](https://aubio.org/phd)_, PhD thesis, Centre for Digital music, |
---|
[050a8f3] | 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 |
---|
[f4cc4a8] | 105 | segmentation of note objects in music signals](https://aubio.org/articles/brossier04fastnotes.pdf), |
---|
[050a8f3] | 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 |
---|
[f4cc4a8] | 110 | objects in music signals] (https://aubio.org/articles/brossier04fastnotes.pdf), |
---|
[050a8f3] | 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 | |
---|
[f4cc4a8] | 118 | The home page of this project can be found at: https://aubio.org/ |
---|
[050a8f3] | 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: |
---|
[a0ade50] | 124 | https://lists.aubio.org/listinfo/aubio-user/ |
---|
[050a8f3] | 125 | |
---|
[f107e12] | 126 | Alternatively, feel free to contact directly the author. |
---|
[050a8f3] | 127 | |
---|
| 128 | |
---|
| 129 | Copyright and License Information |
---|
| 130 | --------------------------------- |
---|
| 131 | |
---|
[93bd9a7] | 132 | Copyright (C) 2003-2016 Paul Brossier <piem@aubio.org> |
---|
[050a8f3] | 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. |
---|