# מפת דוברים

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

Source: https://nodaro.ai/he/docs/nodes/audio/speaker-map

רכיב **מפת דוברים** מזהה איזו מצלמה מצלמת כל דובר, לפי המיקרופונים של המצלמות עצמן. כך עריכה עם כמה מצלמות עוברת לאדם הנכון בלי שמישהו ימלא טבלה. חברו את התוצאה שלו לקלט **מפת דוברים** של רכיב [מחליף מצלמות](https://nodaro.ai/docs/nodes/video/camera-switch), שמציב כל חיתוך במצלמה של האדם שמדבר.

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

הרכיב רץ מקומית, בלי מודל AI ובלי מפתח ספק, ולכן הוא עובד בכל מהדורה.

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

## התחלה מהירה
### הוספת הרכיב
הקישו Tab על הקנבס ובחרו **אודיו › ניתוח › מפת דוברים**.

### חיבור ההקלטות
חברו 2–6 הקלטות לקלט **מצלמות**: המצלמות, וגם הקלטת המאסטר והצילום הרחב כשיש לכם אותם.

### חיבור התמלול וההיסטים
חברו לקלט **תמלול** רכיב [תמלול](https://nodaro.ai/docs/nodes/audio/transcribe) שהורץ כשתיבת הסימון **זיהוי דוברים** מסומנת. כשההקלטות התחילו בנפרד, חברו את הפלט **היסטים** של רכיב [סנכרון אודיו](https://nodaro.ai/docs/nodes/audio/audio-sync) לקלט **היסטים**.

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

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

- העלאת וידאו → סנכרון אודיו (מקורות)
- העלאת וידאו → מפת דוברים (מצלמות)
- סנכרון אודיו → מפת דוברים (היסטים)
- תמלול → מפת דוברים (תמלול)
- מפת דוברים → מחליף מצלמות (מפת דוברים)

## קלטים
| קלט | מה הוא מקבל | מה הוא עושה |
| --- | --- | --- |
| **מצלמות** | רכיבי וידאו ואודיו, 2–6 | כל ההקלטות: המצלמות, וגם הקלטת המאסטר והצילום הרחב כשיש לכם אותם. כל הקלטה מזוהה לפי הרכיב שהיא מגיעה ממנו, אותו מזהה שתוכנית עריכה נותנת לה, ולכן המפה מתאימה לרכיב מחליף מצלמות כמו שהיא. נדרש. |
| **היסטים** | מידע | תוצאה של רכיב [סנכרון אודיו](https://nodaro.ai/docs/nodes/audio/audio-sync) על אותן הקלטות. השאירו אותו בלי חיבור כשההקלטות כבר חולקות שעון אחד. כל הקלטה יכולה להיות הייחוס של סנכרון האודיו. אופציונלי. |
| **תמלול** | מידע | התמלול ברמת המילה עם תוויות דוברים, מרכיב תמלול שהורץ כשתיבת הסימון זיהוי דוברים מסומנת. זה התמלול של הקלטת המאסטר, או של ההקלטה הראשונה כשאין מאסטר, ולפי השעון שלה נקראות התורות. נדרש. |

## פלטים
| פלט | מה הוא מעביר |
| --- | --- |
| **מפת דוברים** | איזו מצלמה מצלמת כל דובר. חברו אותו לקלט **מפת דוברים** של רכיב מחליף מצלמות. |
| **עריכה (EDL)** | ההקלטות כעריכה אחת על שעון המאסטר: ההיסטים מוחלים, המאסטר והצילום הרחב מסומנים, והדוברים של כל מצלמה נקבעים לפי המפה. |

הפלט **מפת דוברים** נראה כך:

```json
{
"version": 1,
"speakerMap": { "speaker_0": "camA", "speaker_1": "camB", "speaker_2": "" },
"confidence": {
"speaker_0": { "camera": "camA", "marginDb": 9.4 },
"speaker_1": { "camera": "camB", "marginDb": 6.1 },
"speaker_2": { "camera": "", "marginDb": 1.2 }
},
"notes": ["\"speaker_2\": no clear camera (the loudest led by 1.2 dB) — shown on the wide shot; set the map to override."]
}
```

| שדה | משמעות |
| --- | --- |
| `speakerMap` | כל תווית דובר, עם המזהה של המצלמה שלו. הערך `""` פירושו אין מצלמה ברורה: הדובר מוצג בצילום הרחב, או בכל מצלמה עם תמונה כשאין צילום רחב. |
| `confidence` | לכל דובר, המצלמה שהוא קיבל ובכמה dB המצלמה החזקה ביותר הקדימה את הבאה אחריה. הערך הוא `null` כשפחות משתי מצלמות שמעו אותו. |
| `edl` | אותה עריכה כמו בפלט **עריכה (EDL)**. השדה מופיע כשאפשר היה לקרוא את ההקלטות ויש תמונה בהקלטה כלשהי מלבד המאסטר. |
| `notes` | אזהרות בשפה פשוטה: דובר בלי מצלמה ברורה, דובר שפחות משתי מצלמות שמעו, מצלמה בלי רצועת אודיו ומצלמה שלא שמעה אף אחת מהתורות. |

## הגדרות
| הגדרה | מה היא עושה |
| --- | --- |
| **מצלמות** | ההקלטות המחוברות, לפי סדר החיבור. |
| **הקלטת מאסטר** | ההקלטה ששומעת את כולם, כגון מיקרופון ראשי. היא לא המצלמה של אף אחד, והעריכה רצה לפי השעון שלה. ברירת המחדל היא **ללא**. |
| **צילום רחב** | המצלמה שמצלמת את כולם. היא לא המצלמה של אף אחד, ודובר בלי מצלמה ברורה מוצג בה. היא חייבת להיות מצלמה, ולא הקלטה של סאונד בלבד. ברירת המחדל היא **ללא**. |
| **פער נדרש** | בכמה המצלמה החזקה ביותר צריכה להיות חזקה מהבאה אחריה כדי שדובר יקבל אותה. ברירת המחדל היא 3 dB, וחלונית ההגדרות מציעה 1–12 dB. ערך נמוך יותר נותן מצלמה ליותר דוברים. ערך גבוה יותר משאיר רק את הברורים. |

### איך נקבעות המצלמות
לכל דובר, לאורך כל התורות שלו:

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

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

אלה נדחים לפני שנגבים קרדיטים:

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

על הקנבס, מאסטר או צילום רחב שהם לא אחת מההקלטות לא נלקחים בחשבון. דרך ה-API, הבקשה נדחית.

## טיפים
- **סמנו את המיקרופון הראשי ואת הצילום הרחב.** אחרת הסאונד שלהם מתחרה בסאונד של המצלמות, וצילום רחב ששומע את כולם עלול לזכות בדובר.
- **חברו את ההיסטים כשההקלטות התחילו בנפרד.** בלעדיהם, כל מצלמה נקראת לפי הזמנים של התמלול, ומצלמה שהתחילה מאוחר נשמעת ברגעים הלא נכונים.
- **בדקו את ההערות.** דובר בלי מצלמה ברורה בדרך כלל יושב בין שתי מצלמות, או שהמיקרופונים של המצלמות כוונו בצורה שונה מאוד. קבעו את המצלמה של הדובר הזה בטבלה **דוברים** של רכיב מחליף מצלמות: מצלמה שנקבעה שם גוברת על המפה.
- **כוונו את הפער.** העלו את **פער נדרש** כשהמפה בוחרת מצלמה שחזקה רק במעט. הורידו אותו כשיותר מדי דוברים נשארים בלי מצלמה ברורה.
- **תנו לרכיב פריסת דוברים לעשות את זה.** רכיב [פריסת דוברים](https://nodaro.ai/docs/nodes/video/speaker-layout) מריץ בשבילכם את סנכרון האודיו, התמלול, מפת הדוברים ומחליף המצלמות, וממסגר כל דובר במצלמה שלו.

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

## דרך ה-API
הנתיב `POST /v1/speaker-map` מקבל את `sources`, רשימה של 2–6 אובייקטים עם `id` ייחודי, `url` ו-`kind` אופציונלי, ואת `transcript`. הוא מקבל גם, באופן אופציונלי, את `offsets` (תוצאה של סנכרון אודיו), `masterSourceId`, `wideSourceId` ו-`marginDb`, מ-0 עד 30. הערך `kind: "audio"` מסמן הקלטה של סאונד בלבד, כגון מיקרופון ראשי, שאף פעם לא תהיה המצלמה של אף אחד.

בקשה פגומה נדחית עם `400 validation_error`, ותמלול בלי תוויות דוברים נדחה עם `422 no_speakers`, בשני המקרים לפני שמשהו משוריין. ב-`output_data.json` של המשימה שהושלמה נמצאת התוצאה **מפת דוברים** שלמעלה, וב-`output_data.edl` נמצאת העריכה.

המתודה ב-SDK היא `client.edit.speakerMap`, הפקודה ב-CLI היא `nodaro edit speaker-map`, וכלי ה-MCP הוא `speaker_map`. כדי להעביר את התוצאה לרכיב מחליף מצלמות, שלחו אותה כ-`speakerMapResult` ב-SDK, כ-`--speaker-map-result` ב-CLI או כ-`speaker_map_result` ב-MCP. ראו את דף ה-API [קול ומדיה](https://nodaro.ai/docs/developers/api/voice-and-media), את הדף [עריכה ב-SDK](https://nodaro.ai/docs/developers/sdk/editing) ואת [מדריך כלי ה-MCP](https://nodaro.ai/docs/mcp/tools).

## שאלות נפוצות

### מה עושה רכיב מפת דוברים?

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

### מה צריך לחבר לרכיב מפת דוברים?

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

### מה קורה כשאף מצלמה לא שומעת דובר בבירור?

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

### כמה קרדיטים עולה רכיב מפת דוברים?

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

### האם רכיב מפת דוברים צריך מודל AI או מפתח ספק?

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