GPT
M

musicgen-medium

קוד פתוח

facebookcc-by-nc-4.02023-06-08

  • transformers
  • pytorch
  • musicgen
  • text-to-audio
  • endpoints_compatible

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

  • 11.1 GBמשקל הקבצים
  • 1,933,541הורדות בחודש
  • 167לייקים

מה זה

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

במבחני ההשוואה מול גרסאות אחרות על בנצ'מרק MusicCaps, גרסת המדיום קיבלה ציון FAD של 5.14 ומדד התאמת טקסט של 0.28. בפועל זה אומר שהיא נצמדת להוראות הטקסט בדיוק כמו גרסת ה־3.3B הגדולה, אבל מייצרת צליל קצת פחות מלוטש ממנה וטיפה שונה במאפיינים האקוסטיים מגרסת הסמול.

האימון נעשה על 20 אלף שעות של מוזיקה מאוספים מורשים כמו שאטרסטוק ו־Pond5, אך לפני הכניסה למודל כל קטעי השירה נוקו החוצה באמצעות HT-Demucs. התוצאה ממוקדת כולה בכלים ואינסטרומנטל.

מתאים ל

  • פסקול לרקע במשחקים

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

  • דמו לסקיצות הפקה

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

  • מחקר אודיו ולמידה

    ניתוח יכולות של טוקניזציית שמע ואימון מקבילי של קודבוקים מול טקסט.

איפה זה נופל

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

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

שאלות
נפוצות

האם המודל מבין תיאורים מוזיקליים בעברית?

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

האם אפשר לייצר בעזרתו שירים עם שירה ומילים?

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

מה ההבדל בינו לבין גרסת melody שקיימת בסדרה?

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

איך מריצים

המשקלים תופסים 11.1 גיגה בייט בדיוק float32, כך שחובה להצטייד במעבד גרפי עם מספיק זיכרון וידאו, לפחות 16GB VRAM, כדי לטעון אותו ולייצר סאונד בלי קריסות של חוסר זיכרון. אפשר להריץ אותו ישר דרך ספריית transformers החל מגרסה 4.31.0 או בעזרת audiocraft הרשמית של מטא יחד עם ffmpeg.

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

from transformers import pipeline

pipe = pipeline("text-to-audio", model="facebook/musicgen-medium")
print(pipe("שלום"))

הרישיון

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

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

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