Changeset e604630


Ignore:
Timestamp:
May 18, 2006, 9:00:02 PM (19 years ago)
Author:
Paul Brossier <piem@altern.org>
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
Message:

update README
update README

File:
1 edited

Legend:

Unmodified
Added
Removed
  • README

    r9a83b91 re604630  
    11AUBIO LIBRARY
    22
    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.
     3Aubio is a library for real time audio labelling. Its features include
     4segmenting a sound file before each of its attacks, performing pitch detection,
     5tapping the beat and producing midi streams from live audio. The name aubio
     6comes from 'audio' with a typo: several transcription errors are likely to be
     7found in the results too.
    98
    109A few examples of applications are provided in examples/ and python/:
     10
    1111 - aubioonset output the onset detected,
    1212 - 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.
    1516
    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.
     17aubioonset and aubionotes can work either off-line or online, outputting the
     18results on the console or playing a wood-block sound at each detected onset.
     19Both Python scripts can plot the results with Gnuplot.
    1820
    19 The name Aubio comes from 'audio' with a typo. It is likely to have many
    20 transcription errors in the results too!
     21Aubio is now being used in various projects:
    2122
    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/)
    2329
    24 This package depends on the following libraries and utils:
    25   - automake1.7
     30BUILDING AUBIO
     31
     32This package depends on the following libraries and utilities:
     33
     34  - automake 1.8
    2635  - libsndfile1
    2736  - fftw3
     
    2938  - libjack (optional)
    3039  - libasound2 (optional)
    31   - python, python-numarray (optional)
    3240  - swig (>= 1.3, optional, for the python interface)
     41  - python, python-gnuplot, python-numarray (optional)
    3342
    34 BUILDING AUBIO
    35 
    36 The usual invocation `$ ./configure && make' should do the job. Read on the
     43The usual invocation `./configure && make' should do the job. Read on the
    3744generic INSTALL file for more information.
    3845
    39 DEBIAN
     46On a Debian based system, you will need the following packages to compile
     47aubio: automake libsndfile1-dev libjack-dev fftw3-dev libsamplerate0-dev python
     48python-dev python-numarray swig. Alternatively, you could try the debian
     49package (see http://piem.org/debian/).
    4050
    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.
     51Aubio has been successfully compiled on Mac OS X and can compile on Windows
     52using mingw, although cross compiling it from Linux was found much simpler.
     53Note that this code was developed and tested on a Linux box.
    5254
    5355STATUS
    5456
    5557The shared library libaubio provides the following tools:
    56   - various maths tools
     58
     59  - various math utilities
    5760  - phase vocoder
    58   - up/downsampling
     61  - up/down-sampling
    5962  - filtering (n pole/zero pairs)
    6063  - onset detection functions
    6164  - onset peak picking
    62   - multicomb-filtering pitchdetection
     65  - pitch detection functions
     66  - beat tracking function
    6367  - transient/steady-state separation
    6468  - alsa midi and jack input outputs
    6569
    6670A 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 and
    68 numeric. To be continued...
     71python interface, but swig should make it easy to obtain a wrapper for any
     72other supported language, such as Perl or Ruby.
    6973
    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
     75it right" process. Almost no optimisation has been done to the code, and its
     76speed could probably be improved.
    7377
    7478[1] see http://c2.com/cgi/wiki?MakeItWorkMakeItRightMakeItFast
     
    8286    audio_thing_methods(aubio_thing_t * t, void * args);
    8387
    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.
     88Memory 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.
     90Also, note that most GCC warning flags are turned on, so functions must be
     91prototyped, and variables must be used.
    8792
    88 CONTACT
     93CREDITS
    8994
    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!):
     95This library gathers music signal processing algorithms designed at the Centre
     96for Digital Music and elsewhere. This software project was developed along the
     97research I did at the Centre for Digital Music, Queen Mary, University of
     98London. Most of this C code was written by myself, starting from published
     99papers and existing code. The header files of each algorithm contains brief
     100descriptions and references to the corresponding papers.
     101
     102Results obtained with aubio were discussed in the following papers:
    93103 
    94104  P. M. Brossier and J. P. Bello and M. D. Plumbley, Real-time temporal
     
    100110  Information Retrieval, 2004, Barcelona, Spain
    101111
    102 Feel free to drop me a comment at piem@altern.org.
     112Substantial informations about the algorithms developed in aubio and their
     113evaluation 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
     119CONTACT
     120
     121The home page of this project can be found at http://aubio.piem.org/. Feel free
     122to drop me a comment (piem@altern.org) or on the mailing list, aubio@piem.org.
     123Suggestions and feedback are most welcome.
Note: See TracChangeset for help on using the changeset viewer.