Skip to main content
ZombieMutex

30 results · ↑ ↓ navigate · Enter open · Esc close

Speech & audio ML engineering

Project 01 / 05 · Speech recognition

Implemented and tested

Speech-to-Text Robustness & ASR Evaluation

I built a transcript-evaluation pipeline that aligns hypotheses to reference speech, separates substitution/deletion/insertion errors and reports corpus-weighted WER across noise, telephony and code-switching slices.

A single WER number can hide where recognition breaks. A caller reading an account number through a narrowband phone connection has a different failure profile from a quiet-room dictation sample.

What I implemented

  • Implemented Unicode-normalized word and character error rates with dynamic-programming edit alignment.
  • Built slice-aware corpus aggregation with separate error counts for clean, noisy, telephony and code-switching examples.
  • Built a JSONL evaluation CLI and deterministic test fixtures, so an actual recognizer adapter can be compared without changing the scoring contract.

Data and execution path

  1. 01

    Reference transcript + model hypothesis

  2. 02

    Unicode-aware normalization and tokenization

  3. 03

    Dynamic-programming sequence alignment

  4. 04

    Substitution / insertion / deletion counts

  5. 05

    Corpus-weighted WER / CER and condition breakdown

  6. 06

    Regression report keyed to model and dataset version

Experiment and results

The included four-pair illustrative corpus scores 4 word errors across 27 reference words (WER 14.8%). Those hypotheses are authored fixtures, not output from a trained recognizer. The scoring algorithm is implemented and unit tested; plugging in an ASR model is a separate integration.

These results are from the specified local dataset or offline rendering pipeline. I keep them separate from real speech-corpus and live-call metrics because the populations and failure modes differ.

System-level constraints

  • Versioned decoder outputs and restricted transcripts are essential to comparing ASR runs without changing the evaluation target.
  • WER and CER do not measure entity or task correctness. I treat an incorrect account digit as a separate operational failure.
  • Robustness claims depend on representative channels, languages, code-switching, accents and human-reviewed ground truth, not illustrative text fixtures.
  • Self-supervised or weakly supervised ASR results are only comparable on held-out, versioned evaluation data.

What the measurements establish

This implementation evaluates transcripts; it does not train, fine-tune or serve an ASR model. Actual accent, noise, code-switching and language performance require representative labeled recordings and speaker-separated test sets.

A model can understand the sentence and still get the account number wrong. The database tends to care about the number.