IPEM toolbox


As auditory modeling increases in complexity there is a thorough need for higher-level working tools and companion manuals. The IPEM Toolbox provides foundations and tools for perception-based music analysis within a modern laboratory environment (Matlab).
It departs from sound and takes human perception as the basis for musical feature extraction and higher-level conceptualization and representation, combining experimental results in sound/music perception and modeling techniques into a powerful paradigm for music research.

The IPEM Toolbox aims at:

  • Providing researchers who work on projects inspired by auditory processing in Matlab with a working tool for music analysis.
  • Offering students an opportunity to become acquainted with auditory processing in Matlab.
  • Helping students to understand the mechanisms involved with the perception of sound.
  • Permit consolidation and improvement by inviting users to evaluate the IPEM Toolbox.


The IPEM Toolbox consists of a set of Matlab functions for musical auditory modeling which will allow users to incorporate these tools into their own research.

The PDF manual that comes with the IPEM Toolbox documents both the concepts of the implemented models and the usage of the functions.

The IPEM Toolbox is useful to researchers interested in music content analysis and automatic extraction and description of musical features. As already mentioned above, it is our aim to provide functions that allow researchers to deal with different aspects of feature extraction in the field of perception (i.e. of chord and tonality, pitch, sensory dissonance, onset detection, beat and meter extraction, timbre characteristics).

Further Reading

  • Introduction to the IPEM Toolbox for Perception-based Music Analysis, M. Leman, M. Lesaffre, K. Tanghe, in: Proceedings of the XIII Meeting of the FWOResearch Society on Foundations of Music Research, Ghent, Belgium, March 2, 2001
  • PowerPoint presentation and examples, 2001 (in Dutch)
  • Pitch and Voiced/Unvoiced Determination with an Auditory Model, Luc M. Van Immerseel, J.P. Martens, 1992. A description of the auditory model used, in a modified form, by the IPEM Toolbox.
  • Janata Lab Music Toolbox The JLMT consists of a series of MATLAB functions for performing analyses of musical audio signals. The package is an adjunct to an extant Matlab toolbox, the IPEM Toolbox, developed for perception-based music analysis. The JLMT makes significant contributions to theIPEM Toolbox by adding a flexible job manager, expanding the parameter space used to create contextuality images, generating pitch class projections and projections to toroidal space from periodicity pitch and contextuality images. It also integrates functionality from the BTB (Beyond the Beat) algorithm developed by Tomic and Janata for performing rhythm based analyses of musical audio signals and MIDI recordings of tapping responses.

BibTeX entry for the main IPEM-Toolbox Paper:

  author       = {Leman, Marc and Lesaffre, Micheline and Tanghe, Koen},
  booktitle    = {Conference Program and Abstracts of SMPC 2001 Kingston, August 9-11, 2001},
  language     = {eng},
  pages        = {25},
  title        = {An introduction to the IPEM Toolbox for Perception-Based Music Analysis.},
  year         = {2001},

Research with the IPEM Toolbox

This is a placeholder for a list of works done using the IPEM Toolbox. 

In the mean time, you are referred to the scholar.google.be list of research done using the IPEM Toolboxon Google Scholar.

Installation Instructions

The IPEM Toolbox was originally developed for Matlab 5.3.1 on Windows but has been ported to different Matlab versions and other platforms. 

The installation instructions assume you have downloaded the latest release of the IPEM-Toolbox.

The IPEM-Toolbox has two dependencies. It needs the Signal Processing Toolbox and an Auditory Modeling library, also developed at UGent

The auditory model is a C-library and needs to be compiled to work correctly with your Matlab Version, this is especially true on UNIX systems. 

On Windows simply copying a dll suffices.

Installation on Windows

Simply download the latest release and unzip it and start Matlab. Navigate to the IPEMToolbox directory 

and call call IPEMSetup within Matlab, this should setup your matlab path. Test the install by running the demo IPEMDemoMECRhythmExtraction.

Installation and Compilation on UNIX (Linux, Mac OS X)

