This is the collection of modules for signal processing, maintained by the AS team on forge.ircam.fr
This collection is supposed to gather python modules that provide a startup collection for using python at IRCAM. The modules should work with Python 3.3+ - python 2.7 should stil work but will no longer be supported actively.
For the moment you find here
- basic functions for spectral domain signal processing lpc, levinson, freqz, dap, STFT, mel and CQ filter banks
- spectral and time domain generators for the LF glottal pulse model,
- many command line interfaces for svp analysis,
- supporting functions for reading and writing of SDIF and audio files, and speech signal databases
- a few mathematical function related to manipulation of phase spectra
- optimization with scaled conjugate gradient as well as root finding with fzero.
- interfaces for creating supervp analysis from python
- midifile reader
The module collection can be obtained for all users that are registered on the forge git repository via
git clone git+ssh://email@example.com/as_pysrc.git
This command checks out the master branch. Modifications are reserved to project members. If you want to actively modify these modules on the git server you would need to ask to become project member. All other users are suggested to switch locally to a new branch and apply modifications there, such that updates in the master branch can be pulled and merged easily.
The following python extensions and packages are used within as_pysrc
numpy, scipy, cython, execnet, pysndfile, eaSDIF
All these are most easily installed from pypi using pip. For installing execnet this would for exemple be done by means of
pip install execnet
If you work with Anaconda either under MacOS or Linux (64bit) there exists a anaconda channel roebel that you can use to install pysndfile and the python interface to eaSDIF.
PLease use the command
conda install -c roebel pysndfile eaSDIF
Otherwise for installing pysndfile you need first to instal libsndfile before you pip install pysndfile.
For this the python interface of the Easdif library from source forge should be installed like this
svn checkout svn://svn.code.sf.net/p/sdif/code/trunk/Easdif EASDIF_SDIF cd EASDIF_SDIF mkdir -p build_EASDIF_x86_64 cd build_EASDIF_x86_64 rm -f CMakeCache.txt cmake -DEASDIF_DO_PYTHON:bool=on -DPYTHON:STRING=python .. make install_python_easdif_module_globally
or if you have no right to write into your python installation
optional you will get a much better experience if you use
matplotlib and ipython
Compiling as_pysrc extensions
After having installed all the required dependencies, you should run the
in the as_pysrc toplevel directory to compile all c/c++ extensions and install them in your user site directory. After this is done you should be ready to go.
You can compile for different architectures using different python executables for the same as_pysrc directory.
For comments/complaints please use the forge issue tracker at http://forge.ircam.fr/p/as_pysrc/issues/