הגדרת השפה והקול

במאמר הזה מוסבר איך להגדיר תשובות של דיבור מסונתז וזיהוי פעילות קולית ב-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,
        }
    }
}
      

המאמרים הבאים