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
------------ ----- -------------------
adaptation Adaptation loop output adaptationProc
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.