Gemini 3.5 Live Translate 採用 gemini-3.5-live-translate-preview 模型,支援超過 70 種語言的低延遲即時語音轉語音翻譯,可透過 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")
音訊規格
以原始、小端序、16 位元線性 PCM 格式串流音訊:
輸入格式:16 位元線性 PCM,16kHz (單聲道,小端序)。
輸出格式:16 位元線性 PCM,24kHz (單聲道,小端序)。
串流區塊大小:建議使用 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 |
最佳做法
維持一致的取樣率:確保音訊輸入嚴格遵循 16kHz 單聲道 PCM,避免音高偏移和音訊偽影。
處理音訊環境:雖然模型會過濾中等環境噪音,但強烈的背景雜音或重疊的說話聲可能會導致翻譯語意模糊。
根據用途評估重複播放模式:在單向翻譯設定中,將 echo_target_language 設為 False,即可在講者已使用譯文語言時,避免不必要的重複播放。
| 模型 ID | ['gemini-3.5-live-translate-preview'] |
|
|---|---|---|
| 形式 |
|
|
| 功能 | ||
| 工具 | ||
| API |
|
|
| 用量方案 |
|
|
| 支援的地區 |
|
|
| 版本 |
|
|