# 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


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 and poles properties (filter classes) or with roots property (Poly class);
• Some Linear Predictive Coding (lpc) strategies: nautocor, autocor and covar;
• Line Spectral Frequencies lsf and lsf_stable functions.