אינטגרציה של Bark (קוד פתוח) ליצירת דיבור עם רגשות

קול סינתטי בהקלטות ארוכות נשמע שטוח וחסר חיים, והמאזין שומע זאת. אנו מגדירים יצירת דיבור עם גוון רגשי במסלול מלא: מהכנת נתוני קול ועד למסירת תצורות מוכנות. הדיבוב נעשה חי, והזמן להוצאת סרטון מתקצר פי כמה.

תחומי פיתוח AI

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1359
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

Bark TTS: מדוע הסינתזה נשמעת חסרת חיים בטקסטים ארוכים

Bark TTS — מודל גנרטיבי: הוא אינו קובע אינטונציה לפי חוקים, אלא משחזר את התמונה הקולית באופן הסתברותי, בהסתמכו על חומר האימון. במשפט קצר הבחירה מוצלחת, והרפליקה נשמעת חיה. בפסקה ארוכה הסטיות מצטברות, ואנחנו מקבלים קול שטוח בדיבוב, בעוד ההגייה פורמלית ונכונה. לכן דמו על שורה אחת וחומר עבודה בן עשר דקות נבדלים כל כך בבירור.

המנגנון הראשון — אובדן האינטונציה. פסגות משמעותיות, הפסקות בין חלקי משפט מורכב, עלייה בשאלה וירידה בקביעה — כל אלה אמורים להישמר לאורך כל הרפליקה.

המודל לעומת זאת מחשב מחדש את קו המתאר האינטונציוני באופן מקומי: טקסט ארוך נאלצים לחתוך, כל מקטע מסונתז בנפרד, ובחיבור שומעים שהמשפט מתחיל מחדש.

המנגנון השני — חוסר יציבות של הגוון בין המקטעים. הגובה, הצפיפות ואופי הקול נודדים מקטע לקטע, ולכן בתוך פסקה אחת הקריין כאילו מוחלף. עבור המאזין זה אינו פגם קוסמטי: הקול מפסיק להיות מזוהה, והקשב עובר לניסיון לפענח מי מדבר, ולא לתוכן.

מכאן צומחת עבודה ידנית — דיבוב מחדש של מקומות כושלים, בחירת "הגרעין" של הגנרציה, הדבקה בעורך — ובכל זאת אין סינתזת דיבור רגשית ואחידה בפלט. אם לכך מתווסף שירות חיצוני, מגיעים מגבלות על הנפח, השהיה בתגובה וחוסר אפשרות לשלוט בעדינות בהגשה.

להלן — כיצד בנויה סינתזת דיבור עם אינטונציה כך שהגוון יישמר לאורך כל הפס, והתיקונים ייכנסו לסימון ולא לצליל המוגמר.

מה משתנה לאחר ההטמעה: אפקט בגדלים מדידים

המדידה הראשונה שאנחנו לוקחים לפני ההטמעה — הזמן מטקסט מאושר לקובץ שמע מוכן. בהקלטה עם קריין המחזור ארך שעות: סשן, מיקס, הגהה, הקלטה מחדש בעת תיקון ניסוח. סינתזה על Bark מכווצת את השרשרת לעשרות דקות, משום שהתיקון מוכנס לטקסט ולא לצליל, ורק המקטע שהשתנה נוצר מחדש.

שיעור הדיבוב הידני מחדש יורד באופן ניכר. בתרחיש עם כמה איטרציות של אישור, כל תיקון טקסט הצריך בעבר אולפן חדש; כעת מדבבים מחדש אחוזים בודדים של רפליקות — אלה שבהן נדרש רגש שונה באופן עקרוני או הדגשה. את השאר מכסה תיקון הסימון והגדרות הקול.

בנפרד נעלם סוג של כשלים הקשורים לאי-סנכרון גרסאות: בממשק ניסוח חדש, בהקלטה — ישן, משום שהקובץ לא הוחלף. האודיו נוצר מאותו טקסט שנמצא במערכת, ולכן הפער פשוט אינו נוצר.

