GPT
S

snac_24khz

קוד פתוח

hubertsiuzdakmit2024-03-05

  • transformers
  • pytorch
  • audio
  • endpoints_compatible

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

  • 75.8 MBמשקל הקבצים
  • 467,330הורדות בחודש
  • 64לייקים

מה זה

מדובר במקודד נוירוני של 19.8 מיליון פרמטרים שממיר אודיו של 24kHz לרצפי טוקנים בדידים בקצב נמוך של 0.98kbps. בדומה למקודדים כמו EnCodec או DAC, הוא משתמש בכימות וקטורי שיורי (RVQ), אבל עם טריק אחר לגמרי. במקום לשמור על קצב אחיד, הוא דוגם את השכבות הגסות בתדירות נמוכה יותר שמכסה חלונות זמן רחבים יותר.

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

מתאים ל

  • סינתזת דיבור במודלי שפה

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

  • דחיסת קול לשידור חסכוני

    מאפשר להעביר דיבור באיכות 24kHz ברוחב פס זעיר של פחות מקילוביט לשנייה.

  • שחזור אודיו על מכשירי קצה

    רץ מקומית במהירות גבוהה ובמינימום זיכרון בזכות משקל של פחות מ־80 מגה־בייט.

איפה זה נופל

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

שאלות
נפוצות

האם המודל מתאים למוזיקה או פודקאסטים עתירי אפקטים?

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

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

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

איך מריצים

ההתקנה מסתכמת ב־pip install snac וטעינה ישירה של המודל באמצעות פייטורץ'. עם קבצים בגודל של כ־76 מגה־בייט ופחות מעשרים מיליון פרמטרים, כל כרטיס מסך פשוט יריץ אותו בקלות, ואין שום סיבה בעולם לפנות ל־API חיצוני או להסתבך עם תשתית ייעודית.

היוצר מציע גם גרסאות של 32kHz ו־44kHz, שתיהן עם 54.5 מיליון פרמטרים וקצבי ביטרייט גבוהים יותר של 1.9 ו־2.6kbps. אם אתם עובדים על דיבור, הגרסה הזו של 24kHz היא הבחירה המומלצת. הגרסאות הגדולות יותר מיועדות למוזיקה או אפקטים קוליים.

from transformers import pipeline

pipe = pipeline("text-generation", model="hubertsiuzdak/snac_24khz")
print(pipe("שלום"))

הקבצים

4 קבצים במאגר, 75.8 MB סך הכול. הקישורים מובילים ישירות ל־Hugging Face.

הרישיון

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

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

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