{"slug": "parakeet-that-knows-what-a-makolet-is-an-english-hebrew-code-switching-fine-tune", "title": "Parakeet that knows what a makolet is: an English-Hebrew code-switching fine-tune", "summary": "A developer in Jerusalem released Parakeet-TDT-0.6B-v2-English-Hebrew-Codeswitching, a fine-tune of NVIDIA's parakeet-tdt-0.6b-v2 that transcribes Hebrew code-switched words in Latin letters, cutting code-switching word error rate from 9.9% to 4.8% on a held-out test set while leaving English accuracy essentially unchanged (LibriSpeech test-clean WER 1.2% to 1.1%). The model ships as .nemo, GGUF, ONNX and sherpa-onnx and runs offline on an Android phone, with training data and audio published publicly on Hugging Face.", "body_md": "I live in Jerusalem and speak English, so I talk like this all day:\n\n*\"I have to go to Bituach Leumi tomorrow.\"*\n\n*\"Can you grab some bamba from the makolet?\"*\n\n*\"We're doing Motzei Shabbat at my savta's.\"*\n\nThe sentences are English, but a few of the words are Hebrew, and nobody uses an English\n\nword in their place. This is **code-switching**, and speech recognition handles it badly.\n\nToday I'm releasing\n\n**[Parakeet-TDT-0.6B-v2-English-Hebrew-Codeswitching](https://huggingface.co/danielrosehill/Parakeet-TDT-0.6B-v2-English-Hebrew-Codeswitching)**,\n\na fine-tune of NVIDIA's `parakeet-tdt-0.6b-v2`\n\nthat writes those Hebrew words correctly, in Latin letters. It comes as `.nemo`, GGUF, ONNX\n\nand sherpa-onnx, and it runs offline on an Android phone.\n\n|  | Transcript | \n|---|---|\n| Stock Parakeet v2 | I want to go to the **Micollette** today to buy my groceries. | \n| **This fine-tune** | I want to go to the **makolet** today to buy my groceries. | \n\n*Makolet* (מכולת) is the Israeli corner grocery shop. Stock v2 has never heard the word, so\n\nit guesses an English-looking name.\n\nOn a held-out test set where **none of the Hebrew words appear in training**:\n\n|  | Stock v2 | This fine-tune (v2) | \n|---|---|---|\n| Code-switching WER | 9.9% | **4.8%** | \n| Hebrew words never seen in training, correct | 29% | **50%** | \n| Hebrew words seen in training, correct | 38% | **75%** | \n| Long-form dictation WER (~3 min files) | 7.8% | **4.5%** | \n| My plain English WER | 2.7% | 2.4% | \n| LibriSpeech test-clean WER | 1.2% | 1.1% | \n\nCode-switching errors halved, and English did not get worse.\n\nParakeet v2 is one of the most accurate English models small enough to run on a phone. NVIDIA\n\nalso released v3, which adds 25 European languages, but in my own dictation v2 was more\n\naccurate for English. Since most of what I say is English, I fine-tuned v2.\n\nv2's tokenizer has no Hebrew characters. Replacing the tokenizer would re-initialise the\n\ndecoder and need far more data than I have. So the model writes Hebrew words in **Latin letters, with one canonical spelling per word**: \n\nBefore training, I ran stock v2 over every code-switched recording I had: 1,154 occurrences\n\nof 615 Hebrew terms. It got **28%** of them right.\n\nThe 165 terms it always gets right are mostly names, well-known places, and words that are\n\nalready English: Shabbat, Pesach, Bamba. The 390 it never gets right are the everyday\n\nvocabulary of life in Israel: *Misrad Hapnim*, *Bituach Leumi*, *tzaharon*, *rofe mishpacha*, \n\nEarlier attempts used a desktop microphone. This time every new recording was made on the\n\nphone that runs the model (a OnePlus Nord 3), with its built-in microphone, in the rooms\n\nwhere I actually dictate.\n\nI built a small capture app in the style of Mozilla Common Voice: it shows a sentence, I\n\nread it, play it back, keep it or retake it, and move on. Takes are pushed in batches to a\n\npublic Hugging Face dataset. The sentences come from a bank of about 7,700 prompts, each\n\nbuilt around one or two Hebrew terms, and recording is weighted toward the words stock v2\n\ngets wrong.\n\nEverything is public, audio included:\n\n`Read-Aloud-Voice-Sentences`` English-Hebrew-Codeswitching-Sentences`\nThe code-switching literature is blunt about one risk: fine-tune only on mixed-language\n\nspeech and the model's English collapses. In one study, Whisper-small went from 3.4% to\n\n13.3% WER on LibriSpeech after fine-tuning on code-switched data alone\n\n([Liu et al. 2025](https://arxiv.org/abs/2509.24310)). Mixing monolingual data back in fixes\n\nmost of it. Even 10% replay of the original domain cuts forgetting sharply\n\n([Pekarek Rosin & Siegert 2023](https://arxiv.org/abs/2307.07280)).\n\nSo the training mix, by audio duration, is about:\n\n| Share | Data | \n|---|---|\n| ~70% | Code-switching takes | \n| ~20% | My own plain English, recorded on the same phone | \n| ~10% | LibriSpeech replay, with cased and punctuated LibriSpeech-PC transcripts | \n\nA version is only published if neither my own English nor LibriSpeech gets worse than stock\n\nv2. Neither has so far.\n\n|  | v1 | **v2 (current)** | \n|---|---|---|\n| Code-switching training audio | 77 min | 120 min | \n| Plus English | ~30% | 29 min own + 17 min LibriSpeech | \n| Training time | 19 min, one GPU | 23 min, one GPU | \n\nBoth versions and stock v2 are scored on the same test split, so the bars compare like with\n\nlike:\n\nWhat the extra 43 minutes did: words the model has recordings of improved from 67% to 75%,\n\nand phone dictation got slightly better. Words it has never heard stayed flat (52% vs 50%\n\nis a difference of 3 hits out of 113, which is noise). The real gain on unseen words came\n\nin v1. **The model learned how my Hebrew maps to the romanization, not only the training words**, and almost doubled its recall on words it had never heard.\n\nTraining is cheap: about twenty minutes on one GPU. The bottleneck is recording.\n\nMy own test set is drawn from my own dataset, so I also built a separate, frozen benchmark:\n\nthe [English-Hebrew Code-Switching ASR Benchmark](https://huggingface.co/datasets/danielrosehill/English-Hebrew-Codeswitching-ASR-Benchmark),\n\nwith a [runner](https://github.com/danielrosehill/English-Hebrew-Codeswitching-ASR-Benchmark)\n\nand a [leaderboard](https://huggingface.co/spaces/danielrosehill/English-Hebrew-Codeswitching-ASR-Leaderboard).\n\nIts headline metric is **term recall**: the share of Hebrew words written with the canonical\n\nspelling. A model can post a low WER and still mangle every Hebrew word.\n\nThe fine-tune gets 65.7% of Hebrew terms right, against 45.9% for Whisper Large V3 and 32.6%\n\nfor the stock Parakeet it started from, and it has the lowest WER of the group (4.2%). The\n\nbenchmark is early and has known issues; all of them are documented on the leaderboard.\n\n| You want to… | Get | Run it with | \n|---|---|---|\n| **Dictate on Android** | [GGUF Q8_0](https://huggingface.co/danielrosehill/Parakeet-TDT-0.6B-v2-English-Hebrew-Codeswitching-GGUF) (730 MB) | [Offline Voice Input](https://play.google.com/store/apps/details?id=dev.notune.transcribe) | \n| Android with ≤ 4 GB RAM | GGUF Q4_K_M (475 MB) | Offline Voice Input | \n| Dictate on a desktop | GGUF Q8_0 | [Handy](https://github.com/cjpais/Handy) | \n| sherpa-onnx apps (Voxtype and others) | [sherpa-onnx int8](https://huggingface.co/danielrosehill/Parakeet-TDT-0.6B-v2-English-Hebrew-Codeswitching-sherpa-onnx-int8) | sherpa-onnx | \n| Python on CPU | [ONNX](https://huggingface.co/danielrosehill/Parakeet-TDT-0.6B-v2-English-Hebrew-Codeswitching-ONNX) (int8 / fp32) | [onnx-asr](https://github.com/istupakov/onnx-asr) | \n| GPU, or fine-tune it further | [`.nemo`](https://huggingface.co/danielrosehill/Parakeet-TDT-0.6B-v2-English-Hebrew-Codeswitching) (2.47 GB) | NVIDIA NeMo | \n\nOn Android, [Offline Voice Input](https://play.google.com/store/apps/details?id=dev.notune.transcribe)\n\nis the one voice keyboard I found that loads arbitrary Parakeet weights. Import the Q8_0 file\n\nand set the app as the system voice input, or use a keyboard whose mic key opens it\n\n(SwiftKey, HeliBoard, FlorisBoard). On five held-out clips, Q8_0 matched the full-precision\n\nmodel word for word.\n\nOr just try it in the browser: the\n\n[demo Space](https://huggingface.co/spaces/danielrosehill/English-Hebrew-Codeswitching-Parakeet-Demo)\n\nruns stock v2 and the fine-tune side by side on your own audio.\n\nEverything is collected on the\n\n[project page](https://huggingface.co/spaces/danielrosehill/English-Hebrew-Codeswitching-Parakeet)\n\nand in the\n\n[Hugging Face collection](https://huggingface.co/collections/danielrosehill/parakeet-v2-english-hebrew-codeswitching-finetune-6ad26d79c70d28a49ed71c78).\n\nv3 is planned at 180 minutes of code-switching audio, with a comparison of 0%, 10%, 20% and\n\n30% English to find how little English the mix can get away with. The sentence bank keeps\n\ngrowing: place names, hospitals, Israeli brands and acronyms, and the vocabulary of the 2026\n\nelection.\n\n**If you speak English in Israel and want this to work for your voice too**, recordings from\n\nother speakers are the most useful contribution there is. Get in touch through\n\n[danielrosehill.com/contact](https://www.danielrosehill.com/contact). For professional\n\nwork or collaboration, reach me at [carrotcakeai.com](https://carrotcakeai.com).\n\nThe model, the data and the benchmark are all CC-BY-4.0, like the base model.", "url": "https://wpnews.pro/news/parakeet-that-knows-what-a-makolet-is-an-english-hebrew-code-switching-fine-tune", "canonical_source": "https://dev.to/danielrosehill/parakeet-that-knows-what-a-makolet-is-an-english-hebrew-code-switching-fine-tune-1p9d", "published_at": "2026-10-16 19:04:52+00:00", "updated_at": "2026-10-16 19:20:42.628851+00:00", "lang": "en", "topics": ["natural-language-processing", "large-language-models", "ai-tools", "machine-learning"], "entities": ["NVIDIA", "Parakeet-TDT-0.6B-v2", "Hugging Face", "OnePlus Nord 3", "Mozilla Common Voice", "LibriSpeech", "sherpa-onnx", "Parakeet-TDT-0.6B-v2-English-Hebrew-Codeswitching"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/parakeet-that-knows-what-a-makolet-is-an-english-hebrew-code-switching-fine-tune", "markdown": "https://wpnews.pro/news/parakeet-that-knows-what-a-makolet-is-an-english-hebrew-code-switching-fine-tune.md", "text": "https://wpnews.pro/news/parakeet-that-knows-what-a-makolet-is-an-english-hebrew-code-switching-fine-tune.txt", "jsonld": "https://wpnews.pro/news/parakeet-that-knows-what-a-makolet-is-an-english-hebrew-code-switching-fine-tune.jsonld"}}