Views
No views yet
Model will be ungated for open download once I am done with the base..
audio -> log-mel(80) -> 4x conv subsample -> 8 FFT blocks
(RMSNorm + RoPE/QK-Norm + Conv-SwiGLU + DERF value-gate + HRM refine) -> CTC headasr_swa.pt is the EMA (exponential-moving-average) checkpoint from a multispeaker
run on LibriTTS-R + LJSpeech, trained with EMA self-distillation + SpecAugment consistency.
The EMA weights are an online weight-average (akin to SWA), which gave the best held-out accuracy.byrne_asr.py, asr_swa.pt, and data/:1from byrne_asr import ByrneASR
2
3asr = ByrneASR("asr_swa.pt", device="cpu")
4print(asr.transcribe("clip.wav")) # default: lexicon + bigram LM
5print(asr.transcribe("clip.wav", lm="ngram")) # + pure-Python 3-gram LM (data/lm3.arpa.gz)
6print(asr.transcribe("clip.wav", lm="greedy")) # raw CTC argmaxpython byrne_asr.py --wav clip.wav --device cpu --lm ngramlm="bigram" (default): 0.4·zipf(word) + 0.3·log10(1+count(prev,word)) − 4.0 (word penalty)lm="ngram": a pure-Python ARPA n-gram LM (data/lm3.arpa.gz, 3-gram with Kneser-Ney),
trained on a 5M-sentence English corpus (news 2018–2020 + Wikipedia + web). No compiled deps.lm="unigram": frequency only. lm="greedy": no LM.wordfreq top-120k words (data/lexicon_freq.tsv). Bigram counts: data/bigram.tsv.
The n-gram path falls back to bigram if data/lm3.arpa.gz is absent.