Neurlang Whipstr STT (ASR)
A deep learning automatic speech recognition (ASR) system for transcribing speech audio into IPA text using transformer-based sequence-to-sequence models.
- Language: Universal (IPA), 74+ languages
- Model Github: neurlang/whipstr https://github.com/neurlang/whipstr
- Model Dataset: Common Voice 21
- Model-Native Sample Rates: 8000 Hz, 16000 Hz, 24000 Hz, 32000 Hz, 48000 Hz
- Degraded-Performance Sample Rates: 11025 Hz, 22050 Hz, 44100 Hz
- License: GPL v2
- Release: 2026-07-09
- Size: 642 MB
- Total parameters:
- Encoder: 7 237 024
- Transformer: 44 499 744
- Total: 51 736 768
- CER: 33.88% (66.12% success rate)
- Note: Averaged across all supported languages, works better on higher resource languages
- WER: 73.00% (27% success rate)
- Note: Averaged across all supported languages, works better on higher resource languages
- Training Details:
- Hardware: Nvidia Spark
- Batch size: 1
- Samples: 1185000
- Duration: 2:03:23:00
- Runs: Jul 7 07:43 - Jul 9 11:06 (shut down at Jul 9 12:55)
Inference code
git clone https://github.com/neurlang/whipstr.git
cd whipstr/
uv run --with torch --with transformers --with phase-spectrogram stt_infer_hf.py --audio /home/m/Downloads/LJ001-0001.wav --model neurlang/ipa-whipstr-medium-48khz-cv-21
Inference code (microphone)
uv run --with torch --with transformers --with phase-spectrogram --with sounddevice stt_mic_hf.py --model neurlang/ipa-whipstr-medium-48khz-cv-21
Output:
config.json: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 368/368 [00:00<00:00, 2.09MB/s]
model.safetensors: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 227M/227M [00:07<00:00, 29.4MB/s]
Loading weights: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 199/199 [00:00<00:00, 16263.01it/s]
model.json: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3.84k/3.84k [00:00<00:00, 12.3MB/s]
Transcription: ˈɪt gˈɪt sˈʌbkəldz dˈɑɹk fˈeɪz fˈæst ðə ɹˌɛpətˈɪʃən luːp nˈoʊ ˈiːvəz bɪˈheɪvjə ɹisˈɑlɪks lˈaɪk ðə mˈɑdəl hˈæd lˈɚnd bˈeɪsɪks ˈæktɪs....
Explanaition
| Generated IPA | Intended text | Assessment |
|---|---|---|
| ˈɪt | It | ✓ Perfect |
| gˈɪt | gets | Very close (/ɛ/→/ɪ/, final /s/ lost) |
| sˈʌbkəldz | you past / past the cold- | This is where it still collapses several words together. |
| dˈɑɹk | start | Still confuses start with dark. |
| fˈeɪz | phase | ✓ Excellent |
| fˈæst | fast | ✓ Perfect |
| ðə | The | ✓ |
| ɹˌɛpətˈɪʃən | repetition | ✓ Nearly perfect |
| luːp | loop | ✓ Perfect |
| nˈoʊ | no | ✓ |
| ˈiːvəz | EOS | Surprisingly close phonetically if the model has never seen "EOS" pronounced. |
| bɪˈheɪvjə | behavior | ✓ Excellent |
| ɹisˈɑlɪks | we saw looks | This is still garbled. |
| lˈaɪk ðə | like the | ✓ |
| mˈɑdəl | model | ✓ Perfect |
| hˈæd | hadn't | Lost the negation. |
| lˈɚnd | learned | ✓ |
| bˈeɪsɪks | basic | ✓ |
| ˈæktɪs | mechanics | Still quite far. |
End of training data:
Step 1185000 is chosen as this release
| Step | WER | CER |
|---|---|---|
| 986000 | 80.65% | 36.93% |
| 1148000 | 74.62% | 35.12% |
| 1185000 | 73.00% | 33.88% |
| 1202000 | 75.55% | 34.24% |
| 1218000 | 74.28% | 35.23% |
- Downloads last month
- 94