Audi-1.00 - Cat auditory nerve model

0. Disclaimer

I have no talent to legalities. This package is a gesture, use at your own risk. Feel free to distribute the whole thing or parts thereof, if it is needed.

1. Background

This package contains a code that compiles into a GENESIS 2.0 library. The library provides a set of objects that implements a model of the cat's auditory nerves. The model itself is Laurel Carney's work, and is based on: Carney, L.H., J. Acoust. Soc. Am. 93:401-417 (1993) I made my best to faithfully implement her model with no changes.

2. Unpacking

The package is provided as a 'tar' archive, compressed with the gzip utility. To unpack:

  1. Create the directory that will host the library. Say, 'babel'.
  2. Copy the file Audi-1.0.tar.gz to that directory.
  3. Make 'babel' the working directory.
  4. Type 'gunzip Audi-1.0.tar.gz'
  5. Type 'tar xvf Audi-1.0.tar'

You should end up with two files, 'Makefile' and 'liblist', and two directories, 'auditory' and 'Demo'. The directory 'auditory' contains C code, i.e., another Makefile, and some .c, .h, and .g files. The directory 'Demo' includes some GENESIS scripts.

3. Compilation and Installation

The library is just a standard user-supplied library, based on GENESIS built-in mechanism for such libraries. It compiles with a single 'make' command, providing your computer is identical to mine. The only catch is that you need the numerical recipe library. Just to cover the slight chance that your computer is different, here are where you need to check the details:

     Check all the macros in the Makefiles. You may be using
     a Linux machine with X11R6, as I am, however your home 
     is likely to be different than mine, and so is the location 
     of the GENESIS package.

     The simplest way to get all these macro correct is to copy
     them from the main GENESIS makefile.

If everything goes ok, you should be able to type 'make' when 'babel' (or whatever you used to host the library) is the working directory, and end up with a working GENESIS simulator named 'anl'. Don't ask why. Just rename it if you don't like the name.

4. Objects

The library provides the following objects:

  1. 'sound'. It produces tones, clicks and white noise. Use the messages: SYM_TONE / SYM_NOISE / SYM_CLICK to switch among them. It has to be done via a 'call' to the 'sound' object, just setting the field will produce wrong results.
  2. 'delay'. It provides a delay that used to emulate the cochlear conduction delay.
  3. 'gtfilter'. Emulates a gamma-tone filter. About one zillion of parameters, check the code, and the original paper for details.
  4. 'ihcell'. An inner-hair-cell object. Provides the membrane low-pass filter, and plenty of non-linear feedbacks, habituation, etc. Check the code, and Carney's paper.
  5. 'anerve'. For a change, this is a simple threshold spiker.
  6. 'psth'. This is not part of carney's model. It is a utility object that was built to compute post-stimulus time-histogram, but ended up only computing number of spikes, and vector strengths.

5. Using the Demo Scripts

The demo provides a tiny demonstration that the code really emulate Carney's model. It creates a 'sound' object, some objects that collectively simulate the auditory filter and the inner hair cells, and a group of auditory fibers. Compare the results in the XODUS interface to the graphs shown in the original paper.

6. Good luck

have fun. Most likely, every single file contains some mistakes. Please be kind enough to report them to me. I will try to maintain the code when errors are discovered.

April 1996

Yehuda Albeck                   email:  albeck@music.md.huji.ac.il
Department of Physiology        phone:  (int) 972 2 675 7087
Hadassah Medical School         fax:    (int) 972 2 643 9736

The Hebrew University
P. O. Box 12272
Jerusalem, 91120
Israel

NOTE: The author is no longer reachable at this address.