במאמר הזה מוסבר איך להגדיר תשובות של דיבור מסונתז וזיהוי פעילות קולית ב-Gemini Live API. אתם יכולים להגדיר תגובות במגוון שפות וקולות באיכות HD, וגם להגדיר את ההגדרות של זיהוי פעילות קולית כדי לאפשר למשתמשים לקטוע את המודל.
הגדרת השפה והקול
מודלים של אודיו מקורי כמו gemini-live-2.5-flash-native-audio יכולים לעבור בין שפות באופן טבעי במהלך שיחה. אפשר גם להגביל את השפות שבהן הוא מדבר באמצעות הגדרת ההגבלה בהוראות המערכת.
במודלים שאינם מבוססים על אודיו מקורי, כמו gemini-live-2.5-flash, אפשר להגדיר את השפה ב-speech_config.language_code.
הקול מוגדר בשדה voice_name בכל המודלים.
בדוגמת הקוד הבאה אפשר לראות איך מגדירים את השפה והקול.
from google.genai.types import LiveConnectConfig, SpeechConfig, VoiceConfig, PrebuiltVoiceConfig config = LiveConnectConfig( response_modalities=["AUDIO"], speech_config=SpeechConfig( voice_config=VoiceConfig( prebuilt_voice_config=PrebuiltVoiceConfig( voice_name=voice_name, ) ), language_code="en-US", ), )
קולות נתמכים
Gemini Live API תומך ב-30 אפשרויות קוליות בשדה voice_name:
|
Zephyr -- Bright Kore -- Firm Orus -- Firm Autonoe -- Bright Umbriel -- Easy-going Erinome -- Clear Laomedeia -- Upbeat Schedar -- Even Achird -- Friendly Sadachbia -- Lively |
– קליל פנריר – מתלהב אאודה – נעים אנסלדוס – נשימתי אלג'יבה – חלק אלגניב – מחוספס אכרנר – רך גקרוקס – בוגר זובנלגנובי – לא רשמי סדלטאגר – בעל ידע |
כארון – אינפורמטיבי לדה – צעיר קלירואה – נינוח יאפטוס – ברור דספינה – חלק ראס אלגתי – אינפורמטיבי אלנילם – מוצק פולכרימה – קדימה וינדמיאטריקס – עדין סולאפט – חם |
שפות נתמכות
Gemini Live API תומך בשפות הבאות:
| שפה | קוד BCP-47 |
|---|---|
| ערבית (מצרית) | ar-EG |
| בנגלית (בנגלדש) | bn-BD |
| הולנדית (הולנד) | nl-NL |
| אנגלית (הודו) | חבילה en-IN & hi-IN |
| אנגלית (ארה"ב) | en-US |
| צרפתית (צרפת) | fr-FR |
| גרמנית (גרמניה) | de-DE |
| הינדית (הודו) | hi-IN |
| אינדונזית (אינדונזיה) | id-ID |
| איטלקית (איטליה) | it-IT |
| יפנית (יפן) | ja-JP |
| קוריאנית (קוריאה) | ko-KR |
| מראטהית (הודו) | mr-IN |
| פולנית (פולין) | pl-PL |
| פורטוגזית (ברזיל) | pt-BR |
| רומנית (רומניה) | ro-RO |
| רוסית (רוסיה) | ru-RU |
| ספרדית (ארצות הברית) | es-US |
| טמילית (הודו) | ta-IN |
| טלוגו (הודו) | te-IN |
| תאית (תאילנד) | th-TH |
| טורקית (טורקיה) | tr-TR |
| אוקראינית (אוקראינה) | uk-UA |
| וייטנאמית (וייטנאם) | vi-VN |
הגדרת זיהוי פעילות קולית
זיהוי פעילות קולית (VAD) מאפשר למודל לזהות מתי אדם מדבר. היכולת הזו חיונית ליצירת שיחות טבעיות, כי היא מאפשרת למשתמש לקטוע את המודל בכל שלב.
כש-VAD מזהה הפרעה, תהליך היצירה הנוכחי מבוטל ונמחק. רק המידע שכבר נשלח ללקוח נשמר בהיסטוריית הסשן. לאחר מכן השרת שולח הודעה BidiGenerateContentServerContent כדי לדווח על ההפרעה. השרת מוחק את כל קריאות הפונקציה שממתינות לשליחה ושולח הודעה BidiGenerateContentServerContent עם מזהי הקריאות שבוטלו.
Python
config = { "response_modalities": ["audio"], "realtime_input_config": { "automatic_activity_detection": { "disabled": False, # default "start_of_speech_sensitivity": "low", "end_of_speech_sensitivity": "low", "prefix_padding_ms": 20, "silence_duration_ms": 100, } } }
המאמרים הבאים
- איך מתחילים ומנהלים סשנים בשידור חי
- שליחת סטרימינג של אודיו ווידאו
- איך משתמשים בתרגום דיבור לדיבור
- שיטות מומלצות לשימוש ב-Gemini Live API