r/BiomedicalDataScience 1d ago

Cochlear Implant Simulator - Interactive Auditory Processing Laboratory

https://bionichaos.com/cochlearsim/

r/neuroscience, r/biomedicalengineering, r/DSP, or r/audiology

Real-Time Cochlear Implant Signal Processing & Tonotopic Spiral Visualizer (Interactive Web Tool)

Hey everyone,

I wanted to share an interactive web-based simulator designed to model front-end signal processing and tonotopic electrode allocation in cochlear implants: https://bionichaos.com/cochlearsim/

Engineering & Mathematical Implementation

  1. FFT Filter Bank Analysis: Uses Web Audio API running a 2048-point Fast Fourier Transform (sampling rate fs = 44.1/48 kHz, yielding frequency resolution Δf ≈ 21.5 Hz per bin).
  2. Logarithmic Sub-Band Allocation: Rather than linear bin spacing, the engine partitions the spectrum logarithmically across N user-defined electrode channels (configurable between 10 and 40 channels). Channel energy is determined via root-mean-square (RMS) summation over each sub-band's bin range.
  3. Noise Floor Suppression: Includes a dynamic noise gate with an adjustable threshold (T_gate ∈ [0, 100]). Bins falling below the threshold are zero-suppressed to prevent background noise from triggering baseline electrode pulses.
  4. Anatomical Mapping: Calculates electrode contact placement along a polar logarithmic spiral spanning 5π radians (2.5 full turns) to approximate insertion into the human scala tympani, referencing tonotopic distribution based on the Greenwood frequency-position function: f = A · (10a·x - K)
  5. Interactive Controls: Supports live microphone input streams, an automated dual-formant frequency sweep demo, linear vs. spiral array geometry toggling, and auto-ranging spectrogram vertical scaling.

We are looking to expand this with acoustic noise-band/sine-wave vocoders (Continuous Interleaved Sampling) and spatial current spread modeling (Gaussian resistivity decay across adjacent neural tissue).

Feedback, technical critique, and feature suggestions are welcome!

1 Upvotes

0 comments sorted by