Voice AI in Hebrew is harder than English - and here's what actually works
Voice AI בעברית קשה יותר מאנגלית - והנה מה שבאמת עובד
If you've tried to run a voice interface in Hebrew, you already know: the demos on TED-talk stages don't reflect what happens when you put a microphone in front of an Israeli clinician in a noisy hospital corridor. Hebrew's grammatical structure, its extensive code-switching with English, domain-specific clinical and operational vocabularies, and the accent range across Israeli dialects all conspire to break the consumer voice stack the moment it leaves the demo floor. Here's the production stack we actually ship - with the specific places it breaks and what costs more than anyone expects.
The fundamental problem: Hebrew is a minority language in a majority-English training pipeline
OpenAI Whisper was trained on something like 680,000 hours of audio. Hebrew represents a single-digit percentage of that. For consumer speech - podcasts, interviews, clean-room studio recordings - Whisper in Hebrew is acceptable. For production voice agents running in clinical, logistics, or call-center environments, acceptable is not good enough. You need fine-tuning, domain vocabulary, and often a different model for different stages of the pipeline.
The rule-of-thumb we use: whatever your English voice system costs, triple it for Hebrew production, and add another 40% if you need to handle bilingual code-switching.
Stage 1 - ASR: start with Whisper, fine-tune for your domain
OpenAI Whisper (and its Whisper-Turbo successor) is a reasonable Hebrew ASR baseline. It's not good on Hebrew out of the box - it's just the best general-purpose starting point. Where it degrades sharply:
- Clinical vocabulary. Drug names, anatomical terms, procedure codes, medication doses. Hebrew transliterations of English drug names have multiple spelling conventions (פנטניל / פנטאניל / fentanyl - same drug, three strings). Generic Whisper will pick one at random.
- Fast, colloquial speech. Israeli Hebrew is spoken fast, with syllable elision and heavy consonant clusters. Consumer ASR was trained on cleaner academic register.
- Background noise. Hospital corridors, warehouses, dispatch rooms, call centers. Consumer ASR expects a 3-foot distance to a clean mic. Your production environment does not provide that.
- Accents. Russian-Hebrew, Arabic-Hebrew, English-accented Hebrew, Mizrahi vs. Ashkenazi vowel quality. The accent range across Israel is substantial and Whisper's distribution-mean accent is none of them.
What works: fine-tune Whisper on customer-specific audio. We collect 10–50 hours of in-domain audio (clinical consultations, dispatch calls, call-center recordings), transcribe carefully, and fine-tune. Word error rate drops from ~25-35% on generic Whisper to 8-12% on our fine-tuned checkpoint for the specific customer. That delta is the difference between a voice agent that works and a voice agent that embarrasses.
Stage 2 - Hebrew NLP: use Dicta, not multilingual models pretending
Once you have a Hebrew transcript, everything downstream (entity extraction, summarization, intent classification, translation) was probably trained on a multilingual model where Hebrew was ~1% of the training data. You can feel this in production: entity recognition misses common Hebrew names; summarization defaults to Modern Standard Arabic-inflected phrasing; intent classification collapses semantic distinctions that matter clinically.
The Dicta research group at Bar-Ilan University has released Hebrew-specific language models - DictaLM, DictaBERT, and specialized models for historical Hebrew and modern Israeli text. For anything post-transcription, Dicta often outperforms a multilingual model at a fraction of the compute cost. We route Hebrew text through Dicta for entity extraction and classification; we use Bedrock's Claude Sonnet (or a bilingually-tuned variant) for summarization and generation.
Concrete example from a hospital deployment: named-entity recognition on Hebrew clinical notes. Generic multilingual XLM-RoBERTa: F1 of 0.68. Fine-tuned DictaBERT on our clinical corpus: F1 of 0.91. Same text. Same task. Different world.
Stage 3 - Code-switching is the hardest part
Israelis switch between Hebrew and English mid-sentence, often mid-clause, often mid-word. Clinical examples from our corpus:
"הפציינט עם ה-acute pancreatitis קיבל IV morphine, ונשלח ל-CT."
"הייתה לה tachycardia, פה 110, BP 90 על 60, ניתנה bolus ו-follow-up ב-ICU."
Half Hebrew, half English, completely normal Israeli clinical speech. The ASR has to transcribe both scripts correctly; the downstream NLP has to understand both and produce a coherent representation.
What works: we built a two-pass system that runs Whisper in Hebrew mode and Whisper in English mode on the same audio, then uses a classifier trained on code-switched corpora to decide which parts of the output to take from which pass. It's not elegant, but it beats any single-pass approach by 15+ percentage points on code-switched clinical audio. Downstream, Claude Sonnet handles the mixed-script text naturally - one of the few cases where a large multilingual LLM outperforms a Hebrew-specialized model, because code-switching is exactly the edge case multilingual models were trained on.
Stage 4 - Domain vocabulary will consume your budget
"פנטניל" vs "פנטאניל" vs "fentanyl" - same drug, three spellings. Multiply this by every drug, every medical condition, every instrument, every abbreviation. For Atlantic Logistics, the equivalent was shipping-document terminology: "POD" vs "proof of delivery" vs "דו״ח מסירה"; carrier names; SCAC codes; port codes.
What works: we build a customer-specific domain dictionary - typically 2,000–8,000 terms depending on vertical - with all acceptable spelling variants tagged. This dictionary feeds three systems: (1) a custom-trained Whisper fine-tune that preserves canonical spellings, (2) a post-ASR normalization step that maps variants to a canonical form, and (3) a Claude system prompt that includes the dictionary inline as context. This is unglamorous work and it's the work that makes the difference between a 20% WER voice agent and a 5% WER one.
Budget rule: plan 3–4 weeks of domain-vocabulary curation for any clinical or logistics voice deployment. It's always more than anyone estimates on day one.
Stage 5 - TTS is where brand is either made or lost
For Hebrew text-to-speech we default to Amazon Polly - it's available, it's acceptable, and it integrates with the rest of the AWS stack. When brand voice matters, we use OpenVoice or a similar brand-tunable system to generate a distinctive voice that matches the customer's identity. The difference is immediately audible. Generic Polly sounds like every corporate IVR you've ever hated; a tuned OpenVoice clone can sound warm, measured, and specific.
Two production notes: (1) synthesize early-morning and late-night variants if your agent runs 24/7 - the right softness at 3 AM is different from the right crispness at 9 AM; (2) test on the actual speaker hardware your users will hear the agent on. A Polly voice that sounds clean in studio often sounds thin on a call-center handset or an IoT speaker.
Stage 6 - Real-time latency: WebRTC, SFU, and careful buffer management
A voice agent is judged by perceived response time. >800 ms between utterance end and system response starts to feel slow; >1500 ms feels broken. That's a very tight budget to fit: ASR, NLP, LLM call, TTS, and network round-trip.
The production stack we run: WebRTC for the media channel; an SFU to handle multi-party and recording needs; sub-second ASR via a streaming Whisper instance; a hot Claude Sonnet connection on Bedrock (we pre-warm); streaming TTS that starts emitting audio as soon as the first sentence is ready. Measured end-to-end latency p50 on MAIA's clinical voice deployments runs 620–740 ms. P99 runs around 1.1 seconds. Anything higher and the clinicians disengage.
Stage 7 - SIP/PBX integration is where most voice projects die
The AI is the easy part. The hard part is integrating the voice agent into the customer's existing telephony stack: an on-prem PBX, a SIP trunk, a multi-region call center with regulatory recording requirements, and a dozen call flows with "warm transfer" and "context-preserving handoff" semantics.
We've shipped this at Atlantic Logistics (dispatcher voice agent integrated over SIP into the existing TMS phone tree) and at MAIA (bilingual clinical voice agent embedded inside hospital telephony). In both cases, the AI work took ~6 weeks and the telephony integration took another ~8–12 weeks. If your Voice AI project plan doesn't have at least 2 months for SIP/PBX integration work, the plan is wrong.
Watch for: the customer's PBX vendor may need to open a support ticket to enable SIP features; some carriers charge per-channel for media; recording retention policies vary by region; and context-preserving transfer (passing agent state to a human operator) is rarely a one-API-call operation - it's usually a bespoke integration.
What it costs, honestly
A production bilingual Hebrew-English voice deployment, for a mid-market enterprise or a government agency, lands in the following range:
- 6–10 weeks for a first voice-agent workflow, assuming the integration target (PBX/SIP, TMS, EMR) is accessible and the compliance posture is defined.
- 3–4 weeks of domain-vocabulary curation and fine-tuning.
- 8–12 weeks of telephony integration, in parallel with the AI build.
- Ongoing: monitoring, retraining (typically quarterly), prompt evolution, and voice-of-customer feedback loops.
You can go faster with fewer compliance constraints and a cleaner integration target. You cannot usually go faster than 6 weeks and still ship something that will survive Monday morning.
When not to build voice AI
If your use case can tolerate a text interface and your users can type, use text. Voice adds latency, cost, integration complexity, and accent-and-noise robustness requirements that text does not. We've talked several prospects out of voice projects because the underlying workflow was better served by a chat assistant. The voice ROI is strong when: the user can't type (clinician with gloves, dispatcher on the phone), voice is the cultural default (call centers, hospital intake), or the interaction is multi-party and conversational (meeting transcription, field-service triage).
If you're shipping a bilingual voice product in Israel - or an English voice product that will also need to handle Hebrew speakers - let's talk. We'll bring the architecture diagram and the specific places we've seen the stack fail, not a deck.
אם ניסיתם להפעיל ממשק קולי בעברית, אתם כבר יודעים: הדמואים על במות TED לא משקפים את מה שקורה כשמניחים מיקרופון מול קלינאי ישראלי בקורידור רועש של בית חולים. המבנה הדקדוקי של העברית, ה־Code-Switching הנרחב עם אנגלית, אוצרות מילים קליניים ותפעוליים, וטווח המבטאים של דיאלקטים ישראליים - כולם שוברים את ה־Stack הקולי הצרכני ברגע שהוא עוזב את רצפת הדמו. הנה ה־Stack בפרודקשן שאנחנו באמת משלחים - עם המקומות הספציפיים שבהם הוא נשבר ומה עולה יותר ממה שכל אחד מצפה.
הבעיה הבסיסית: עברית היא שפת מיעוט ב־Pipeline אימון שרובו אנגלית
OpenAI Whisper אומן על כ־680,000 שעות אודיו. עברית מייצגת אחוז חד־ספרתי מזה. לדיבור צרכני - Podcasts, ראיונות, הקלטות סטודיו - Whisper בעברית סביר. לסוכני קול בפרודקשן בסביבות קליניות, לוגיסטיות או מוקד - סביר לא מספיק. צריך Fine-Tuning, אוצר מילים תחומי, ולעיתים מודל אחר לשלב אחר ב־Pipeline.
כלל האצבע שלנו: מה שמערכת הקול האנגלית שלכם עולה - הכפילו פי שלוש לעברית בפרודקשן, והוסיפו עוד 40% אם אתם צריכים לטפל ב־Code-Switching דו־לשוני.
שלב 1 - ASR: להתחיל מ־Whisper, לכוונן לתחום שלכם
OpenAI Whisper (והיורש שלו Whisper-Turbo) הוא Baseline סביר לעברית. הוא לא טוב בעברית כברירת מחדל - הוא פשוט נקודת הפתיחה הכללית הטובה ביותר. היכן שהוא מתדרדר בחדות:
- אוצר מילים קליני. שמות תרופות, מונחי אנטומיה, קודי פרוצדורה, מינונים. תעתיקים של שמות תרופות יש בכמה מוסכמות (פנטניל / פנטאניל / fentanyl - אותה תרופה, שלוש מחרוזות). Whisper גנרי יבחר אחד אקראית.
- דיבור מהיר וקולוקוויאלי. עברית ישראלית מדוברת מהר, עם השמטת הברות וקבוצות עיצורים כבדות. ASR צרכני אומן על רשמי אקדמי יותר.
- רעש רקע. קורידורי בית חולים, מחסנים, חדרי שיגור, מוקדים. ASR צרכני מצפה למרחק של 90 ס״מ ממיקרופון נקי. סביבת הפרודקשן שלכם לא מספקת את זה.
- מבטאים. עברית־רוסית, עברית־ערבית, עברית במבטא אנגלי, איכות תנועות מזרחית מול אשכנזית. טווח המבטאים בישראל משמעותי ו־Whisper של ממוצע ההתפלגות לא אף אחד מהם.
מה שעובד: Fine-Tune של Whisper על אודיו ספציפי ללקוח. אנחנו אוספים 10–50 שעות אודיו בתחום (התייעצויות קליניות, שיחות שיגור, הקלטות מוקד), מתעתקים בקפידה, ומכווננים. ה־Word Error Rate יורד מ־25-35% על Whisper גנרי ל־8-12% על ה־Checkpoint המכוונן ללקוח הספציפי. הפער הזה הוא ההבדל בין סוכן קול שעובד לסוכן קול שמביך.
שלב 2 - NLP עברי: להשתמש ב־Dicta, לא במודלים רב־לשוניים שמעמידים פנים
ברגע שיש לכם תמלול בעברית, כל מה שאחריו (חילוץ ישויות, סיכום, סיווג כוונה, תרגום) אומן כנראה על מודל רב־לשוני שבו עברית הייתה כ־1% מנתוני האימון. אתם מרגישים את זה בפרודקשן: זיהוי ישויות מפספס שמות עבריים נפוצים; סיכום נוטה לסגנון ערבי־ספרותי; סיווג כוונות מוחק הבחנות סמנטיות שחשובות קלינית.
קבוצת המחקר Dicta באוניברסיטת בר־אילן שחררה מודלים ספציפיים לעברית - DictaLM, DictaBERT, ומודלים מיוחדים לעברית היסטורית וטקסט ישראלי מודרני. לכל מה שאחרי תמלול, Dicta לעיתים קרובות מביס מודל רב־לשוני בחלק מעלות החישוב. אנחנו מנתבים טקסט עברי דרך Dicta לחילוץ ישויות וסיווג; משתמשים ב־Claude Sonnet של Bedrock (או גרסה מכווננת דו־לשונית) לסיכום והפקה.
דוגמה קונקרטית מפריסה בבית חולים: זיהוי ישויות על הערות קליניות בעברית. XLM-RoBERTa רב־לשוני גנרי: F1 של 0.68. DictaBERT מכוונן על הקורפוס הקליני שלנו: F1 של 0.91. אותו טקסט. אותה משימה. עולם אחר.
שלב 3 - Code-Switching הוא החלק הכי קשה
ישראלים עוברים בין עברית לאנגלית באמצע משפט, לעיתים באמצע פסוקית, לעיתים באמצע מילה. דוגמאות קליניות מהקורפוס שלנו:
״הפציינט עם ה־acute pancreatitis קיבל IV morphine, ונשלח ל־CT.״
״הייתה לה tachycardia, פה 110, BP 90 על 60, ניתנה bolus ו־follow-up ב־ICU.״
חצי עברית, חצי אנגלית, דיבור קליני ישראלי לגמרי נורמלי. ה־ASR חייב לתעתק את שני הכתבים נכון; ה־NLP שאחריו חייב להבין את שניהם ולהפיק ייצוג קוהרנטי.
מה שעובד: בנינו מערכת שני מעברים שמריצה Whisper במצב עברית ו־Whisper במצב אנגלית על אותו אודיו, ואז משתמשת בסווג שאומן על קורפוסים דו־לשוניים כדי להחליט אילו חלקים של הפלט לקחת מאיזה מעבר. זה לא אלגנטי, אבל זה מביס כל גישה של מעבר יחיד ביותר מ־15 נקודות אחוז על אודיו קליני של Code-Switching. במורד הזרם, Claude Sonnet מטפל בטקסט המעורב באופן טבעי - אחד המקרים הנדירים שבהם LLM רב־לשוני גדול מביס מודל עברי־מתמחה, כי Code-Switching הוא בדיוק ה־Edge Case שמודלים רב־לשוניים אומנו עליו.
שלב 4 - אוצר מילים תחומי יאכל לכם את התקציב
״פנטניל״ מול ״פנטאניל״ מול ״fentanyl״ - אותה תרופה, שלוש אופציות. הכפילו את זה בכל תרופה, מצב רפואי, מכשיר, קיצור. ב־Atlantic Logistics, המקבילה הייתה מונחי מסמכי שילוח: ״POD״ מול ״Proof of Delivery״ מול ״דו״ח מסירה״; שמות ספקים; קודי SCAC; קודי נמל.
מה שעובד: בונים מילון תחומי ספציפי ללקוח - בדרך כלל 2,000–8,000 מונחים תלוי בתעשייה - עם כל וריאנטי האיות המקובלים מתויגים. המילון הזה מזין שלוש מערכות: (1) Fine-Tune מותאם של Whisper שמשמר איות קנוני, (2) שלב נרמול אחרי ASR שממפה וריאנטים לצורה קנונית, ו־(3) Prompt מערכת של Claude שכולל את המילון כ־Context. זו עבודה לא גלאמרית, והיא העבודה שעושה את ההבדל בין סוכן קול של 20% WER לאחד של 5% WER.
כלל תקציב: תכננו 3–4 שבועות של ניהול אוצר מילים תחומי לכל פריסת Voice קלינית או לוגיסטית. תמיד יותר ממה שאחד מעריך ביום הראשון.
שלב 5 - TTS הוא המקום שבו המותג נוצר או אובד
ל־TTS עברי, ברירת המחדל שלנו היא Amazon Polly - הוא זמין, הוא סביר, והוא משתלב עם שאר ה־AWS Stack. כשקול המותג חשוב, אנחנו משתמשים ב־OpenVoice או מערכת דומה שניתנת לכיוון מותגי כדי להפיק קול ייחודי שמתאים לזהות של הלקוח. ההבדל מורגש מיד. Polly גנרי נשמע כמו כל IVR ארגוני ששנאתם; שיבוט מכוונן של OpenVoice יכול להישמע חם, מדוד וספציפי.
שתי הערות פרודקשן: (1) סינתזו גרסאות של בוקר ושל לילה אם הסוכן שלכם רץ 24/7 - הרכות הנכונה ב־3 לפנות בוקר שונה מהחדות הנכונה ב־9 בבוקר; (2) בדקו על חומרת הרמקול האמיתית שהמשתמשים ישמעו בה את הסוכן. קול Polly שנשמע נקי בסטודיו לעיתים נשמע דק ב־Handset של מוקד או ברמקול IoT.
שלב 6 - Latency בזמן אמת: WebRTC, SFU וניהול Buffer זהיר
סוכן קול נשפט על זמן תגובה מורגש. >800 מ״ש בין סוף דיבור לתגובת מערכת מתחיל להרגיש איטי; >1500 מ״ש מרגיש שבור. זה תקציב הדוק מאוד לכלול בו: ASR, NLP, קריאת LLM, TTS ו־Round-Trip של רשת.
ה־Stack בפרודקשן שאנחנו מריצים: WebRTC לערוץ המדיה; SFU לטיפול בצרכי מרובי־משתתפים והקלטה; ASR תת־שנייתי דרך Whisper בזרימה; חיבור Claude Sonnet חם ב־Bedrock (אנחנו מחממים מראש); TTS בזרימה שמתחיל לשדר אודיו ברגע שהמשפט הראשון מוכן. Latency מקצה לקצה שנמדד p50 בפריסות ה־Voice הקליניות של MAIA רץ 620–740 מ״ש. p99 רץ סביב 1.1 שניות. כל דבר גבוה מזה והקלינאים מתנתקים.
שלב 7 - אינטגרציית SIP/PBX היא המקום שבו רוב פרויקטי ה־Voice מתים
ה־AI הוא החלק הקל. החלק הקשה הוא שילוב סוכן הקול ב־Telephony Stack הקיים של הלקוח: PBX On-Prem, SIP Trunk, מוקד רב־אזורי עם דרישות רגולטוריות של הקלטה, ותריסר תסריטי שיחה עם סמנטיקה של ״Warm Transfer״ ו־״Context-Preserving Handoff״.
שלחנו את זה ב־Atlantic Logistics (סוכן קול לשיגור משולב על SIP לתוך עץ הטלפוניה הקיים של ה־TMS) וב־MAIA (סוכן קול קליני דו־לשוני משולב בתוך טלפוניה של בית חולים). בשני המקרים, עבודת ה־AI ארכה כ־6 שבועות ואינטגרציית הטלפוניה ארכה עוד כ־8–12 שבועות. אם בתוכנית פרויקט ה־Voice AI שלכם אין לפחות חודשיים לעבודת אינטגרציית SIP/PBX - התוכנית שגויה.
שימו לב: ספק ה־PBX של הלקוח עשוי לדרוש Ticket Support כדי להפעיל יכולות SIP; חלק מהספקים מחייבים לכל ערוץ; מדיניות שמירת הקלטות משתנה לפי אזור; והעברת Context (העברת State של סוכן למפעיל אנושי) היא לעיתים נדירות פעולת קריאת API אחת - היא בדרך כלל אינטגרציה תפורה.
כמה זה באמת עולה
פריסת Voice דו־לשונית עברית־אנגלית בפרודקשן, לארגון Mid-Market או סוכנות ממשלתית, נוחתת בטווח הבא:
- 6–10 שבועות ל־Workflow ראשון של סוכן קול, בהנחה שיעד האינטגרציה (PBX/SIP, TMS, EMR) נגיש ועמדת הציות מוגדרת.
- 3–4 שבועות של ניהול אוצר מילים תחומי ו־Fine-Tuning.
- 8–12 שבועות של אינטגרציית טלפוניה, במקביל לבנייה ה־AI.
- שוטף: ניטור, אימון מחדש (בדרך כלל רבעוני), אבולוציית Prompts ולולאות משוב Voice-of-Customer.
אפשר ללכת מהר יותר עם פחות אילוצי ציות ויעד אינטגרציה נקי. בדרך כלל לא אפשר ללכת מהר יותר מ־6 שבועות ועדיין לשלוח משהו ששורד את יום ראשון בבוקר.
מתי לא לבנות Voice AI
אם ה־Use Case שלכם יכול לסבול ממשק טקסטואלי והמשתמשים יכולים להקליד, השתמשו בטקסט. Voice מוסיף Latency, עלות, מורכבות אינטגרציה ודרישות חוסן למבטאים ורעש שטקסט לא. דיברנו עם כמה Prospects החוצה מפרויקטי Voice כי ה־Workflow הבסיסי שורת יותר טוב על ידי עוזר צ׳אט. ה־ROI של Voice חזק כאשר: המשתמש לא יכול להקליד (קלינאי עם כפפות, שגר על הטלפון), Voice הוא ברירת המחדל התרבותית (מוקדים, קבלת מטופלים), או שהאינטראקציה רב־משתתפים ושיחתית (תמלול ישיבות, טריאז׳ שירות שדה).
אם אתם משלחים מוצר Voice דו־לשוני בישראל - או מוצר Voice אנגלי שגם יצטרך לטפל בדוברי עברית - בואו נדבר. נביא את דיאגרמת הארכיטקטורה ואת המקומות הספציפיים שראינו בהם את ה־Stack נשבר, לא מצגת.