THE AUDITORY MODELING TOOLBOX

The AMT consists of the main code, third-party toolboxes and binaries. The AMT has to be installed on the first run. On a computer with multiple users, the AMT needs to be installed by the administrator because it updates the list of search paths of the Matlab/Octave.

Download

The easiest and recommended method is to download the "AMT full package", which contains all the required toolboxes and pre-compiled binaries:

If you have the required toolboxes on your system or you prefer to install them by yourself, use the "AMT code-only package". This package contains all the code of the AMT, but the third-party toolboxes are not included (not even the LTFAT required to start the AMT). This package has a small size:

Previous releases of the AMT can be found on Sourceforge:

Installation

If on Octave:

  • Required: The package io is obligatory. If this package is not installed on your system, use in Octave: pkg install -forge io. To make it work on Linux, it might be required to execute in the bash: sudo apt install octave-iobefore starting Octave.
  • Optional: Some models use additional packages: control, signal, statistics, nan, optim. To install, use in Octave: pkg install -forge control signal statistics nan struct optim.
  • Optional: Some models use the SOFA Toolbox, which requires the package netcdf. To install, use in Octave: pkg install -forge netcdf. To make it work on Linux, an install of make and libnetcdf-dev by means of executing in the bash: sudo apt install make libnetcdf-dev might be required.
  • Optional: A few models require Python. Most recent Octave versions bring their own Python with them. To check if Python is available, use in Octave: system('python -V'). Further, Python packages numpy 1.x, scipy, and torch are required. To install them, use in Octave: system('python -m ensurepip --user --upgrade'), system('python -m pip install --user --upgrade pip');, and then system('python -m pip install numpy scipy torch').

If on Matlab:

  • Optional: Many models require a C Compiler (GCC). To check if GCC is available, use in Matlab system('gcc --version'). If not available, install the GCC by following the instructions from Mathworks or similar on the internet, e.g., here or here.
  • Optional: Many models require the Signal Processing Toolbox and the Statistics and Machine Learning Toolbox. Some models also require the Curve Fitting Toolbox and Deep Learning Toolbox. To install these toolboxes, follow the instructions from Mathworks.
  • Optional: A few models require Python. To check if Python is available, use in Matlab: system('python -V'). If not, install Python. If on Windows, add python.exe or python3.exe to the Windows search path. Further, Python packages numpy, scipy, and torch are required. To install them, use in Matlab: system('python -m ensurepip --upgrade') and then system('python -m pip install numpy scipy torch').

When done, continue with AMT installation and execute in Matlab/Octave:

amt_start('install');

This command will start the AMT, check if the toolboxes are available, and download and install them on the fly. Then, binaries will be compiled for your system, if an appropriate compiler is available. Note:

  • If warnings appear, some of the AMT functionality (depending on the type of the warning) won't be available.
  • The list of search paths of Matlab/Octave will be modified. Make sure that you have sufficient rights to modify the search paths of Matlab/Octave.

Working with the AMT

To start the AMT, execute:

amt_start;

This will load the third-party toolboxes, allocate the AMT’s correct directories, and configure the AMT to work. When correctly installed, this command does not modify your list of search paths of Matlab/Octave. This command will require the write access only if a missing third-party toolbox has been added to the third-party directory.

To stop working with the AMT, execute:

amt_stop;

This will release the AMT’s directories from the Matlab/Octave’s search path. This is especially useful when switching to other versions of the third-party toolboxes or to an other AMT version.

If you experience errors when calling models requiring binary files, re-compile the MEX files for your system:

amt_mex;

This might be useful when the precompiled MEX files are not incompatible with your particular system.

In Matlab, you first might need to configure the MEX compiler for your system:

mex -setup

This is not required in Octave, where a C compiler is usually installed.