איכות הדיבוב ואחידות הקול בין הערוצים נפתרים בפרופיל אחד: קו הטלפון, האפליקציה והוראות הווידאו נשמעים זהה בגוון, בקצב ובאינטונציה. גוונים רגשיים — הפסקה, שאלה, צחוק, לחץ — נקבעים על ידי הסימון, ולא על ידי בחירת טייקים מוצלחים, ולכן התוצאה משוחזרת.

בודקים את האפקט לפי ארבעה גדלים: זמן לרפליקה, שיעור ההקלטות מחדש, אירועים של אי-התאמת גרסאות, ויציבות הצליל בין הערוצים. את המדידות לפני ואחרי מתעדים על אותה קבוצת תרחישים בדיוק, כדי שההשוואה תהיה הוגנת.

Bark TTS בעבודה: מצבי גנרציה ומגבלותיהם

מצב גנרציית הדיבור ב-Bark נבחר לפי פרופיל העומס, ולא לפי כוח החומרה: אורך הרפליקות, האם נדרש צביון רגשי והפסקות, ההשהיה המותרת עד הצליל הראשון והדרישות להיכן נשמרים הטקסטים.

סינתזה מקומית שומרת את הנתונים בתוך המתאר, העננית מסירה את שאלת המאיצים ועוברת בקלות שיא עומס, וסכמה היברידית מפרידה בין בקשות רגישות ובקשות המוניות בין שני מתארים.

בתוך כל אפשרות יש שני מצבי פלט. פלט אצווה אוסף את הקובץ כולו — מתאים לדיבוב קטלוגים ותרחישים ארוכים, אך הצליל הראשון מופיע רק לאחר גנרציה מלאה. פלט זרימה מוסר את האודיו בחלקים לפי התקדמות הסינתזה: בלעדיו דיאלוג בזמן אמת אינו אפשרי, אך נדרש מרווח בקצב, אחרת שומעים קריעות.

אפשרות מתי מתאימה מגבלות
סינתזה מקומית מתאר סגור, נפח יציב, אין תלויות חיצוניות נדרש מאיץ משלכם ותחזוקה; השיא נתקע בצומת אחד
סינתזה עננית עומס משתנה, התחלה מהירה, קולות רבים הטקסט יוצא מהמתאר; ההשהיה תלויה בערוץ התקשורת
סכמת גנרציה היברידית נתונים רגישים — מקומית, המוניים — החוצה ניתוב מורכב יותר ושליטה אחודה באיכות
מצב אצווה דיבוב קטלוגים, וידאו, תרחישים ארוכים התוצאה נמסרת כולה, דיאלוג בזמן אמת אינו מתקיים
מצב זרימה עוזרים קוליים, קריאה בקול, דיאלוג נדרש מרווח בקצב הסינתזה, אחרת שומעים קריעות

אין אפשרות אוניברסלית: המקומית נותנת שליטה, העננית — גמישות, ההיברידית — פשרה על חשבון סיבוך הסכמה. את הבחירה מתעדים במדידות על התרחיש שלכם: אורך הרפליקות, מקביליות השיא, דרישות להשהיה ולפרטיות.

כיצד מתבצעת ההטמעה: שלבי עבודת ההנדסה

