GPT
S

Xenova/speecht5_tts

קוד פתוח

Xenovaרישיון לא דווח2023-09-21

  • transformers.js
  • onnx
  • speecht5
  • text-to-audio
  • text-to-speech

הסבה של מודל הדיבור מבית מיקרוסופט לפורמט ONNX, שמאפשרת להפיק אודיו ישירות בסביבת ג'אווהסקריפט. הפתרון מיועד למי שרוצה סינתזת קול בדפדפן או בשרת Node.js בלי פייתון.

  • 2.9 GBמשקל הקבצים
  • 7,346הורדות בחודש
  • 42לייקים

מה זה

מדובר בגרסת ONNX מותאמת לספריית Transformers.js של SpeechT5 המקורי מבית מיקרוסופט. המודל ממיר טקסט לקובץ קול בתדר דגימה של 16,000 הרץ, כשהוא נשען על קובץ חיצוני של מאפייני דובר כדי לייצר את גוון הקול הנדרש. היתרון כאן הוא היכולת להריץ סינתזת דיבור באופן מקומי בסביבות ווב וג'אווהסקריפט, משהו שבעבר דרש שרת פייתון נפרד או שירותי ענן יקרים.

במקום להתעסק עם תשתיות כבדות, מקבלים גישה ישירה לצינור עיבוד מלא שכולל טוקנייזר ומעבד שמע תחת חבילת npm אחת. המאגר כולל משקלים שונים כמו fp32, fp16, q8 וגם q4, כך שניתן לבחור את רמת הכיווץ מול האיכות. זה שימושי מאוד למי שרוצה לשלב דיבור באפליקציות צד לקוח, אבל צריך לזכור שמדובר בהסבה של ארכיטקטורה שפורסמה במקור באנגלית ולכן ההתאמה לשפות אחרות מוגבלת ביותר.

מתאים ל

  • הקראת ממשק בדפדפן

    מאפשר השמעת הוראות והודעות קוליות ישירות בצד הלקוח בלי לשלוח מידע לשרת חיצוני.

  • סינתזת קול בשרתי Node

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

  • אפליקציות ווב מקומיות

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

איפה זה נופל

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

שאלות
נפוצות

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

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

איך שומרים את האודיו שנוצר לקובץ במחשב?

הפלט שמתקבל הוא מערך של ערכי צליל בקצב דגימה של 16000. בסביבת Node.js אפשר להשתמש בספרייה דוגמת wavefile כדי להמיר את המערך לקובץ wav תקני ולשמור אותו ישירות לדיסק.

איך מריצים

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

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

pip install -U huggingface_hub
hf download Xenova/speecht5_tts

הקבצים

51 קבצים במאגר, 2.9 GB סך הכול. הקישורים מובילים ישירות ל־Hugging Face.

הרישיון

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

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