Tag Archives: Auditory models

Compiling Audition Library in Mac OS 10.5

The Audition library implements a model of the audio filtering in the ear. This is necessary for the simulation and computation of more complex models like the auditory roughness. It is originally distributed as a dynamic library for windows systems, but also comes with the source code. The files can be downloaded from http://lumiere.ens.fr/Audition/tools/realtime

or my version for Mac OS from here:

Audition

Audition depends on Flext, a C++ library that allows to compile the same code for different systems (Pd and Max). It also allows the use of pthreads for multi-threading programs. For the purposes of this work, Flext source code was downloaded from the SVN repository via checkout:

svn co https://pure-data.svn.sourceforge.net/svnroot/pure-data/trunk/externals/grill/flext/ flext

Also from the same place, I downloaded xsample, a library that uses flext, to test the installation.

The instructions in the ‘build.txt’ files are clear and enough to compile the system. Caveat: in some of the files you are supposed to edit, there are English mistakes that change completely the meaning of the instruction: it says for example, uncomment the following line to inhibit this behavior. In fact it should be left commented to achieve the said purpose.

Once Flext is installed, I compile xsample, easily. Again, for the compilation, I use the same script provided with the source code, something like:

bash {path to Flext sourcecode files}/build.sh pd gcc

The details are explained in the file ‘build.txt.’

I tried to use XCode but it was impossible in a reasonable amount of time to compile it.

To compile the Audition library, I used the same procedure but additionally did the next things:

  • I created the file ‘package.txt.’ This file configures the installation.
  • Change all the lines like this:
    • FLEXT_LIB(“help, carg_mm cangle_mm”, cangle_mm)
  • For something like this:
    • FLEXT_LIB(“cangle_mm, carg_mm, help”, cangle_mm)
  • Create bindings to the help patches in the constructor of the function by including the     DefineHelp(“class_name”) declaration.