- Timestamp:
- May 18, 2006, 9:00:02 PM (19 years ago)
- Branches:
- feature/autosink, feature/cnn, feature/cnn_org, feature/constantq, feature/crepe, feature/crepe_org, feature/pitchshift, feature/pydocstrings, feature/timestretch, fix/ffmpeg5, master, pitchshift, sampler, timestretch, yinfft+
- Children:
- 1ab7d54
- Parents:
- 9a83b91
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
README
r9a83b91 re604630 1 1 AUBIO LIBRARY 2 2 3 Aubio is a library for real time audio labelling. It can segment a sound at 4 each of its attacks, perform pitch detection and produce midi streams from live 5 audio. 6 7 Aubio is still in an alpha state. More to come soon, suggestions and feedback 8 welcome. 3 Aubio is a library for real time audio labelling. Its features include 4 segmenting a sound file before each of its attacks, performing pitch detection, 5 tapping the beat and producing midi streams from live audio. The name aubio 6 comes from 'audio' with a typo: several transcription errors are likely to be 7 found in the results too. 9 8 10 9 A few examples of applications are provided in examples/ and python/: 10 11 11 - aubioonset output the onset detected, 12 12 - aubionotes emits midi-like notes, 13 - aubiocuts is a python script that takes an input sound and creates one new 14 sample at each new onsettimes 13 - aubiocut is a python script that takes an input sound and creates one new 14 sample at each detected onset or beat, 15 - aubiopitch is a python script to extract pitch tracks from sound files. 15 16 16 The first two can work either offline or online, outputing the results on the 17 console or playing a woodblock sound at each detected onset. 17 aubioonset and aubionotes can work either off-line or online, outputting the 18 results on the console or playing a wood-block sound at each detected onset. 19 Both Python scripts can plot the results with Gnuplot. 18 20 19 The name Aubio comes from 'audio' with a typo. It is likely to have many 20 transcription errors in the results too! 21 Aubio is now being used in various projects: 21 22 22 DEPENDANCIES 23 - Audacity (http://audacity.sourceforge.net/ , see plugins/audacity) 24 - Wavesurfer (http://www.speech.kth.se/wavesurfer/ , see plugins/wavesurfer) 25 - Puredata (http://puredata.info/ , see plugins/puredata) 26 - Freecycle (http://www.redsteamrecords.com/freecycle/) 27 - Sonic Visualiser (http://www.sonicvisualiser.org) 28 - CLAM (http://clam.iua.upf.edu/) 23 29 24 This package depends on the following libraries and utils: 25 - automake1.7 30 BUILDING AUBIO 31 32 This package depends on the following libraries and utilities: 33 34 - automake 1.8 26 35 - libsndfile1 27 36 - fftw3 … … 29 38 - libjack (optional) 30 39 - libasound2 (optional) 31 - python, python-numarray (optional)32 40 - swig (>= 1.3, optional, for the python interface) 41 - python, python-gnuplot, python-numarray (optional) 33 42 34 BUILDING AUBIO 35 36 The usual invocation `$ ./configure && make' should do the job. Read on the 43 The usual invocation `./configure && make' should do the job. Read on the 37 44 generic INSTALL file for more information. 38 45 39 DEBIAN 46 On a Debian based system, you will need the following packages to compile 47 aubio: automake libsndfile1-dev libjack-dev fftw3-dev libsamplerate0-dev python 48 python-dev python-numarray swig. Alternatively, you could try the debian 49 package (see http://piem.org/debian/). 40 50 41 You could try the debian package (see http://piem.homeip.net/~piem/debian/) 42 43 On Debian you need the following packages to compile aubio: automake 44 libsndfile1-dev libjack-dev fftw3-dev libsamplerate0-dev python python-dev 45 python-numarray swig 46 47 OTHER PLATFORMS 48 49 Support has never been tested for Windows or MacOsX. It _could_ work with 50 $ ./configure --enable-alsa=no --enable-jack=no 51 Again, untested. Feedback and patches welcome. 51 Aubio has been successfully compiled on Mac OS X and can compile on Windows 52 using mingw, although cross compiling it from Linux was found much simpler. 53 Note that this code was developed and tested on a Linux box. 52 54 53 55 STATUS 54 56 55 57 The shared library libaubio provides the following tools: 56 - various maths tools 58 59 - various math utilities 57 60 - phase vocoder 58 - up/down sampling61 - up/down-sampling 59 62 - filtering (n pole/zero pairs) 60 63 - onset detection functions 61 64 - onset peak picking 62 - multicomb-filtering pitchdetection 65 - pitch detection functions 66 - beat tracking function 63 67 - transient/steady-state separation 64 68 - alsa midi and jack input outputs 65 69 66 70 A swig wrapper is provided in swig/. For now, I have only been playing with the 67 python interface . But there is much overlap with projects such as pyjack and68 numeric. To be continued...71 python interface, but swig should make it easy to obtain a wrapper for any 72 other supported language, such as Perl or Ruby. 69 73 70 `Make it run, make it right, make it fast.' [1] Aubio is in the "Make it right"71 process: almost no optimisation has been done to the code, and its speed could 72 be much improved. The pitch detection is especially slow.74 `Make it run, make it right, make it fast.'[1] Aubio is currently in the "Make 75 it right" process. Almost no optimisation has been done to the code, and its 76 speed could probably be improved. 73 77 74 78 [1] see http://c2.com/cgi/wiki?MakeItWorkMakeItRightMakeItFast … … 82 86 audio_thing_methods(aubio_thing_t * t, void * args); 83 87 84 Memory allocation or freeing should never take place in these _methods, and 85 should all be bound to the new_ and del_ methods. Also most gcc warning flags 86 are turned on, so functions must be prototyped and variables used. 88 Memory allocation or freeing should never take place in execution function 89 (aubio_thing_methods), and should all be bound to the new_ and del_ methods. 90 Also, note that most GCC warning flags are turned on, so functions must be 91 prototyped, and variables must be used. 87 92 88 C ONTACT93 CREDITS 89 94 90 This project is a demo program for my research project. It can be found online 91 at http://piem.homeip.net/~piem/aubio/. I have been writting about the results 92 obtained with aubio in the following papers (that are about to be published!): 95 This library gathers music signal processing algorithms designed at the Centre 96 for Digital Music and elsewhere. This software project was developed along the 97 research I did at the Centre for Digital Music, Queen Mary, University of 98 London. Most of this C code was written by myself, starting from published 99 papers and existing code. The header files of each algorithm contains brief 100 descriptions and references to the corresponding papers. 101 102 Results obtained with aubio were discussed in the following papers: 93 103 94 104 P. M. Brossier and J. P. Bello and M. D. Plumbley, Real-time temporal … … 100 110 Information Retrieval, 2004, Barcelona, Spain 101 111 102 Feel free to drop me a comment at piem@altern.org. 112 Substantial informations about the algorithms developed in aubio and their 113 evaluation are gathered in: 114 115 Paul Brossier, ``Automatic annotation of musical audio for interactive 116 systems'', PhD thesis, Centre for Digital music, Queen Mary University of 117 London, London, UK, 2003. 118 119 CONTACT 120 121 The home page of this project can be found at http://aubio.piem.org/. Feel free 122 to drop me a comment (piem@altern.org) or on the mailing list, aubio@piem.org. 123 Suggestions and feedback are most welcome.
Note: See TracChangeset
for help on using the changeset viewer.