This code implements the models from:
Goodman DFM, Brette R, 2010 Spike-Timing-Based Computation in Sound
Localization. PLoS Comput Biol 6(11): e1000993.
doi:10.1371/journal.pcbi.1000993
Code is not provided to generate all the data and the figures, but the three
basic models (approximate/ideal/allpairs) are shown.
Installation
------------
You will need to download and extract the IRCAM LISTEN database:
http://recherche.ircam.fr/equipes/salles/listen/
The files should be extracted to a folder something like:
F:\HRTF\IRCAM\IRC_1002
etc.
You will need to change the file shared.py to give the location of this database
(see below).
In addition, you will need a copy of Python 2.5, 2.6 or 2.7 and the packages
numpy, scipy, matplotlib. You will also need the Brian neural network simulator
package, version 1.3 or above:
http://www.briansimulator.org/
Guide to files
--------------
approximate_filtering_model.py
ideal_filtering_model.py
The approximate and ideal filtering models.
all_pairs_model.py
The learning model. The implementation of the model is included, but not
code for generating the learned ITD/ILD pairs: this code is mostly just
technical file management stuff, so it is not included for simplicity.
hrtf_analysis.py
Generate best gain/delay pairs for the approximate filtering model, and
find the normalisation factors for the ideal filtering model. Results are
saved so only need to be generated once.
models.py
The neural models used. Changing these equations and parameters can be used
to easily switch to different models. Only the leaky integrate-and-fire
model is given.
plot_count.py
A function for plotting the outputs of the approximate/ideal filtering
model, specialised for the IRCAM LISTEN database.
shared.py
Various imports and variables that are shared across all of the models.
You should change the ircam_locations variable in the get_ircam() function
to reflect the location where you have saved the IRCAM data.