העבודות מתנהלות ברצף, וכל שלב מסתיים בארטיפקט שאפשר לבדוק: כך התיקונים אינם מתפשטים על כל הפרויקט וניתן לראות באיזה צעד נפלה האיכות. הסדר זהה עבור סטנד בדיקה ועבור מערכת פרודוקטיבית — משתנה רק עומק העיבוד.

  1. ביקורת חומרים ודרישות לקול. מפרקים את קורפוס הטקסטים: אורך רפליקות, מספרים, ראשי תיבות, שפות, שיעור המשפטים בעלי צביון רגשי. כאן גם מתעדים את קריטריוני הקבלה — בהירות, טבעיות, שיעור מותר של ארטיפקטים.
  2. סכמת פריסה. קובעים היכן מחשבים את המודל הפתוח Bark: מאיצים משלנו או שכורים, כיצד מבודדים אותו משאר המערכת. בנפרד מפתחים את החימום לאחר אתחול, מטמון המודלים ומסירת מקטעים מוכנים באצוות ולא בבקשה בודדת.
  3. הגדרת פרופילים רגשיים. בוחרים הקלטות ייחוס וסימון רגשות — ניטרלי, שמחה, עצב, לחישה. מכווננים את פרמטרי הגנרציה וסמני ההפסקות כך שהאינטונציה תישאר מזוהה והקצב — צפוי בטקסטים ארוכים.
  4. עיבוד לאחר. מביאים את המקטעים לעוצמת קול ולפורמט אחידים, חותכים שקט מיותר, מדביקים רפליקות — בלעדי זה מתקבל בפלט צליל קרוע ורמה "מזנקת".
  5. בדיקת איכות הצליל על חומרים אמיתיים. מריצים טקסטים מבצעיים, מאזינים בעיוורון במכשירים ובאקוסטיקה שונים, בודקים יציבות בין הרצות: אותו משפט אינו אמור להישמע בכל פעם כקריין חדשמסירה. מוסרים את קונפיגורציית הפריסה, תיעוד הפרופילים והוראה כיצד להוסיף קולות ורגשות חדשים בלי מעורבותנו.

מה נשאר אצלכם לאחר המסירה: קונפיגורציות ותקנונים

מוסרים לא רק שירות סינתזת דיבור עובד על Bark, אלא גם את כל מה שנדרש להפעלתו העצמאית. הצוות של הלקוח אמור לדעת לשנות אינטונציה, להוסיף תרחישי דיבוב ולטפל באירועים בלעדינו — לכן ערכת הארטיפקטים מכסה גם את הפיתוח וגם את העבודה השוטפת.

  • קונפיגורציות של שירות הסינתזה — פרמטרי גנרציה לכל תרחיש: אורך המקטע, חלוקה למשפטים, ספי איכות, מגבלות עומס.
  • פרופילים רגשיים — פריסטים של אינטונציה: קצב, הפסקות, דינמיקה. גוון קולי חדש מתווסף בתיקון הפרופיל, בלי שינוי בקוד.
  • סכמת פריסה — טופולוגיית השירותים, צומתי הגנרציה, מאגרי דגימות קוליות, נקודות סקיילינג והרצה בגיבוי.
  • מדיניות גישה — תפקידי פיתוח ותפעול, נוהל הנפקת מפתחות, מגבלות על העלאת דגימות והורדת אודיו מוכן.
  • תקנון תפעול — אילו מדדים לאסוף, אילו ערכים להיחשב חירום, מתי לעדכן את המודל וכיצד לחזור לפרופיל קודם.
  • תקנון בקרת צליל — צ'ק-ליסט לקבלת אצווה: רעש, קטיעות, קליקים, פיזור עוצמת הקול בין מקטעים ובין קריינים.
  • תיאור ממשק השירות — פורמטים של בקשות ותגובות, קודי שגיאה, דוגמאות קריאה לכל מצב גנרציה.
  • יומן שינויים — מה ומתי תוקן בפרופילים ובקונפיגורציות, כדי לקשור ירידת איכות לתיקון מסוים.

קייס: כיצד השתנתה איכות הקול לאחר המעבר למתאר משלנו

נקודת המוצא

הפרויקט — דיבוב מודולי למידה וסרטונים פרסומיים, שבהם חשובה ההגשה הרגשית: הפסקות, צחוק, החלפת אינטונציה בתוך הרפליקה.

הסינתזה הלכה תחילה דרך שירות חיצוני, ובזרימה של מאתיים מקטעים המדידות נתנו תמונה לא נעימה: 31% מהפסים עברו לגנרציה חוזרת, פסקאות ארוכות נקטעו באמצע, ועל דקה של צליל מוכן הושקעו כשתים עשרה דקות עבודה של עורך — כולל האזנה, הדבקה ותיקונים.

