Before the Implant
крошечный causal-энхансер речи
Before the Implant — компактная строго causal модель очистки речи от bmarti44 (Brian Martin). Это waveform-энхансер в стиле Conv-TasNet (CausalTasNetEnh) на 602 510 параметров, 16 kHz mono, созданный для research-сценария кохлеарных имплантов: выделить нужный голос в комнате с толпой. Модель работает без заглядывания вперёд и заявлена с алгоритмической задержкой 5.88 ms.
🔍 Ключевые особенности
- ⚡ Строго causal архитектура, zero lookahead; причинность проверена suffix-invariance тестом.
- 💎 Всего 602 510 параметров, вход 16 kHz mono.
- 🕒 5.88 ms алгоритмической задержки без учёта вычислений.
- 🔍 Обучение: 24 000 шагов на смесях LibriSpeech train-clean-100 — целевой голос плюс толпа, speech-shaped шум или тишина, −5…+10 dB SNR.
- ⚠ В карточке есть erratum: default и seed19 выдают инвертированную волну, у весов есть DC offset; исправление кода пока не опубликовано.
💻 Пример
import sys, soundfile as sf
from huggingface_hub import snapshot_download
d = snapshot_download('bmarti44/before-the-implant-causal-enhancer')
sys.path.insert(0, d)
from enhance import load_model, enhance
model = load_model(d + '/model.safetensors')
audio, sr = sf.read('noisy.wav')
sf.write('enhanced.wav', enhance(audio, sr, model=model), sr)
Подробнее
Бенчмарк: Crowd ΔSI-SDR +3.51 dB, ΔSTOI +0.035; speech-shaped noise +6.45 dB; 13 из 14 проверок scorecard пройдены.Слабый случай: Crowd @ −5 dB даёт +1.19 dB при цели +1.5 dB.
⚠ Erratum: sign/DC offset затрагивают выход, но не метрики; веса не менялись, кандидатное исправление протестировано, но не опубликовано.
Ограничения: только синтетические смеси; живые слушатели и импланты не тестировались; другие языки, голоса и комнаты не проверены.








Комментарии