Gemini 3.5 Live Translate mendukung terjemahan ucapan ke ucapan real-time berlatensi rendah antara lebih dari 70 bahasa menggunakan model gemini-3.5-live-translate-preview, yang tersedia melalui Agent Platform. Dengan mengonfigurasi Live API menggunakan setelan terjemahan, Anda dapat melakukan streaming audio dalam satu bahasa dan menerima output audio terjemahan dalam bahasa lain, sehingga memungkinkan terjemahan suara ke suara secara real-time dan lancar.
Untuk memulai, lihat notebook pengantar untuk Gemini 3.5 Live Translate
Terjemahan live streaming
BidiGenerateContent (Live) API mempertahankan koneksi WebSocket dua arah yang persisten. Anda melakukan streaming potongan audio mentah ke sesi dan menerima potongan audio terjemahan serta transkrip opsional secara real time.
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")
Spesifikasi audio
Streaming audio sebagai PCM linear 16-bit, little-endian, mentah:
Format input: PCM linear 16-bit pada 16 kHz (mono, little-endian).
Format output: PCM linear 16-bit pada 24 kHz (mono, little-endian).
Ukuran potongan streaming: Potongan berdurasi 100 md direkomendasikan untuk keseimbangan optimal antara throughput dan latensi.
# 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",
)
)
Konfigurasi
Terjemahan Langsung dikonfigurasi dengan melampirkan TranslationConfig ke LiveConnectConfig Anda.
Parameter konfigurasi
target_language_code(string): Kode bahasa BCP-47 untuk bahasa output yang diinginkan (misalnya,"pl","es","ja"). Defaultnya adalah"en".echo_target_language(boolean): Mengontrol perilaku saat input lisan sudah dalam bahasa target:True: Model mereproduksi dan menggemakan ucapan input dalam streaming output.False: Model tetap diam saat input cocok dengan bahasa target. Nilai defaultnya adalahFalse.
input_audio_transcription(AudioTranscriptionConfig): Opsional. Mengaktifkan transkripsi teks yang disinkronkan untuk audio sumber yang masuk.output_audio_transcription(AudioTranscriptionConfig): Opsional. Mengaktifkan transkripsi teks yang disinkronkan untuk audio terjemahan keluar.
Dukungan bahasa
Bahasa dan kode bahasa BCP-47 berikut didukung untuk Gemini 3.5 Live Translate:
| Bahasa | Kode BCP-47 | Bahasa | Kode BCP-47 |
|---|---|---|---|
| Afrika | af |
Kazak | kk |
| Akan | ak |
Khmer | km |
| Albania | sq |
Kinyarwanda | rw |
| Amhara | am |
Korea | ko |
| Arab | ar |
Laos | lo |
| Armenia | hy |
Latvia | lv |
| Azerbaijan | az |
Lituania | lt |
| Basque | eu |
Makedonia | mk |
| Belarus | be |
Melayu | ms |
| Bengali | bn |
Malayalam | ml |
| Bulgaria | bg |
Marathi | mr |
| Burma (Myanmar) | my |
Mongol | mn |
| Catalan | ca |
Nepal | ne |
| China (Aksara Sederhana) | zh-Hans |
Norwegia | no, nb |
| China (Aksara Tradisional) | zh-Hant |
Persia | fa |
| Kroasia | hr |
Polandia | pl |
| Ceko | cs |
Portugis (Brasil) | pt-BR |
| Denmark | da |
Portugis (Portugal) | pt-PT |
| Belanda | nl |
Punjab | pa |
| Inggris | en |
Rumania | ro |
| Estonia | et |
Rusia | ru |
| Filipino | fil |
Serb | sr |
| Finlandia | fi |
Sindhi | sd |
| Prancis | fr |
Sinhala | si |
| Galisia | gl |
Slovakia | sk |
| Georgia | ka |
Slovenia | sl |
| Jerman | de |
Spanyol | es |
| Yunani | el |
Sunda | su |
| Gujarat | gu |
Swahili | sw |
| Hausa | ha |
Swedia | sv |
| Ibrani | he |
Tamil | ta |
| Hindi | hi |
Telugu | te |
| Hungaria | hu |
Thai | th |
| Islandia | is |
Turki | tr |
| Indonesia | id |
Ukraina | uk |
| Italia | it |
Urdu | ur |
| Jepang | ja |
Uzbek | uz |
| Jawa | jv |
Vietnam | vi |
| Kannada | kn |
Zulu | zu |
Praktik terbaik
Pertahankan pengambilan sampel yang konsisten: Pastikan input audio benar-benar mematuhi PCM mono 16 kHz untuk mencegah pergeseran nada dan artefak audio.
Menangani lingkungan akustik: Meskipun model memfilter suara bising di sekitar yang sedang, obrolan latar belakang yang kuat atau pembicara yang tumpang tindih dapat menimbulkan ambiguitas terjemahan.
Evaluasi mode gema per kasus penggunaan: Tetapkan echo_target_language=False untuk penyiapan penerjemah satu arah guna menyembunyikan siaran ulang yang tidak perlu saat pembicara sudah menggunakan bahasa target.
| ID Model | ['gemini-3.5-live-translate-preview'] |
|
|---|---|---|
| Modalitas |
|
|
| Kemampuan |
|
|
| Alat |
|
|
| API |
|
|
| Opsi pemakaian |
|
|
| Region yang didukung |
|
|
| Versi |
|
|