.. This file is part of AudioLazy, the signal processing Python package. Copyright (C) 2012-2016 Danilo de Jesus da Silva Bellini AudioLazy is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License File auto-generated by the rst_creator.py script. along with this program. If not, see . 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`` 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.