InstallingΒΆ
The package works both on Linux and on Windows. You can find the last stable version at PyPI and install it with the usual Python installing mechanism:
python setup.py install
If you have pip, you can go directly (use -U
for update or reinstall):
pip install audiolazy
for downloading (from PyPI) and installing the package for you, or:
pip install -U .
To install from a path that has the setup.py
file and the package data
uncompressed previously.
For the bleeding-edge version, you can install directly from the github
repository (requires git
for cloning):
pip install -U git+git://github.com/danilobellini/audiolazy.git
For older versions, you can install from the PyPI link or directly from the
github repository, based on the repository tags. For example, to install the
version 0.04 (requires git
for cloning):
pip install -U git+git://github.com/danilobellini/audiolazy.git@v0.04
The package doesn’t have any strong dependency for its core besides the Python itself (versions 2.7, 3.2 or newer) as well as its standard library, but you might need:
- PyAudio: needed for playing and recording audio (
AudioIO
class); - NumPy: needed for doing some maths, such as finding the LSFs from a filter or roots from a polynomial;
- MatPlotLib: needed for all default plotting, like in
LinearFilter.plot
method and several examples; - SciPy (testing and examples only): used as an oracle for LTI filter testing and for the Butterworth filter example;
- Sympy (testing only): used for testing linear filters with time-varying matrices of symbolic coeffs where the Stream samples are these matrices;
- tox for testing all at once, or pytest, pytest-cov and pytest-timeout for testing in a single environment (testing only): runs test suite and shows code coverage status;
- wxPython (example only): used by one example with FM synthesis in an interactive GUI;
- Tkinter (example only): needed for the pitch follower based on the zero-crossing rate example GUI;
- Music21 (example only): there’s one example that gets the Bach chorals from that package corpora for synthesizing and playing;
- Sphinx (documentation only): it can create the software documentation in several different file formats.
Beside examples and tests, only the filter plotting with plot
and
zplot
methods needs MatPlotLib. Also, the routines that needs NumPy up to
now are:
- Root finding with
zeros
andpoles
properties (filter classes) or withroots
property (Poly class); - Some Linear Predictive Coding (
lpc
) strategies:nautocor
,autocor
andcovar
; - Line Spectral Frequencies
lsf
andlsf_stable
functions.