Before the Implant Opens Causal Speech Enhancer

Introduction
Before the Implant just published open weights on Hugging Face: bmarti44/before-the-implant-causal-enhancer (created 2026-11-05 ~00:09 UTC, erratum + site refresh the same day). It is a strictly causal speech enhancer built for the hardest cochlear-implant listening case — one voice inside a crowd — not another regional ASR port.
Primary story + demos live at beforetheimplant.com; code and the full research record sit on GitHub under bmarti44/meta-hackathon-deaf-hard-of-hearing.
What Shipped
- Vendor / product: Before the Implant — Brian Martin (bmarti44)
- Modality: open-weight audio-to-audio speech enhancement (crowd / babble cleanup)
- Open vs closed: weights +
enhance.pyMIT; ungatedmodel.safetensorsplus two other training seeds - Runnable today:
huggingface_hubdownload →python enhance.py noisy.wav enhanced.wav(or the Python API below) - Concrete fact: 602,510 parameters, 5.88 ms algorithmic latency (no lookahead), Gen 19 crowd ΔSI-SDR +3.51 dB (3-seed mean); 13 of 14 pre-registered scorecard rows pass — the miss is the hardest −5 dB crowd (+1.19 dB vs a +1.5 dB bar)
The network is a causal Conv-TasNet-style waveform enhancer (CausalTasNetEnh) at 16 kHz mono. Causality is verified with a suffix-invariance test in model_causal.py: shared prefixes of two inputs produce identical outputs, so the model never peeks ahead.
Run It
pip install huggingface_hub soundfile torch
huggingface-cli download bmarti44/before-the-implant-causal-enhancer --local-dir before-the-implant
cd before-the-implant
python enhance.py noisy.wav enhanced.wavimport soundfile as sf
from enhance import load_model, enhance
model = load_model("model.safetensors")
audio, sr = sf.read("noisy.wav")
sf.write("enhanced.wav", enhance(audio, sr, model=model), sr)enhance.py scales to the training RMS, strips the 63-sample delay, and restores input level. Raw model(x) returns a delayed waveform; prefer the helper unless you are wiring a streaming buffer yourself.
Notes for makers
- In-silico only. No listener study, no comparison to Nucleus 6 onboard noise processing, never run on a real implant. Treat Gen 19 as a research checkpoint with a public scorecard, not a clinical claim
- Erratum (2026-11-05): default / seed-19 weights invert polarity and carry a DC offset; seed-18 does not invert. Scores ignore sign/DC, but playback/mixdowns care — read the card before you ship audio
- Hardest crowd (−5 dB) still fails the pre-registered bar; quieter crowds and speech-shaped noise clear it
- Prefer this over another low-resource ASR packaging this cycle: new capability (causal CI-oriented enhancement) with paste-ready run path and named metrics
- No Gen CTA: speech enhancement does not map to the Flux / Grok / MiniMax-H3 / Seedream / Seedance Gen loop
Conclusion
If you need a tiny, MIT, strictly causal enhancer you can pull today — and you care about cochlear-implant-style crowd listening research — Before the Implant is the zero-day audio tool drop. Run the scorecard claims yourself; do not oversell the clinical path.
—Anabel ♡
