UMD Research Sandbox

Cochlear Emulator & Haptic Mapper

Real-time Greenwood filterbank, envelope extractor, sine/noise vocoder simulation, and declarative cross-modal mapping console.

Audio & Filterbank Settings

1. Audio Source

1.0x

2. Cochlear Configuration

150 Hz
8000 Hz
50 Hz

3. Vocoder Simulation

50%

Hoxel Mapping Console

Write real-time mapping scripts in Javascript to route cochlear envelope channels to tactile actuators. Evaluated at 60 FPS.

1
Console ready. Scripts will compile and apply automatically on input.

Tactile Actuator Telemetry

Cochlear Envelopes & Haptic Outputs 60 FPS

Understanding the Cochlear Emulator

1. Greenwood Cochlear Mapping

Greenwood's function describes the relationship between the frequency of an incoming sound and the position of the corresponding hair cells inside the human cochlea. The formula is:

F = A * (10^(a * x) - k)

For human ears, we use the values A = 165.4, a = 2.1, and k = 0.85, where x represents the position from apex (highest sensitivity to low frequencies, x = 0) to base (highest sensitivity to high frequencies, x = 1).

This emulator calculates $N$ bands spaced logarithmically along the cochlear partition using Greenwood's mapping, then creates a bank of filters to isolate the respective bands, simulating a multi-electrode cochlear implant array.

2. Cross-Modal Haptic Scripting

For Deaf and Hard-of-Hearing musicians, we map auditory filters to distinct haptic touch points. However, a static linear map is rarely sufficient to capture the dynamics of complex music.

The Hoxel Scripting Panel allows you to design custom mathematical translation rules. You can use time-varying functions (e.g. Math.sin(t * frequency)) or conditional logic (e.g. envelopes[i] > threshold) to trigger custom rhythms, clicks, sweeps, or motor accelerations dynamically.