מה שינו במתאר

העברנו את Bark למתאר משלנו ועטפנו את הגנרציה בלוגיקה הנדסית. הטקסט נחתך לבלוקים משמעותיים של 8–15 שניות, ובחיבורים — קרוספייד לפי צורת הגל, כך שהקטיעה נשמעת לא כתקלה אלא כהפסקה טבעית.

המקטעים המוכנים נשמרים במטמון לפי האש של הטקסט והרגש הנבחר, תור הסינתזה מחולק לפי עדיפויות, ולכל משימה יש ניסיון חוזר אוטומטי בעת כשל — נפילה של תהליך אחד אינה עוצרת את הזרימה. פרופילי הקול מקובעים, והגוון אינו "צף" בין סשנים.

התוצאה במספרים

לאחר המעבר, על אותה זרימה: שיעור הדיבוב הידני מחדש — 6% לעומת 31%, הזמן לדקה של חומר מוכן — כארבע דקות, הקטיעות במקטעים ארוכים הפכו בודדות (בערך אחת לארבעים פסים במקום אחת לשלוש).

יציבות הגנרציה מאוששת בבדיקה פשוטה: אותו טקסט עם אותו רגש נותן תוצאה משוחזרת, ולכן אצוות נאספות בלי להאזין מחדש לכל פס. הלקוח ניסח את האפקט בקצרה: "העורך הפסיק לשבת על דיבוב מחדש וחזר לתסריט".

במה שונה גנרציה מקומית מסינתזה עננית?

ההבדל בין הגישות אינו בבהירות הדיבור — שתי הסכמות נותנות צליל ברור. ההבדל הוא במי שמחזיק בנתונים הקוליים ובכמה צפויה התגובה תחת עומס. בגנרציה מקומית הטקסט, הקלטות הייחוס והאודיו המוכן אינם יוצאים מהמתאר שלכם, והשירות החיצוני כלל אינו משתתף בעיבוד.

סינתזה עננית נוחה בהתחלה: אין צורך להחזיק כוח מחשוב, והעדכונים מגיעים מצד הספק. המחיר לכך — תלות בשירות חיצוני. מגבלות על מספר בקשות, שינוי בהיגיון התעריפים וכללי שמירת נתונים נקבעים לא על ידכם, ובזמן שיא של דיבוב תור של מישהו אחר מאריך ישירות את זמן התגובה.

גנרציה מקומית הופכת את ההשהיה לכמות נשלטת: היא נקבעת על ידי החומרה שלכם ועל ידי תור המשימות שלכם. המודל Bark נפרס בתוך המתאר, ולכן את הצביון הרגשי קובעת הקלטת הייחוס, ולא סט הגדרות בצד השירות.

העדכון הופך לנוהל מתוכנן: מריצים ענף חדש על סט המשפטים שלנו, משווים לנוכחי ועוברים אליו כשהתוצאה מספקת.

השוואת הגישות מצטמצמת לשלושה צירים: שליטה בנתונים, צפויות ההשהיה ועלות הבעלות — כשתחת "עלות" אנחנו מבינים את העומס על החומרה ואת מורכבות הליווי של המודלים, ולא את לוח התעריפים.

בפועל הסכמה היא לעתים קרובות היברידית: תרחישים רגישים ורפליקות חוזרות מסונתזים מקומית, ושפות נדירות נמסרות לענן.

ספקות טכניים שכדאי להסיר לפני ההתחלה

לפני ההתחלה עולה בדרך כלל אותו סט של שאלות הנדסיות: אורך הטקסטים, העברת קולו של הקריין, עמידות הרגש, דרישות לחומרה משלכם והמעבר מהפתרון הנוכחי. להלן — תשובות קצרות לגוף העניין, כדי לא לדון בהן שוב בפגישה הראשונה. המדובר ב-Bark — סינתזה פתוחה עם סימון רגשי.

