Gemini 3.5 Live Translate תומך בתרגום דיבור לדיבור בזמן אמת עם זמן אחזור קצר בין יותר מ-70 שפות באמצעות המודל gemini-3.5-live-translate-preview, שזמין דרך Agent Platform. אם מגדירים את Live API עם הגדרות תרגום, אפשר להעביר אודיו בסטרימינג בשפה אחת ולקבל פלט אודיו מתורגם בשפה אחרת, וכך ליהנות מתרגום חלק בזמן אמת של דיבור לדיבור.
כדי להתחיל, עיינו במדריך למתחילים של Gemini 3.5 Live Translate.
תרגום של סטרימינג בשידור חי
BidiGenerateContent (Live) API שומר על חיבור WebSocket דו-כיווני קבוע. אתם מעבירים קטעי אודיו גולמיים לסשן ומקבלים קטעי אודיו מתורגמים ותמלילים אופציונליים בזמן אמת.
import asyncio
from google import genai
from google.genai import types
# Initialize the client for Vertex AI / Agent Platform
client = genai.Client(enterprise=True, project=PROJECT_ID, location=LOCATION)
model = "gemini-3.5-live-translate-preview"
config = types.LiveConnectConfig(
response_modalities=["AUDIO"],
input_audio_transcription=types.AudioTranscriptionConfig(),
output_audio_transcription=types.AudioTranscriptionConfig(),
translation_config=types.TranslationConfig(
target_language_code="pl",
echo_target_language=True,
),
)
async def streaming_translation(audio_stream_generator):
async with client.aio.live.connect(model=model, config=config) as session:
# In a complete implementation, stream audio chunks concurrently:
# async for chunk in audio_stream_generator:
# await session.send_realtime_input(
# audio=types.Blob(data=chunk, mime_type="audio/pcm;rate=16000")
# )
async for response in session.receive():
if response.server_content:
server_content = response.server_content
if server_content.input_transcription:
print(f"Input transcript: {server_content.input_transcription.text}")
if server_content.output_transcription:
print(f"Output transcript: {server_content.output_transcription.text}")
if server_content.model_turn:
for part in server_content.model_turn.parts:
if part.inline_data:
translated_audio_chunk = part.inline_data.data
# Process or stream translated audio (24kHz PCM)
print(f"Received translated audio: {len(translated_audio_chunk)} bytes")
מפרט האודיו
מעבירים את האודיו בסטרימינג כ-PCM ליניארי גולמי, Little-endian, 16 ביט:
פורמט קלט: PCM ליניארי של 16 ביט ב-16kHz (מונו, Little-endian).
פורמט הפלט: PCM ליניארי של 16 ביט בתדר 24kHz (מונו, Little-endian).
גודל מקטע הסטרימינג: מומלץ להשתמש במקטעים באורך 100 אלפיות השנייה כדי להגיע לאיזון אופטימלי בין קצב העברת הנתונים לזמן האחזור.
# Streaming an audio chunk to an active session
await session.send_realtime_input(
audio=types.Blob(
data=pcm_bytes,
mime_type="audio/pcm;rate=16000",
)
)
הגדרות אישיות
כדי להגדיר תרגום בזמן אמת, צריך לצרף TranslationConfig אל LiveConnectConfig.
פרמטרים להגדרה
-
target_language_code(מחרוזת): קוד השפה בתקן BCP-47 של שפת הפלט הרצויה (למשל,"pl", "es", "ja"). ברירת המחדל היא"en". -
echo_target_language(בוליאני): קובע את ההתנהגות כשהקלט המדובר כבר בשפת היעד:-
True: המודל משחזר את הדיבור שהוזן וחוזר עליו בזרם הפלט. -
False: המודל לא מגיב כשהקלט תואם לשפת היעד. ברירת המחדל היאFalse.
-
-
input_audio_transcription(AudioTranscriptionConfig): אופציונלי. התכונה מאפשרת תמלול טקסט מסונכרן של האודיו הנכנס מהמקור. -
output_audio_transcription(AudioTranscriptionConfig): אופציונלי. התכונה הזו מאפשרת תמלול טקסט מסונכרן של האודיו המתורגם היוצא.
שפות
Gemini 3.5 Live Translate תומך בשפות ובקודי השפה הבאים בתקן BCP-47:
| שפה | קוד BCP-47 | שפה | קוד BCP-47 |
|---|---|---|---|
| אפריקאנס | af |
קזחית | kk |
| אקאן | ak |
חמר | km |
| אלבנית | sq |
קיניארואנדה | rw |
| אמהרית | am |
קוריאנית | ko |
| ערבית | ar |
לאו | lo |
| ארמנית | hy |
לטבית | lv |
| אזרית | az |
ליטאית | lt |
| בסקית | eu |
מקדונית | mk |
| בלארוסית | be |
מלאית | ms |
| בנגלית | bn |
מלאיאלאם | ml |
| בולגרית | bg |
מראטהית | mr |
| בורמזית (מיאנמר) | my |
מונגולית | mn |
| קטלאנית | ca |
נפאלית | ne |
| סינית (פשוטה) | zh-Hans |
נורווגית | no, nb |
| סינית (מסורתית) | zh-Hant |
פרסית | fa |
| קרואטית | hr |
פולנית | pl |
| צ'כית | cs |
פורטוגזית (ברזיל) | pt-BR |
| דנית | da |
פורטוגזית (פורטוגל) | pt-PT |
| הולנדית | nl |
פנג'אבית | pa |
| אנגלית | en |
רומנית | ro |
| אסטונית | et |
רוסית | ru |
| פיליפינית | fil |
סרבית | sr |
| פינית | fi |
סינדהית | sd |
| צרפתית | fr |
סינהלה | si |
| גליציאנית | gl |
סלובקית | sk |
| גרוזינית | ka |
סלובנית | sl |
| גרמנית | de |
ספרדית | es |
| יוונית | el |
סונדנזית | su |
| גוג'ארטי | gu |
סווהילי | sw |
| האוסה | ha |
שוודית | sv |
| עברית | he |
טמילית | ta |
| הינדית | hi |
טלוגו | te |
| הונגרית | hu |
תאית | th |
| איסלנדית | is |
טורקית | tr |
| אינדונזית | id |
אוקראינית | uk |
| איטלקית | it |
אורדו | ur |
| יפנית | ja |
אוזבקית | uz |
| ג'אווה | jv |
וייטנאמית | vi |
| קנאדה | kn |
זולו | zu |
שיטות מומלצות
לשמור על דגימה עקבית: ודאו שקלט האודיו תואם באופן מלא ל-PCM מונו של 16kHz כדי למנוע שינויים בגובה הצליל ופגמים באודיו.
התמודדות עם סביבות אקוסטיות: המודל מסנן רעשי סביבה מתונים, אבל רעשי רקע חזקים או דיבור חופף יכולים לגרום לתרגום לא ברור.
הערכת מצב ההדהוד לפי תרחיש השימוש: מגדירים את echo_target_language=False להגדרות של מתורגמן חד-כיווני כדי להשתיק שידור חוזר מיותר כשהדוברים כבר משתמשים בשפת היעד.
| מזהה המודל | ['gemini-3.5-live-translate-preview'] |
|
|---|---|---|
| מודליות |
|
|
| יכולות |
|
|
| כלים |
|
|
| ממשקי API |
|
|
| אפשרויות צריכה |
|
|
| אזורים נתמכים |
|
|
| גרסאות |
|
|