CoolFace
Modelpublic

neurlang/ipa-whipstr-medium-48khz-cv-21

sourceHugging Facegpl-2.0updated 3mo agoView on Hugging Face
1likes11downloads
Model Card

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

bash
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)

bash
uv run --with torch --with transformers --with phase-spectrogram --with sounddevice stt_mic_hf.py --model neurlang/ipa-whipstr-medium-48khz-cv-21

Output:

bash
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 IPAIntended textAssessment
ˈɪtIt✓ Perfect
gˈɪtgetsVery close (/ɛ/→/ɪ/, final /s/ lost)
sˈʌbkəldzyou past / past the cold-This is where it still collapses several words together.
dˈɑɹkstartStill confuses start with dark.
fˈeɪzphase✓ Excellent
fˈæstfast✓ Perfect
ðəThe✓
ɹˌɛpətˈɪʃənrepetition✓ Nearly perfect
luːploop✓ Perfect
nˈoʊno✓
ˈiːvəzEOSSurprisingly close phonetically if the model has never seen "EOS" pronounced.
bɪˈheɪvjəbehavior✓ Excellent
ɹisˈɑlɪkswe saw looksThis is still garbled.
lˈaɪk ðəlike the✓
mˈɑdəlmodel✓ Perfect
hˈædhadn'tLost the negation.
lˈɚndlearned✓
bˈeɪsɪksbasic✓
ˈæktɪsmechanicsStill quite far.

End of training data:

Step 1185000 is chosen as this release

Step**WER****CER**
98600080.65%36.93%
114800074.62%35.12%
118500073.00%33.88%
120200075.55%34.24%
121800074.28%35.23%