This assumes you already have a compiler and GNU Make installed on your system. On Mac OS X this is done by installing XCode, on Debian by executingapt-get install build-essential, on other systems comparable packages need to be installed.

  1. Download the latest release and unzip it.
  2. Open a terminal window and navigate to the unzipped AuditoryModel/Matlab_version_UNIX directory. Replace the version with the version you want to compile for.
  3. Open Makefile and change the MATLAB_DIR path, optionally some other settings need to be changed (the compiler used). For Linux this will usually be in/usr/local (e.g. /usr/local/matlab-R14SP3). For OS X, this will usually be in /Applications (e.g. /Applications/MATLAB74).
  4. Change the MEX_EXT variable to one that is appropriate for your operating system. Possible extensions are suggested in the Makefile.
  5. Save the Makefile and type make in your terminal window. This will hopefully compile several object files and a mex unction in the Releasesubdirectory. The mex function is called: IPEMProcessAuditoryModelSafe.(mexext) where (mexext) is: mexglx (for 32-bit Linux), mexa64 (for 64-bit Linux), mexmac (for OS X, PowerPC), or mexmaci (for OS X, Intel)
  6. If you compiled for Matlab 7 or 8 type make install to copy the compiled files to IPEMToolbox/Common otherwise copy the compiled files manually.
  7. Start your Matlab environment and navigate to the IPEMToolbox directory. Run IPEMSetup.m to setup the toolbox.
  8. Test the install by running the demo IPEMDemoMECRhythmExtraction

The steps to compile and use the toolbox in GNU Octave are very similar. Make sure the mkoctfile command is available in your path before running make. On Debian this is found in the octave-pkg-dev package.


  • The IPEM-Toolbox is developed at IPEMUniversity Ghent by M. Leman, M. Lesaffre, K. Tanghe.
  • The Auditory Model is developed at ELISUniversity Ghent by Luc M. Van Immerseel and J.P. Martens.
  • Stefan Tomic (sttomic[at]ucdavis[dot]edu) modified the IPEM Toolbox to run on Linux and MacOSX. Thanks!


The latest release is advised, it runs on Windows, Mac OS X and Linux and instructions are included to get it started in Matlab versions 6.0, 7.0 and 8.0. It also contains instructions for GNU Otave users.

  • 2001.02 – IPEM Toolbox 1.00 – Matlab 5.3 – Windows: Contains an installer package for Matlab 5.3 running on Windows. The release is accompanied by the IPEM Toolbox Manual 1.00.
  • 2001.02 – IPEM Toolbox 1.00 – Matlab 6.0 – Windows: Contains an installer package for Matlab 6.0 running on Windows. The release is accompanied by the IPEM Toolbox Manual 1.00.
  • 2005.01 – IPEM Toolbox 1.01 – Matlab 6.0 – Windows: Contains the first open source (GPL) release of the IPEM-Toolbox. The Matlab source files and manual are included. The auditory model is included as a dll, so it only runs on Windows.
  • 2005.01 – IPEM Toolbox 1.02 – Matlab 6.0 – Windows: Contains an open source (GPL) release of the IPEM-Toolbox. The Matlab source files and manual are included. The auditory model is included as a dll, so it only runs on Windows. Contains an important bug fix in IPEMPeriodicityPitch
  • 2009.02.17 – IPEM Toolbox 1.02 – Matlab 6.0 and Matlab 7.0 – UNIX: A release of the IPEM-Toolbox together with the source files of the auditory model and make files. This release enables users to run the toolbox on Mac OS X and Linux. The make files are contributed by Stefan Tomic
  • 2014.01.14 – IPEM Toolbox 1.02 – Matlab 6.0, 7.0, 8.0, and Octave – Windows and UNIX. A release that contains source files and make files to use the IPEMToolbox on several platforms. The latest manual, LaTeX source files and the source for the Auditory Model are all part of the release.
    • AuditoryModel
      • Matlab6_UNIX: Makefile to compile the auditory model for Matlab 6 on Linux and Mac OS X.
      • Matlab6_7_Windows: A dll to copy for Matlab 6 and 7 on Windows.
      • Matlab7_UNIX: Makefile to compile the auditory model for Matlab 7 on Linux and Mac OS X.
      • Matlab8_UNIX: Makefile to compile the auditory model for Matlab 8 on Linux and Mac OS X.
      • Octave_UNIX: Makefile to compile the auditory model for GNU Octave on Linux and Mac OS X.
      • src: The c source files of the auditory model.
    • Docs: Contains the manual as pdf-file and this readme.
    • IPEMToolbox: Contains the Matlab source code.
    • Manual: Contains the LaTeX source files to compile the manual.

Contact and Support

The IPEM Toolbox project ended in 2003. We do not officially provide any support at all, however we might do an effort to answer your questions if you ask politely and we find some time ;-)


Both the IPEM Toolbox Matlab code and the auditory model c-code are released under the GPL.

Promotors: Prof. dr Marc Leman