Commit Graph
5 Commits
Author SHA1 Message Date
Sachin DesaiandAlex-Wengg 8d3ce44ae1 feat: Custom vocabulary support (#251)
### Why is this change needed?
Automatic speech recognition (ASR) systems are trained on massive
datasets of general speech, which means they excel at common vocabulary
but struggle with domain-specific terminology. In business
contexts—earnings calls, medical dictation, legal proceedings—the most
critical words are often the ones the model has rarely or never seen:
company names like "Saoirse Ronan," product names like "Newrez," or
technical jargon unique to an industry. Without intervention, these
high-value terms get transcribed as phonetically similar but incorrect
common words, turning "Nequi" into "NECI" or "Bose" into "Boz."

Keyword boosting (also called context biasing or vocabulary rescoring)
addresses this gap by incorporating domain knowledge at inference time.
The system is given a list of expected vocabulary terms and uses
acoustic evidence—typically CTC log-probabilities—to determine whether
the audio actually supports replacing a transcribed word with a
vocabulary term. This isn't blind substitution; a well-designed rescorer
computes scores for both the original transcription and the candidate
vocabulary term, only making replacements when the acoustic evidence
favors the domain term. The "context-biasing weight" parameter allows
tuning how aggressively to prefer vocabulary terms.

The real-world impact is substantial. In our earnings call benchmark,
vocabulary rescoring improved F-score from baseline to 92.2%, correctly
identifying 1,094 out of 1,271 domain-specific terms. Multi-word alias
support.

This PR builds on the work from
https://github.com/FluidInference/FluidAudio/pull/240

---------

Co-authored-by: Alex-Wengg <hanweng9@gmail.com>
2026-01-28 18:26:51 -05:00
Alex 892da4f9a9 Feat: Parakeet EOU streaming ASR with 160ms/320ms chunk support (#216)
- Add Parakeet EOU 120M streaming ASR with End-of-Utterance detection
- Support 160ms and 320ms chunk sizes with automatic HuggingFace model
downloads
- benchmarks.md 
- Add GitHub Actions CI benchmark workflow for Parakeet EOU



Changes
- StreamingEouAsrManager - streaming pipeline with configurable chunk
sizes
- NeMoMelSpectrogram - native Swift mel spectrogram with vDSP
vectorization
- RnntDecoder - RNN-T greedy decoder with EOU detection
- Configurable EOU debounce (default 1280ms)

---------
2025-12-17 17:18:01 -05:00
Brandon Weng 85aae5f092 Normalize WER based on Huggingface WER calculation (#84)
### Why is this change needed?
<!-- Explain the motivation for this change. What problem does it solve?
-->


https://github.com/huggingface/open_asr_leaderboard/blob/main/normalizer/normalizer.py#L528

We had some things missing so WER may have seen higher than it really
was.

(Accidentally pushed the first commit to main, thats why its revert ing
the revert :P)
2025-08-29 00:44:29 +00:00
Brandon Weng 186f3580aa Revert "Normalize WER better"
This reverts commit c89144cf41.
2025-08-28 20:23:27 -04:00
Brandon Weng c89144cf41 Normalize WER better 2025-08-28 20:22:58 -04:00