Iracema is a Python package aimed at the empirical research on music performance, with focus on the analysis of expressiveness and individuality from audio recordings. It is developed and maintaned by researchers at CEGeME, and contains computational models of music information extraction that were developed for supporting research projects in music performance. It was strongly inspired by Expan, a Matlab tool that had been previously developed at CEGeME.



  1. Clone the repository from github:
git clone --recurse-submodules

The command shown above will clone the project including some example audio files. If you don’t want to download those files, you should omit the parameter --recurse-submodules, like this:

git clone
  1. We strongly recommend that you create a virtual environment to install the dependencies for iracema, since it is always a good practice to keep project-specific dependencies isolated from your base Python installation (see the instructions bellow). To install the required dependecies using pip, simply go to the directory where the repository was cloned and type in your command line:
pip3 install -r requirements.txt
pip3 install -e .
  1. In order to play audio you will need to manually install an audio I/O library called PortAudio. In Debian / Ubuntu you can install it using apt:
sudo apt install libportaudio2


To install virtualenv, I recommend you use pip3, and install it in your user account:

pip3 install --user virtualenv


  • Python packages (required):
    • numpy
    • scipy
    • matplotlib
    • audioread
  • Optional dependencies:
    • ffmpeg, libav, gstreamer or core audio (for opening different audio file formats)
    • CFFI, sounddevice and libportaudio2 (only if you want to play audio)
  • To compile the docs:
    • sphinx
    • sphinxcontrib-napoleon
    • sphinx-rtd-theme