Spike-Timing-Based Computation in Sound Localization (Goodman and Brette 2010)

 Download zip file 
Help downloading and running models
Accession:126465
" ... In neuron models consisting of spectro-temporal filtering and spiking nonlinearity, we found that the binaural structure induced by spatialized sounds is mapped to synchrony patterns that depend on source location rather than on source signal. Location-specific synchrony patterns would then result in the activation of location-specific assemblies of postsynaptic neurons. We designed a spiking neuron model which exploited this principle to locate a variety of sound sources in a virtual acoustic environment using measured human head-related transfer functions. ..."
Reference:
1 . Goodman DF, Brette R (2010) Spike-timing-based computation in sound localization. PLoS Comput Biol 6:e1000993 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism:
Cell Type(s):
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: Brian; Python;
Model Concept(s): Coincidence Detection; Synchronization;
Implementer(s): Goodman, Dan F. M. ;
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.