Brian Hears: Online Auditory Processing Using Vectorization Over Channels - Fontaine, Bertrand; Goodman, Dan F. M.; Benichoux, Victor; Brette, Romain (Frontiers in Neuroinformatics, 2011)
The human cochlea includes about 3000 inner hair cells which filter sounds at frequencies between 20 Hz and 20 kHz. This massively parallel frequency analysis is reflected in models of auditory processing, which are often based on banks of filters. However, existing implementations do not exploit this parallelism. Here we propose algorithms to simulate these models by vectorising computation over frequency channels, which are implemented in “Brian Hears”, a library for the spiking neural network simulator package “Brian”. This approach allows us to use high-level programming languages such as Python, as the cost of interpretation becomes negligible. This makes it possible to define and simulate complex models in a simple way, while all previous implementations were model-specific. In addition, we show that these algorithms can be naturally parallelised using graphics processing units, yielding substantial speed improvements. We demonstrate these algorithms with several state-of-the-art cochlear models, and show that they compare favorably with existing, less ﬂexible, implementations.