python/README.md: update (closes #2)
[aubio.git] / python / README.md
1 Python aubio module
2 ===================
3
4 This module wraps the aubio library for Python using the numpy module.
5
6 Using the Python aubio module
7 -----------------------------
8
9 After installing python-aubio, you will be able to import the aubio module:
10
11     $ python
12     [...]
13     >>> import aubio
14     >>> help(aubio.miditofreq)
15
16 Finding some inspiration
17 ------------------------
18
19 Some examples are available in the `python/demos` directory. These scripts are
20 small programs written in python and using python-aubio.
21
22 For instance, `demo_source.py` reads a media file.
23
24     $ ./python/demos/demo_source.py /path/to/sound/sample.wav
25
26 and `demo_timestretch_online.py` stretches the original file into a new one:
27
28     $ ./python/demo/demo_timestretch_online.py loop.wav stretched_loop.wav 0.92`
29
30 Note: you might need to install additional modules to run some of the demos.
31 Some demos use [matplotlib](http://matplotlib.org/) to draw plots, others use
32 [PySoundCard](https://github.com/bastibe/PySoundCard) to play and record
33 sounds.
34
35 Testing the Python module
36 -------------------------
37
38 To run the all the python tests, use the script:
39
40     $ ./python/tests/run_all_tests
41
42 Each test script can also be called one at a time. For instance:
43
44     $ ./python/tests/test_note2midi.py -v
45
46 Install in a virtualenv
47 -----------------------
48
49 You should be able to install python-aubio directly from the top source
50 directory of aubio.
51
52 First, create a virtualenv to hold the required python module:
53
54     $ virtualenv pyaubio
55     $ source pyaubio/bin/activate
56
57 Now install and build the python extension using:
58
59     $ pip install .
60
61 Install requirements
62 --------------------
63
64 Before compiling this module, you must have compiled libaubio.
65
66 A simple way to do this is with pip:
67
68     $ pip install -r requirements.txt
69
70 For more information about how this module works, please refer to the [Python/C
71 API Reference Manual] (http://docs.python.org/c-api/index.html) and the
72 [Numpy/C API Reference](http://docs.scipy.org/doc/numpy/reference/c-api.html).
73
74 Compiling python aubio
75 ----------------------
76
77 To build the aubio Python module, run the following command from the top source
78 directory of aubio:
79
80     $ ./setup.py build
81
82 Note: if libaubio was previously built using waf, the script will use it.
83 Otherwise, the entire library will be built inside the python extension.
84
85 To find out more about `setup.py` options:
86
87     $ ./setup.py --help
88
89 Installing
90 ----------
91
92 To install the Python module:
93
94     $ ./setup.py install
95
96 Alternatively, you may want to use the Python module without installing it by
97 setting your PYTHONPATH, for instance as follows:
98
99     $ export PYTHONPATH=$PYTHONPATH:$PWD/`ls -rtd build/lib.* | head -1`:$PWD/tests
100