xAI ממליצים על 24kHz לרוב השימושים. 48kHz אינו בהכרח איכותי יותר — ראו ההסבר במסמך.
יצירת קול חדש
שיבוט קול מהקלטה
הקלטה נקייה, דובר אחד, רצוי דקה ומעלה. שיבוט יורש גם את קצב הדיבור של המקור.
הקולות שלי
אופציה שלישית: הסוכן המלא של ElevenLabs.
בגרוק מודל אחד עושה הכול. ב-cascade הם נותנים אוזניים ופה ואנחנו מנצחים.
כאן כל הצינור שלהם — תמלול, ניהול תורות, הקראה — ואנחנו רק מזינים מוח ומספר טלפון.
טוען נתונים חיים מהחשבון…
החשבון שלנו — חי מה-API
מה הוא יודע לעשות
✓ נתמך · ✗ לא נתמך · ? לא נבדק על ידינו — ואני לא מסמן ✓ על סמך דף שיווק
סוכנים שקיימים אצלנו
טוען…
עברית לפי קטלוג המודלים — הראיה, לא הטענה
נשלף מ-/v1/models של החשבון. זו הסיבה ש-flash נכשל בעברית: הוא פשוט לא מצהיר עליה.
טוען…
המעבדה הזו היא ספסל השוואה, לא מוצר.
היא מריצה שלוש ארכיטקטורות שונות של סוכן קולי על אותה תשתית, אותו מספר ואותם קולות —
כדי שאפשר יהיה לשמוע את ההבדל במקום לנחש אותו. הטאבים למטה מסבירים מה כל אחת עושה בפועל.
מה יש בכל טאב
טאבמה הוא עושה
שיחההכרטיס החי. בוחרים קול, לוחצים ומדברים. התמלול רץ מתחת בזמן אמת.
הקלטותהארכיון. כל שיחה שנשמרה, עם ההקלטה הדו-ערוצית ותמליל מלא.
גרוקבחירת מנוע xAI ואיכות (רגיל / HD) ו-26 הקולות שלו. לחיצה כאן מחליפה את המנוע לשיחה הבאה.
קולות ElevenLabsעיצוב קול מטקסט, שכפול מהקלטה, האזנה, והפעלה. 17 קולות עבריים.
ElevenAgentsחלון קריאה בלבד אל האופציה השלישית — מה החשבון שלנו מרשה ומה לא.
מדריךהדף הזה.
שלוש האופציות, זו מול זו
גרוקCascadeElevenAgents
ארכיטקטורהקול-לקול, מודל אחדמשורשר, 3 שלביםהצינור שלהם
עד אודיו ראשון2.1s4.0sלא נמדד
המוחxAIשלנושלנו (Custom LLM)
תמלולחינם, בתוך המודלScribe — שורת חיובכלול אצלם
שכפול קוללא — xAI לא אישרוכןכן
מי מתחזק את הצינוראנחנואנחנוהם
שים לב שהשורה שמכריעה היא לא המהירות ולא העלות — היא שכפול קול. זה הדבר היחיד שגרוק לא נותן, וזו כל הסיבה שהדיון הזה קיים.
גרוק — קול לקול
מודל אחד מקבל אודיו ומחזיר אודיו. אין שלב תמלול נפרד ואין שלב הקראה נפרד, ולכן גם אין העברות בין שירותים — וזו כל הסיבה שהוא מהיר.
שלנוxAIElevenLabsחיצוני
מתקשר
דפדפן דרך WebSocket · או טלפון דרך Twilio
↓
pipecat · transport.input
מקבל אודיו גולמי מהמתקשר
↓
GrokRealtimeLLMService
תמלול + הבנה + דיבור — הכל במודל אחד. זיהוי סוף-תור נעשה בצד השרת של xAI (server_vad)
↓
רישום תמלול + AudioRecorder
התמלול מגיע חינם מהמודל · הקלטה WAV דו-ערוצי
↓
transport.output → המתקשר
2.1 שניות עד האודיו הראשון
המלכודת שנפלנו בה: חיברנו VAD מקומי בנוסף לזיהוי התור של xAI. התוצאה הייתה תורות כפולים — הסוכן ״הפריע לעצמו״, התחיל מחדש, וחזר על עצמו אחרי תור-שניים. הפתרון: לא לחבר VAD מקומי בכלל במסלול הזה.
Cascade — הרכיבים של ElevenLabs, הצינור שלנו
ElevenLabs לא מחליף את גרוק כאן — הוא מחליף לו את האוזניים ואת הפה. המוח, הפרומפטים בעברית והכלים נשארים שלנו, ו-pipecat ממשיך לנצח.
שלנוxAIElevenLabsחיצוני
מתקשר
אותה כניסה בדיוק
↓
pipecat · transport.input + Silero VAD
stop_secs = 0.7 — הועלה מ-0.2 כי הפסקות נשימה בעברית חתכו משפטים
↓
ElevenLabs Scribe v2 Realtime
תמלול בזמן אמת · ~150ms · keyterms עדיין לא מחובר
↓
פתיחת תור לפי VAD בלבד
ברירת המחדל של pipecat פותחת תור בכל תמלול ביניים — וScribe מייצר אותם ברצף, מה שהרג כל תשובה אחרי שנייה
↓
Grok — מודל טקסט
המוח נשאר שלנו · הפרומפטים בעברית · הכלים
↓
ElevenLabs eleven_v3 · HTTP streaming
המודל היחיד שמצהיר על עברית · אין לו WebSocket · אסור לשלוח optimize_streaming_latency
↓
הקלטה + כתיבת תמלול לטבלה שלנו
כאן התמלול כבר לא מגיע חינם — הוא שורת חיוב
↓
transport.output → המתקשר
4.0 שניות עד האודיו הראשון — פי-2 מגרוק
שלוש התקלות שכל צינור משורשר מייצר, וכולן קרו לנו: (1) ה-VAD ששולט על סוף-התור שולט גם על מתי Scribe סוגר קטע — ועברית נחתכה באמצע · (2) תמלולי ביניים של Scribe שידרו הפרעה והרגו כל תשובה בשנייה הראשונה, בשקט מוחלט ובלי שגיאה בלוג · (3) המגדר חושב מתוך שם הקול של xAI, ואף קול ElevenLabs לא התאים — אז כל קול יצא נקבה.
ElevenAgents — הצינור כולו שלהם
כאן אנחנו מוותרים על pipecat עבור המסלול הזה. זו לא הוספת ספק — זו ארכיטקטורה שנייה. בתמורה מפסיקים לתחזק תמלול, הקראה, VAD וניהול תורות.
שלנוxAIElevenLabsחיצוני
מתקשר → Twilio
המספר שלנו, מיובא אליהם עם SID+Token
↓
ElevenAgents — כל הצינור שלהם
Scribe realtime → ניהול תורות מבוסס פרוזודיה → eleven_v3_conversational
↓
Custom LLM (אופציונלי)
נקודת קצה שלנו · גרוק יכול להישאר המוח · עד 2MB פרומפט
↓
הקלטה ותמלול אצלם
צריך למשוך ל-DB שלנו דרך ה-API — זה מה שהיום נעשה בצינור
↓
→ המתקשר
לא נמדד אצלנו. זו נקודת ההכרעה שנשארה
מה שמושך לכיוון הזה:eleven_v3_conversational — גרסה בעלת השהיה נמוכה של v3 שתומכת בעברית, וקיימת רק כאן. היא לא בקטלוג ה-API הרגיל. אם היא באמת טובה בעברית, היא פותרת את הבעיה שה-cascade לא הצליח לפתור. ואם לא — לא הפסדנו כלום.
קולות — מהתיאור ועד השיחה
כל הקריאות עוברות דרך השרת שלנו, כך שמפתח ElevenLabs לעולם לא מגיע לדפדפן.
שלנוxAIElevenLabsחיצוני
בחירה בממשק
מגדר · גיל · קצב · אופי — או קובץ אודיו להעלאה
↓
POST /design או POST /clone
ttv_v3 מייצר 3 דגימות · או שכפול מיידי מהקלטה
↓
POST /save
בלי זה הקול זמני ולא שמיש · מקבל voice_id קבוע
↓
POST /preview
האזנה לפני שמחליטים
↓
POST /activate
כותב ELEVENLABS_VOICE_ID בצד השרת · תקף מהשיחה הבאה, בלי restart
שני דברים ששווה לדעת לפני שמשכפלים: קצב הדיבור אפוי בתוך השיבוט — הוא יורש אותו מהדגימה, ופרמטר speed לא מתקן את זה, ולכן בחירת ההקלטה חשובה יותר מכל כוונון אחר כך. והמגדר נגזר בשרת מהקול עצמו ולעולם לא נשלח מהדפדפן — כי כשהוא כן נשלח, קול גברי הציג את עצמו בלשון נקבה.
הקלטה, תמלול, ואיפה זה נוחת
אותו מסלול נתונים לשני המנועים — זה מה שמאפשר להשוות ביניהם בכלל.
calls · call_messages · דלי recordings-labפרטי עם קישורים חתומים תעבורת המעבדה מתויגת בדייר נפרד כדי שלא תתערבב בשיחות אמיתיות
הבאג שלקח הכי הרבה זמן למצוא: ההקלטה תפסה את שתי הרגליים לפי מחלקת-אב משותפת, כך שפריימים של המתקשר ב-16kHz נכתבו בקצב הפלט — המתקשר נשמע כמו סנאי, והסוכן יצא קטוע. התיקון: רגל הסוכן תופסת רקOutputAudioRawFrame.