# Getting started¶

The Auditory front-end was developed entirely using Matlab version 8.3.0.532 (R2014a). It was tested for backward compatibility down to Matlab version 8.0.0.783 (R2012b). The source code, test and demo scripts are all available from the public repository at https://github.com/TWOEARS/auditory-front-end.

All files are divided in three folders, /doc, /src and /test containing respectively the documentation of the framework, the source code, and various test scripts. Once Matlab opened, the source code (and if needed the other folders) should be added to the Matlab path. This can be done by executing the script startAuditoryFrontEnd in the main folder:

>> startAuditoryFrontEnd


As will be seen in the following subsection, the framework is request-based: the user places one or more requests, and then informs the framework that it should perform the processing. Each request corresponds to a given auditory representation, which is associated with a short nametag. The command requestList can be used to get a summary of all supported auditory representations:

>> requestList

Request name       Label                            Processor
------------       -----                            -------------------
amsFeatures       Amplitude modulation spectrogram  modulationProc
autocorrelation   Autocorrelation computation       autocorrelationProc
crosscorrelation  Crosscorrelation computation      crosscorrelationProc
filterbank        DRNL output                       drnlProc
filterbank        Gammatone filterbank output       gammatoneProc
gabor             Gabor features extraction         gaborProc
ic                Inter-aural coherence             icProc
ild               Inter-aural level difference      ildProc
innerhaircell     Inner hair-cell envelope          ihcProc
itd               Inter-aural time difference       itdProc
moc               Medial Olivo-Cochlear feedback    mocProc
myNewRequest      A description of my new request   templateProc
offsetMap         Offset map                        offsetMapProc
offsetStrength    Offset strength                   offsetProc
onsetMap          Onset map                         onsetMapProc
onsetStrength     Onset strength                    onsetProc
pitch             Pitch estimation                  pitchProc
precedence        Precedence effect                 precedenceProc
ratemap           Ratemap extraction                ratemapProc
spectralFeatures  Spectral features                 spectralFeaturesProc
time              Time domain signal                preProc


A detailed description of the individual processors used to obtain these auditory representations will be given in Available processors.

The implementation of the Auditory front-end is object-oriented, and two objects are needed to extract any representation:

• A data object, in which the input signal, the requested representation, and also the dependent representations that were computed in the process are all stored.
• A manager object which takes care of creating the necessary processors as well as managing the processing.

In the following sections, examples of increasing complexity are given to demonstrate how to create these two objects, and which functionalities they offer.