GPT
S

speecht5_tts

קוד פתוח

microsoftmit2023-02-02

  • transformers
  • pytorch
  • speecht5
  • text-to-audio
  • audio

microsoft עומדים גם מאחורי Sho, ויש עליו סקירה כאן.

הופך טקסט לקובץ קול של 16kHz ודורש וקטור דובר כדי לעבוד. פתרון קל משקל למי שרוצה שליטה מקומית בהקראת טקסט באנגלית בארכיטקטורת אנקודר דקודר.

  • 559 MBמשקל הקבצים
  • 54,857הורדות בחודש
  • 844לייקים

מה זה

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

ההבדל העיקרי מול פתרונות אחרים הוא שיטת הצימוד. כדי לקבל אודיו, המודל חייב לקבל יחד עם הטקסט גם וקטור מאפייני קול (x-vector). זה אומר שאין לו קול ברירת מחדל קבוע, אלא אתם קובעים את גוון הדיבור לפי הוקטור שתזינו פנימה, למשל מתוך מאגר כמו CMU Arctic או מהקלטה משלכם שעברה עיבוד מתאים.

מתאים ל

  • הקראת טקסט באנגלית במכשיר

    המשקל הנמוך, 559 מגה בייט, מאפשר הרצה מקומית על מחשב אישי או שרת קטן בלי תלות בחיבור לרשת.

  • החלפת קולות דינמית

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

  • בסיס לאימון דיבוב עצמאי

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

איפה זה נופל

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

שאלות
נפוצות

האם המודל תומך בעברית ישר מהקופסה?

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

למה צריך מודל נוסף כמו HiFi-GAN כדי לשמוע צליל?

המודל מייצר ייצוג ביניים של הדיבור ולא ישירות את גל הקול הסופי. רכיב הווקודר לוקח את הייצוג הזה והופך אותו לקובץ אודיו של 16kHz שאפשר לשמור ולהשמיע.

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("text-to-speech", model="microsoft/speecht5_tts")
print(pipe("שלום"))

הרישיון

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

  • שימוש מסחרי
  • שינוי הקוד
  • הפצה מחדש

הרישיון המלא בעמוד המודל ↗