How to Reduce Whisper Hallucination
Organizations: Scicom (MSC) Berhad, Malaysia
Abstract
Whisper is still what runs in production: one permissively licensed checkpoint, 99 languages, no per-language tuning. But it writes sentences nobody said. On 42 clips of pure room tone, whisper-large-v3 emits words on 61.9% of them and emits something on 100%. The usual response is to distil a student from Whisper pseudo-labels, filtering the hallucinations out of the corpus first, which deletes the evidence while leaving the behaviour in place: the student is fitted to the subset where the teacher was right, and inherits a failure mode absent from its own training data. The second response, adding non-speech audio so the model learns to stay quiet, already ships and works, but teaches suppression without discrimination. The checkpoint best on every non-speech arm here is also the one that recovers the fewest genuinely spoken phrases and deletes 58% of repeated speech. The teacher has to be fixed, with both halves of the signal. Our benchmark scores both at once: 11,852 clips over eight arms, 6,267 synthetic positives, 8,296 clips of real audio that made a production model fail, and FLEURS in 58 languages. We collect 40,891 hallucination phrases in 100 languages, choose a text-to-speech system by measurement, and synthesise those phrases as positives, so the model meets the same text both as something to suppress and as something to transcribe. Across 33 matched pairs of fine-tunes differing only by those positives, adding them lowers word emission on real voice-free audio in 31 pairs and raises phrase recovery in 32; among the 30 pairs that hold English accuracy it is 30 out of 30. The best checkpoint takes hallucination on silence from 61.9% to 2.4% and words over real voice-free audio from 99.9% to 47.8%, while raising phrase recovery from 69.8% to 82.7%. The benchmark, lexicon and synthetic corpus are released at https://huggingface.co/datasets/Scicom-intl/Whisper-Hallucination
Figures & tables
| LABEL | IDENTIFIER | WHAT IT IS | |
|---|---|---|---|
| large-v2 | openai/ | whisper-large-v2 | base, 1.55 B |
| large-v3 | openai/ | whisper-large-v3 | base, 1.55 B |
| turbo | openai/ | whisper-large-v3-turbo | base, 4 layers |
| malaysian-v2 | mesolitica/ | malaysian-whisper-large-v2 | Malay tune |
| malaysian-turbo-v3 | mesolitica/ | Malaysian-whisper-large-v3-turbo-v3 | Malay tune |
| ARM | N | LARGE-V2 | LARGE-V3 | TURBO | MALAYSIAN -V2 | MALAYSIAN -TURBO-V3 |
|---|---|---|---|---|---|---|
| silence | 42 | 85.7% | 61.9% | 59.5% | 35.7% | 16.7% |
| music | 600 | 98.7% | 97.0% | 96.7% | 69.7% | 31.0% |
| nonspeech | 1,168 | 98.8% | 89.9% | 80.7% | 76.0% | 9.3% |
| silence any output | 42 | 100% | 100% | 100% | 64.3% | 16.7% |
| music any output | 600 | 100% | 100% | 100% | 73.0% | 31.7% |
| nonspeech any output | 1,168 | 100% | 100% | 100% | 77.8% | 9.4% |
| ARM | SOURCE | CLIPS | CORRECT OUTPUT |
|---|---|---|---|
| silence | 6 noise floors 7 durations | 42 | nothing |
| music | Free Music Archive ( Defferrard et al., 2017 ) | 600 | nothing |
| nonspeech | FSD50K ( Fonseca et al., 2020 ) , label-verified voice-free | 1,168 | nothing |
| reduplication | a unit repeated an exact number of times | 1,440 | that many repeats |
| speech_in_noise | genuine speech mixed at 5 SNRs | 1,200 | the transcript |
| genuine | real Malaysian speech | 4,694 | the transcript |
| CORPUS | CHARACTER | KEPT | RATE |
|---|---|---|---|
| AudioSet ( Gemmeke et al., 2017 ) | YouTube, heavy background noise | 4,376 | 54.70% |
| AMI ( Carletta et al., 2005 ) | spontaneous meetings, far-field | 235 | 2.94% |
| GigaSpeech ( Chen et al., 2021a ) | podcasts and YouTube, speech-aligned | 33 | 0.41% |
| Earnings-22 ( Rio et al., 2022 ) | conference calls | 31 | 0.39% |
| People’s Speech dirty ( Galvez et al., 2021 ) | noisy transcripts, clean audio | 9 | 0.11% |
| VoxPopuli ( Wang et al., 2021 ) | parliament | 4 | 0.05% |
| ARM | N | LARGE-V2 | LARGE-V3 | TURBO | MALAYSIAN -V2 | MALAYSIAN -TURBO-V3 |
|---|---|---|---|---|---|---|
| librispeech WER | 2,620 | 4.5% | 3.5% | 3.5% | 3.5% | 10.6% |
| genuine WER | 4,694 | 35.4% | 31.8% | 31.8% | 42.3% | 60.7% |
| speech_in_noise WER | 1,200 | 41.6% | 34.5% | 36.1% | 51.1% | 58.7% |
| fleurs CER, typical language | 58 langs | 0.097 | 0.075 | 0.078 | 1.051 | 1.259 |
| fleurs CER, macro mean | 1,160 | 0.422 | 0.305 | 0.511 | 1.781 | 1.681 |
| MODEL | RECOVERED, BARE TONE | MEDIAN CER | MEAN CER | |
|---|---|---|---|---|
| whisper-large-v2 | 63.6% to 63.4% | 0.125 | 0.378 to 0.384 | 0.6% to 0.7% |
| whisper-large-v3 | 69.8% to 68.5% | 0.089 | 0.288 to 0.302 | 0.2% to 0.4% |
| whisper-large-v3-turbo | 68.0% to 67.0% | 0.087 | 0.348 to 0.382 | 0.7% to 0.9% |
| malaysian-whisper-v2 | 31.3% to 29.6% | 0.800 | 0.770 to 1.151 | 2.6% to 3.7% |
| Malaysian-turbo-v3 | 41.1% to 35.4% | 0.385 | 1.508 to 3.749 | 3.0% to 5.7% |
| SOURCE | WHAT IT IS | PHRASES | LICENCE |
|---|---|---|---|
| AGH DSP full tally ( Barański et al., 2025 ) | Whisper output over non-speech audio | 30,407 | MIT |
| AGH DSP “Bag of Hallucinations” ( Barański et al., 2025 ) | the curated subset of the above | 294 | MIT |
| whisper-hallucinations ( Arbonel, 2024 ) | community-collected, multilingual | 7,889 | MIT |
| NVIDIA NeMo SDP, Granary ( Koluguri et al., 2025 ) | the pipeline’s own filter lists, 23 languages | 3,028 | Apache-2.0 |
| MEAN CER | MEDIAN | WINS | LANGUAGES | VOICES | |
|---|---|---|---|---|---|
| Scicom Multilingual-Expressive-TTS-1.7B | 0.221 | 0.000 | 16 | untagged | 45 named |
| OmniVoice (auto) | 0.349 | 0.018 | 2 | 646 | 1 per language |
| OmniVoice (voice design) | 0.589 | 0.062 | 3 | 646 | 48 tags |
| ToucanTTS | 0.830 | 0.586 | 0 | 7,233 | sampled from a GAN |
| Higgs Audio v2 | 1.089 | 0.713 | 0 | untagged | cloning |
| Higgs Audio v3 | 1.230 | 0.483 | 1 | 82/100 | cloning |
| ROUTE | YIELD MK / GU / IT | MEDIAN CER | DIFFERENT-VOICE COSINE |
|---|---|---|---|
| Scicom Multilingual-Expressive, speaker name | 86% / 80% / 79% | 0.07 / 0.17 / 0.00 | 0.65 / 0.64 / 0.58 |
| OmniVoice, reference cloning | 46% / 68% / 53% | 0.32 / 0.25 / 0.26 | 0.68 / 0.72 / 0.69 |
| auto mode, for reference | 89% / 73% / 83% | 0.02 / 0.11 / 0.00 | 0.91 / 0.81 / 0.77 |
| CONDITIONING | CER | CER | TARGET | DURATION | |
|---|---|---|---|---|---|
| speaker name | 0.308 | 0.035 | n/a | 1.03 | 2.7% |
| reference clip, zero shot | 1.740 | 1.397 | 0.861 | 3.27 | 67.9% |
| Higgs v3, for comparison | 0.653 | 0.311 | 0.813 | 0.90 | 2.7% |
| SOURCE | CLIPS | HOURS | TARGET | TEACHES |
|---|---|---|---|---|
| corpus nonspeech (FSD50K dev) | 16,983 | 33.3 | empty | noise means say nothing |
| corpus music (FMA shards 2-12) | 7,170 | 58.3 | empty | music means say nothing |
| corpus Malay speech, Emilia ( He et al., 2024 ) | 5,801 | 14.8 | transcript | keep accuracy |
| corpus reduplication | 2,514 | 4.0 | exact repeats | do not run away |
| corpus silence | 59 | 0.7 | empty | room tone means say nothing |
| lexicon_synth train | 22,845 | 12.5 | the phrase | the phrase is real, transcribe it |
| MIX | CLIPS | BLANK SHARE | CONTAINS lexicon_synth |
|---|---|---|---|
| no_synth | 36,183 | 77% | no |
| all | 59,028 | 47% | yes, 22,845 clips |
| SETTING | VALUE |
|---|---|
| optimiser | AdamW, fused |
| , , | 0.9, 0.999, |
| weight decay | 0.0 |
| schedule | linear decay, 50 warmup steps |
| gradient clipping | 1.0 |
| precision | bf16 |
| FAMILY | MODULES | |||||
|---|---|---|---|---|---|---|
| attention only | q_proj, k_proj, v_proj, out_proj | 7.9 M | 15.7 M | 31.5 M | 62.9 M | 125.8 M |
| 0.51% | 1.01% | 2.00% | 3.92% | 7.54% | ||
| attention + MLP | the four above, plus fc1, fc2 | 14.4 M | 28.8 M | 57.7 M | 115.3 M | 230.7 M |
| 0.93% | 1.83% | 3.60% | 6.95% | 13.00% |
| METHOD | RANKS ( ) | LEARNING RATES |
|---|---|---|
| LoRA, attention only | 8, 16, 32, 64, 128 | 1e-4, 2e-4, 5e-4 |
| LoRA, attention + MLP | 8, 16, 32, 64, 128 | 1e-4, 2e-4, 5e-4 |
| full fine-tune | all 1,574.9 M parameters | 5e-6, 1e-5, 2e-5 |
| CONFIG | MIX | WILD WORDS | WILD LOOP | RECOVERED | LS WER | FLEURS CER |
|---|---|---|---|---|---|---|
| base large-v3 | none | 0.999 | 0.008 | 0.698 | 0.035 | 0.305 |
| LoRA r8 attn+mlp, 1e-4 | no_synth | 0.961 | 0.012 | 0.594 | 0.035 | 0.633 |
| all | 0.745 | 0.013 | 0.716 | 0.036 | 0.541 | |
| LoRA r8 attn+mlp, 2e-4 | no_synth | 0.969 | 0.011 | 0.587 | 0.034 | 0.603 |
| all | 0.758 | 0.013 | 0.762 | 0.035 | 0.507 | |
| LoRA r8 attn+mlp, 5e-4 | no_synth | 0.968 | 0.008 | 0.595 | 0.035 | 0.530 |
Automatic Speech Recognition
Automatic speech recognition converts spoken language into text across speakers, languages, domains, and recording conditions.
See all 480 papers