An open source auditory toolbox for perception-based music analysis.
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).
Download the latest release at GitHub: IPEM Toolbox 1.03.
- Introduction to the IPEM Toolbox for Perception-based Music Analysis, M. Leman, M. Lesaffre, K. Tanghe, in: Proceedings of the XIII Meeting of the FWO Research 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 the IPEM 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.
Research with the IPEM Toolbox
Here, a list of scholarly works done using the IPEM Toolbox can be found. A more complete list of research done using the IPEM Toolbox can be found on Google Scholar. Some key papers include:
- An Auditory Model of the Role of Short-Term Memory in Probe-Tone Ratings, Marc Leman, Music Perception: An Interdisciplinary Journal , Vol. 17, No. 4, Tonality Induction (Summer, 2000), p. 481-509
- The Cortical Topography of Tonal Structures Underlying Western Music Petr Janata, Jeffrey L. Birk, John D. Van Horn, Marc Leman, Barbara Tillmann, and Jamshed J. Bharucha. Science 298 (5601):2167-2170 (2002)
- Empirical evidence for musical syntax processing? computer simulations reveal the contribution of auditory short-term memory Bigand, E., Delbé, C., Poulin-Charronnat, B., Leman, M., and Tillmann, B. (2014). Frontiers in Systems Neuroscience, 8(94):1–27.
- A combined model of sensory and cognitive representations underlying tonal expectations in music: From audio signals to behavior. Collins, T., Tillmann, B., Barrett, F. S., Delbé, C., and Janata, P. (2014). Psychological review, 121(1):33.
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 (DLL’s for 32 and 64 bit systems are available).
Installation on Windows
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
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 executing
apt-get install build-essential, on other systems comparable packages need to be installed.
- Download the latest release and unzip it.
- Open a terminal window and navigate to the unzipped
AuditoryModel/Matlab_version_UNIXdirectory. Replace the version with the version you want to compile for.
Makefileand change the
MATLAB_DIRpath, optionally some other settings need to be changed (the compiler used). For Linux this will usually be in
/usr/local/matlab-R14SP3). For OS X, this will usually be in
- Change the MEX_EXT variable to one that is appropriate for your operating system. Possible extensions are suggested in the Makefile.
- 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)
- If you compiled for Matlab 7 or 8 type
make installto copy the compiled files to
IPEMToolbox/Commonotherwise copy the compiled files manually.
- Start your Matlab environment and navigate to the IPEMToolbox directory. Run IPEMSetup.m to setup the toolbox.
- Test the install by running the demo
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
- The IPEM-Toolbox is developed at IPEM, University Ghent by M. Leman, M. Lesaffre, K. Tanghe.
- The Auditory Model is developed at ELIS, University 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!
- Jane Lee (jlee7[at]]stonehill[dot]edu) compiled the auditory model for windows 64 bit and Matlab 8 and provided documentation.
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
- 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.
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
IPEMToolbox: Contains the Matlab source code.
Manual: Contains the LaTeX source files to compile the manual.
- 2016.03.31 – IPEM Toolbox 1.03 – Matlab 6.0, 7.0, 8.0, and Octave – Windows and UNIX. Published on github and indluded information on using the toolbox on 64bit windows and matlab 8 thanks to Jane Lee.
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