כיצד הסינתזה מתנהגת בטקסטים ארוכים?

הרפליקה נחתכת לפי הפסקות משמעותיות, לכל מקטע נקבעת אינטונציה משלו, ובחיבורים מיושרים עוצמת הקול והקצב. כך טקסט של חצי שעה אינו "צף" לקראת האמצע — האינטונציה נשארת אחידה לאורך כל ההקלטה.

האם אפשר להתאים את הקול לקריין שלנו?

מכמה דקות של הקלטה נקייה נבחרת דגימה שמעבירה את הגוון, הקצב וסגנון הדיבור. את התוצאה בודקים על משפטי בקרה — מספרים, שמות, מונחים — ומדייקים את ההגייה באמצעות מילון החלפות.

האם הרגש נשמר לאורך כל המקטע?

הרגש נקבע ברמת המקטע ומעוגן בסט אחיד של פרמטרים: סימון, קצב, משך ההפסקות. אוספים קטעי ייחוס "לפני/אחרי" ומשווים בשמיעה, כדי שעד סוף הרפליקה הארוכה האינטונציה לא תיסחף לניטרלית.

האם נדרשת לכך חומרה משלכם?

לא בהכרח. אפשר לפרוס אצלנו, ואפשר — במתאר שלכם: אז האודיו אינו יוצא מהתשתית, והעומס נסקל לפי תור המשימות. מחשבים דרישות לפי מספר הסינתזות במקביל ולוקחים קונפיגורציה עם מרווח.

כיצד מתבצע המיגרציה מהפתרון הנוכחי?

תחילה מעבירים את מילוני ההגייה והגדרות הקריינים, אחר כך מריצים את אותה קבוצת טקסטים על הפתרון הישן והחדש ומשווים. מעבירים בחלקים — החזרה לסינתזה הקודמת נשארת אפשרית עד השלב האחרון.

נדון במשימה: מה נדרש מכם להערכה מדויקת

כדי שהערכת פרויקט גנרציית דיבור על Bark תהיה לא "על העין" אלא לעניין, נדרש סט של נתוני קלט. ככל שהתרחיש והמגבלות מתוארים באופן קונקרטי יותר, כך תוכנית העבודה מדויקת יותר ופחות הבהרות כבר בהתחלה.

  • דוגמאות רפליקות: 20-50 משפטים מתרחישים אמיתיים, כולל מספרים, ראשי תיבות ושמות פרטיים — עליהם בודקים הגייה ובהירות.
  • רגשות יעד: היכן נדרש קול ניטרלי, היכן — שמחה או חרדה, והיכן הרגש אינו קביל כלל.
  • הקלטות ייחוס: 2-5 דקות של קול נקי של הקריין בלי רעשים, אם נדרש גוון מסוים.
  • אופן העבודה: סינתזה בזמן אמת במהלך שיחה או גנרציה של קבצים מראש באצוות — מכך תלוי הקונפיגורציה.
  • נקודות אינטגרציה: טלפוניה, אפליקציה, בוט או נגן; באיזה אופן אנחנו מצפים לאודיו ומי שומר את הקבצים המוכנים.
  • עומס: כמה בקשות בדקה בשיא וכמה ביממה — לפיהם מחשבים מרווח משאבי מחשוב.
  • היכן פורסים: שרת משלכם או ענן, כללים לנתונים אישיים ובקולות של מי מותר להשתמש.
  • מה כבר ניסיתם: ניסיונות קודמים, דוגמאות לדיבובים כושלים והקריטריונים שלכם לקבלת התוצאה.

שלחו את מה שיש, אפילו בצורה גולמית — קטעי טקסטים, הקלטות, תיאור התשתית. נדון במשימה ונחזור עם הערכה ותוכנית: שלבים, מה אנחנו עושים, מה נדרש מצדכם ובאיזה סדר.