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.py MIT; ungated model.safetensors plus two other training seeds
  • Runnable today: huggingface_hub download → 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.wav

import 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 ♡