2 Copyright (C) 2003 Paul Brossier <piem@altern.org>
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 * \section whatis All starts here ...
24 * Aubio (note i need another name for this program) is a small library
25 * for audio and control processing. The aim of this project is educative
26 * (for me, and all the others who might want to use it). The main purpose of
27 * aubio is to experiment with some bleeding-edge algorithms in a real time
28 * context. This library targets at being light and portable, and relatively
31 * aubio is implemented as a library of C units and functions. You can create
32 * all the C objects you need in your processing function, process those
33 * objects from a main callback function, and delete them when done. This
34 * simple but efficient way makes it easy to write a small wrapper, for
35 * instance in the python language. (actually, GUIs should probably be build
36 * with python itself). Writing LADSPA, jmax, pd, or any other like audio
37 * plugins should be feasible too.
39 * Aubio provides various tools, some of them are listed below. I added the
40 * names of the original authors and references to corresponding articles
41 * are in the corresponding source file.
43 * - various maths tools
46 * - filtering (n pole/zero pairs)
47 * - onset detection functions
48 * - onset peak picking
49 * - multicomb-filtering pitch detection
50 * - transient/steady-state separation
51 * - audio and midi devices abstractions (callback)
52 * - audio and midi files abstractions (various access modes)
54 * The midi support is kindly borrowed from the powerful Fluidsynth, written
57 * See the README file for more information.
59 * \section bugs bugs and todo
61 * This software is under development. It needs debugging and optimisations.
63 * See <a href='bug.html'>bugs</a> and <a href='todo.html'>todo</a> lists.
71 * Global Aubio include file.
72 * Programmers just need to include this file as:
85 /* first the generated config file */
93 #include "mathutils.h"
96 #include "onsetdetection.h"
104 #include "sndfileio.h"
105 #include "peakpick.h"
108 #include "pitchdetection.h"
109 #include "pitchmcomb.h"
110 #include "pitchyin.h"
113 #include "midi_event.h"
114 #include "midi_track.h"
115 #include "midi_player.h"
116 #include "midi_parser.h"
117 #include "midi_file.h"
118 #include "midi_driver.h"