Gemini 3.5 实时翻译支持使用 gemini-3.5-live-translate-preview 模型在 70 多种语言之间实现低延迟的实时语音翻译,该模型可通过 Agent Platform 获取。通过为 Live API 配置翻译设置,您可以流式传输一种语言的音频,并接收另一种语言的翻译音频输出,从而实现无缝的实时语音到语音翻译。
如需开始使用,请查看 Gemini 3.5 实时翻译入门笔记本
直播翻译
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 格式流式传输音频:
输入格式:16kHz 的 16 位线性 PCM(单声道,小端序)。
输出格式:24kHz 的 16 位线性 PCM(单声道,小端序)。
流式传输分块大小:建议使用时长为 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 实时翻译支持以下语言和 BCP-47 语言代码:
| 语言 | BCP-47 代码 | 语言 | BCP-47 代码 |
|---|---|---|---|
| 南非荷兰语 | af |
哈萨克语 | kk |
| Akan | 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 |
|
|
| 使用选项 |
|
|
| 支持的区域 |
|
|
| 版本 |
|
|