Python port of Lyon's model calculation from Auditory Toolbox. Original version of Auditory Toolbox is written in C and MATLAB by Malcolm Slaney.
- Modified
soscascade.c
,agc.c
andsosfilters.c
(removed MEX-related part). ctypes
wrapper forsoscascade()
,agc()
andsosfilters()
calls.- Translation from MATLAB to Python for files necessary for successfull call to
LyonPassiveEar()
.
If you plan to build manually and run tests, you'll need libcheck
installed.
On Ubuntu 18.10 run:
sudo apt-get install check
pip install lyon
Build a library and copy to installation location:
make -C c_src lib
cp c_src/liblyon.so lyon/
you can verify that library is properly built by running a test suite:
make -C c_src test
The following code computes cochleogram for a sample sound:
from lyon import LyonCalc
calc = LyonCalc()
waveform, sample_rate = load('audio/file/path.wav')
decimation_factor = 64
coch = calc.lyon_passive_ear(waveform, sample_rate, decimation_factor)
print(coch.shape)
The code above should output shape of resulting auditory nerve response: [<number of samples / decimation_factor>, 86]
.
See examples/lyon_examples.py
for examples on running other functions.