אני רוצה שתבנה לי בתיקייה הזאת מכונת עריכה לרילס בעברית: מגלם של דיבור למצלמה לסרטון ערוך, מוכן לאינסטגרם ולטיקטוק, עם כתוביות, כותרת וקאבר.
לפני שאתה מתחיל:
- תגיד לי במשפט אחד מה הבנת, ותחכה שאגיד כן.
- תבדוק איזו מערכת הפעלה יש לי ומה כבר מותקן (פייתון, Node.js, ffmpeg). לפני כל התקנה - תשאל אותי, ותגיד כמה היא שוקלת ולאן היא נכנסת.
- אם אין ffmpeg: תתקין את חבילת הפייתון imageio-ffmpeg, שכוללת את ffmpeg, בלי לשנות הגדרות במחשב.
- הסרטונים והקול נשארים במחשב. אל תעלה אותם לשום שירות חיצוני.
- תשאל אותי אם יש לי תסריט. אם יש - אדביק לך אותו, ותשתמש בו כדי לחלק את התמלול למשפטים. אם אין - תחלק לפי התמלול.
מה המכונה עושה, לפי הסדר:
1. בדיקת הגלם
- תקרא מהגלם את קצב הפריימים (fps) ותשתמש בו בכל מקום: בחיתוך, בכתוביות וברינדור. קצב שונה בין השלבים יוצר קפיצות ופריימים כפולים.
- כל נקודת חיתוך על גבול של פריים.
2. תמלול - במחשב שלי
- faster-whisper עם המודל העברי ivrit-ai/whisper-large-v3-turbo-ct2, עם זמן לכל מילה (word_timestamps), language="he", ובלי condition_on_previous_text, כדי שטייק אחד לא ישפיע על הבא.
- התמלול רץ על המעבד (device="cpu", compute_type="int8"), כי ככה הוא עובד בכל מחשב. אם יש לי כרטיס מסך חזק של NVIDIA - תשאל אותי לפני שאתה מריץ עליו.
- אחרי התמלול תחפש חורים: קול בלי מילים, מילה ארוכה מ-1.5 שניות, שקט בתוך מילה, קטע ארוך מ-20 שניות. כל רצף חשוד - תתמלל מחדש בחלון משלו.
- למה: כשמשפט נאמר פעמיים ברצף, Whisper לפעמים כותב אותו פעם אחת ו"מותח" מילה על הניסיון השני. מילה ארוכה או שקט בתוך מילה = כנראה ניסיון חוזר שהתמלול בלע.
- החלון לתמלול חוזר מתחיל בדיוק בנקודה החשודה ונגמר בשקט, בלי הניסיון שלפניה - כל תוספת של "הקשר" מחזירה את האיחוד. קצה החלון לפחות 0.15 שנייה ממילה, אחרת המילה שבקצה נבלעת.
- גרסה חדשה נכנסת רק אם היא מכסה יותר מהקול ולא יורדת בביטחון.
- Whisper לפעמים ממציא טקסט על שקט (למשל "תודה רבה"). טקסט כזה לא נכנס.
3. בחירת הטייקים
- משפטים שטעיתי בהם נאמרים שוב, לפעמים כמה פעמים. מכל משפט קח את הניסיון האחרון והשלם.
- טייק חוזר יכול לאחד כמה משפטים קודמים, או להסתיים אחרת - תראה לי את החלופה.
- דיבור שהוא לא תוכן (הערות לעצמי בין טייקים) לא נכנס.
- אם בתחילת הטייק האחרון עוד רואים תזוזה של כניסה לפריים - קח את הקודם. אם אין קודם - תשאל אותי.
- הכתוביות הן מה שנאמר בפועל, גם אם זה שונה מהתסריט.
- לפני שאתה חותך, תראה לי טבלה: משפט, איזה טייק בחרת, ולמה. תסמן בה מילים ושמות שאתה לא בטוח בהם - בלי תסריט אין לך איך לדעת.
4. חיתוך
- נקודות החיתוך לפי עוצמת הקול, ולא רק לפי הזמנים של Whisper - הם יוצאים מוקדמים או מאוחרים מדי. ריפוד קטן לפני ואחרי כל טייק, רק לתוך שקט.
- בכל קאט בערך 0.1 שנייה בין סוף הדיבור לתחילת הדיבור הבא - זה מה שהאוזן שומעת, לא רק שקט מוחלט. שקט ארוך מ-0.6 שנייה בתוך טייק מתקצר. fade של כמה מילישניות בכל קאט, כדי שלא יהיה קליק.
- אף פעם לא באמצע מילה. בין שתי מילים צמודות: חותכים בנקודה השקטה ביותר ביניהן, ובודקים בתמלול חוזר של הקטע אחרי החיתוך שלא נבלעה או הוכפלה מילה.
- התמלול החוזר לא תופס עיצור שנחתך בתחילת מילה (כמו צ' או ס'). לכן תבדוק גם לפי עוצמת הקול שאף קטע לא מתחיל בתוך צליל שממשיך ישר לדיבור. וכשאבקש להדק קאט - ההידוק לעולם לא נכנס לתוך תחילת מילה.
- צליל חלש וקצר שצמוד לדיבור (עיצור כמו כ', פ', ט') שייך למילה ולא נחתך.
- נשימות במיקרופון: נשימה היא קול חלש מחוץ למילים, שנשמע כמו רעש. נשימה מופרדת מהדיבור - לא נכנסת; נשימה צמודה - נשארת ומונמכת. מילה קצרה היא לא נשימה.
5. קול
- ניקוי רעש עדין והשוואת עוצמה ל-14- LUFS (loudnorm בשני מעברים). אם ההקלטה חזקה - מגביל עדין לפני loudnorm, כדי שהאיזון יישאר אחיד, ועם latency=1, אחרת הקול זז אחרי התמונה. אם ההקלטה במונו - להעביר לסטריאו בלי להגביר אותה ב-3dB.
- קול ותמונה מסונכרנים לכל אורך הסרטון, בלי פריימים קפואים בסוף.
6. כתוביות וכותרת - ברמושן (Remotion)
- רמושן מרנדר טקסט בדפדפן, ולכן עברית יוצאת מימין לשמאל ובצורה נכונה. (הרישיון: חינם לעסק של עד שלושה עובדים.)
- כתוביות: 1-3 מילים בכל פעם, עד כ-15 תווים, שבירה אחרי פיסוק. לבן, עבה, עם צל רך, בערך ב-60% מגובה המסך. פונט: היבו (Heebo) מגוגל פונטס, אם לא ביקשתי אחר.
- מילים באנגלית בתוך משפט בעברית - כיחידה אחת, כדי שהסדר לא יתהפך. גם פיסוק שאחרי מילה באנגלית, אחרת יוצא "אבל ?Dot". תבדוק את זה במדידה, לא רק בעין.
- שמות מותגים (Claude, OpenAI...) Whisper כותב בתעתיק עברי. בכתוביות תכתוב אותם באנגלית, ואחרי תחילית עברית - עם מקף ("ש-Claude"). על כל שם חדש תשאל אותי, ותשמור את התשובה במילון.
- כותרת בראש הסרטון, שתי שורות: הראשונה גדולה ובצבע (תשאל אותי איזה), השנייה קטנה בלבן. היא לא מכסה את הפנים, ונעלמת בסוף המשפט הראשון. אם הרקע בהיר - הצללה עדינה מאחוריה. את הנוסח אכתוב לך, או שתציע לי שלוש אפשרויות.
- אינסטגרם מכסה חלק מהמסך: שום דבר חשוב לא נכנס לחלק העליון (עד 250 פיקסלים מלמעלה), לתחתון (מ-1580) ולצד ימין למטה (x מעל 960, בגובה 1100-1700). תבדוק את זה על פריים מכל גרפיקה.
- בלי זום שמשתנה בקאט - זה נראה כמו תקלה.
7. קאבר
- תמצא בגלם רגעים בלי דיבור, שבהם התמונה חדה, העיניים פתוחות והמבט למצלמה (בין טייקים מסתכלים הרבה למטה), ותראה לי 6-8 מהם בדף אחד. אני אבחר.
- על הפריים שאבחר: כותרת קצרה וגדולה (אם לא ביקשתי אחרת - הכותרת של הסרטון), בשתי גרסאות עיצוב. הכותרת בתוך החיתוך 3:4 שאינסטגרם מציג בגריד (בערך y 240-1680).
8. הסרטון הסופי
- 1080x1920, h264, crf 18, בקצב הפריימים של הצילום.
- לפני שאתה אומר "מוכן": תבדוק שאין קאט באמצע מילה, שבכל קאט יש לפחות 0.05 שנייה שקט, שאין פריימים כפולים, שהקול והתמונה מסונכרנים (הפרש של עד 0.005 שנייה), שהעוצמה בערך 14- LUFS ושהשיא לא עולה על 1- dBTP. ותמדוד בכל קאט את הפער שהאוזן שומעת, מסוף הדיבור לתחילת הדיבור הבא: על כל קאט ארוך מרבע שנייה - תשאל אותי אם להדק. ותראה לי כמה פריימים לבדיקה בעין.
איך עובדים:
- כל סרטון בתיקייה משלו: גלם, תמלול, טייקים, סופי.
- תכתוב קובץ הוראות (CLAUDE.md) עם הסגנון שלי והכללים, ובכל פעם שאתקן אותך - תעדכן אותו. ככה כל סרטון הבא מהיר יותר.
- כל גרפיקה, פונט ואייקון שתייצר נשמרים בספרייה אחת, לשימוש חוזר.
- נתחיל מסרטון קצר אחד. הסרטון נמצא כאן: