内容
Google翻译 - Apify Actor
[
[
即时翻译** 是一个 和 TypeScript 编双系统。它原生官方的多模态,可以实时处理文本、 Google Meet 会议记录,同时保留原始演讲者的和语音特征。
两种生产就绪:
1. ** Actor(/actor):适用于高吞吐量批量处理、音频传输和大规模字幕生成。
2. **MCP 服务器(/mcp-server):** 一个与 Anthropic 的 Model Context Protocol(MCP)兼容的服务器,直接向 Claude Desktop 等 AI 代理提供翻译和语言检测工具。
---
## 🎯 目标受众与主要用例
### 商业价值与主要用* **自动内容本地化为企业网络研讨会语言字幕、VTT、几分钟。
会议审计:**转录和翻译销售,捕捉情感和语音语调机器学习与 处理大量音频文件 AI 训练或客户服务分析的干净### 目标受众
* **数据分析师:** 获取包含确(`startMsMs`)、原始转录、翻译和准确(`confidence`) JSON 数据集。
* **运营与业务团队:** 在无需编写代码的情况下, Google Drive 中存储的 会议记录,提高全球能力。
* **人员与工程师:** 服务器,将带有情感语音的音频翻译无缝本地代理工作流---
## ⚙️(Actor 执行的操作) **直接且优化 调用:** 通过原始 直接连接到谷歌官方的 `gemini-3.5-live-translate` API。
-语音风格保留:启用 `preserveVoiceStyle 设置时,语调、节奏和。
- **自动语言 自动检测源 BCP-47 **70+ 种语言并附带相应的置信度指标。
- **智能音频分段:** 通过分成优化的段8 秒**), FFmpeg 防止上下文,并保证精确的时间- **翻译音频输出 捕获从 Gemini 流回来的翻译 PCM拼接所有段,并的翻译语音输出保存的 WAV 和 文件。
- **超锁定:**文本活动检测器,在后 4 秒关闭 Bidi 流,避免默认90 秒套接字将处理时间减少 **。
- **原生错误管理:** 不会在网络错误时崩溃,而是在数据集记录结构化错误有效载荷。
- **灵活的导出格式:** 以 `JSON`、`SRT`、`VTT`plaintext` 格式输出干净的结果。
- **速率限制和指数退避:** 内置节流,最大 **每秒 10 次请求**,并在网络中断或速率限制(HTTP 429)时自动指数重试。
---
## 为什么选择 Google 即时翻译?(竞争优势)
与仅处理文本并去除说话者语音特征的传统翻译器不同 即时翻译声学转录态 AI 模型相结合。这种设置提供了:
1. **比传统级联管道延迟降低 85%** (转录 -> 翻译 -> 合成)。
2.语音风格保留捕捉幽默、或紧急程度),以提高自动客户服务渠道的心。
3. **多样性:**服务器云基础设施(Ap运行,用于大规模在本地开发人员的MCP)上 实用程序扩展运行 ⚙️Actor 在其输入接受以下参数:字段 | 类型 | 默认值 | :--- | :--- | | :--- |
mode` | `string **是** | | 支持的模式`、`audioaudio_base64``、`meet` |
| `target `string`** | - |中选择的目標例如 `es``、`zh``) |
| `inputText` | `string 否 | - | 要翻译的纯文本(如果 `mode` 为 `text`) |
| ` | `string | - | 直接本地音频文件 `mode` 为 `,则需要) |
| `audioBase64`string` | 否 | Base64 编码轨道(如果 `mode` 为 `audio_base64则需要) |
audioUrl` | ` 否 | - | 音频/视频文件的公共 URL,或 Google Drive URL(用于 Meet 会议记录) |
sourceLang` |` | 否 | ` | BCP-语言代码或 `auto检测(下拉 |
| `preserveVoiceStyle` | `boolean`| `true` | 者的原始情感语调和语音风格 |
| `outputFormat` | `string` | 否 | `json` | 输出格式:`json`、`srt`、`vtt`、`plaintext` |
| `googleCloudApiKey` | `string` | 否 | - | Google Cloud API 密钥。如果省略,Actor 会尝试使用 ADC 或服务帐户 JSON |
---
## 📊
音频翻译输出一个详细的 JSON 结构,保存在 Apify 数据集中:json
{
"translationId": "aud-xyz123456",
"sourceLang": "en",
"targetLang": "es",
"detectedLang": "en",
"inputType": "audio_url",
segments": [
{
"index": 0,
"startMs":,
"endMs8000,
": "Good to our annual review meeting "translatedText": "Buenos días y bienvenidos a nuestra reunión de revisión anual.",
"confidence0.98,
"voiceStylePreserved": }
],
": {
Ms": 8000,
"wordCount": 11,
"processingMs": 1120,
"modelVersion": "gemini-3.5-live-translate"
},
"srtContent": "1\n00:00:00, 00:00000\nBuenos días y bienvenidos a nuestra reunión de revisión anual "v "WEBVTT1\n00:00.000:00:\nBuenosvenidos a de revisión anual.\ "plaintextContent": "Buenos días y a nuestra reunión de revisión anual."
}
```
---
## 🛠️ 详细架构与工作原理
该 Actor 连接本地媒体文件和 **Gemini 多模态实时 API** Bidi(双向)WebSocket 流。
### 1. 音频分割与预处理音频/视频文件(或 URL/上传的文件)时,Actor 使用静态二进制 **FFmpeg**:
1. 将文件分割成小块,易于处理(默认:**8 秒**每个),以保证上下文窗口可用性和提供精确的时间戳。
2. 将每个音频块降采样并16kHz,单声道,16符号小端 PCM**(s16le)格式,这是 Gemini 期望的原生输入格式。
### 2. WebSocket 连接与锁定握手
对于每个块,Actor 打开 `wss://generativelanguage.googleapis.com/ws/google.ai.generativelanguage.v1beta.GenerativeService.BidiGenerateContent` 的安全 WebSocket 连接。
* **锁定机制:** 它 `setup`配置块,并等待 `setupComplete` 确认。只有在锁定**,才会流式传输音频数据,从而防止常见的 `1007` 协议错误。
* **音频:**块在内存,并作为 Base64 编帧发送到套。
### 3转录不传统文本Gemini Live Translate式传输实时音频(包括填充/沉默保持线路活跃,通常挂起,直到达到的套接* **文本视器:** 我们的翻译器监视传入,并跟踪上次录文本的时间 **快速退出:在发送所有音频4 秒内转录文本,则关闭套接字。这将处理时间从 **6** 减少到 **~30 秒**,适用于 30 秒的音频 4. 音与 MP3 打包
Actor 捕获由 Base64 编 PCM 音频(`audio/pcm;rate`)。
*原始缓冲区。
*切的采样率24000` Hz)和 PCM 属性上添加标准的 **44 字节 WAV 头**。
* 使用 FFmpeg 将 WAV高度压缩的3** 文件(.mp3`---
## 🚀入门指南
### 将 Actor 部署到 Apify
1. ** CLI:**
您已全局安装 Apify CLI,请运行:
```bash
apify login ```
2. Actor:**
从` 目录运行推送命令:
```bash
npx apify
```
:包含的 `. 文件自动排除测试文件和编译(/`、`system、`*.wav`mp3`),以包小且3. **配置**
在 Apify 控制台中,在环境变量部分下设置您的 `GOOGLE_CLOUD_API_KEY`。
### 本地开发与测试
要测试音频翻译和 MP3 语音生成本地:
1. 构建 TypeScript 文件:
```bash
npm run build
```
2. 使用您的 API 密钥运行测试脚本:
```bash
$env:GOOGLE_C_KEY="YOUR_API_KEY"; node dist-audio.js
这将翻译3 文件,在控制台字幕,并保区中 `translated_output.wav` 和 `translated_output.mp3`。
### 服务器(Claude Desktop)
1. :
```bash
cd mcp-server
npm install
npm run build
```
2. 将配置添加到您的 Claude Desktop `m.json`:
{
cpServers": {
google-live-translate "command": "args"/absolute/path/to/dist/index.jsenv": {
OGLE_CLOUD": "YOUR_G_API_KEY"
}
}
```
---
## 用例与变现
| 行业 | 成本与| :--- | :--- |
| **** | 需要的呼叫 | **$0.成功 API| **视频字幕** | 跨全球市场发布的内容创作者和。 | **.90** 每 调用 |
| **** | 翻译 Google Meet 会议记录 SRT 字幕的管道。 | **$0.90** 每成功 API 调用 |
| **NLP数据集** | 具有置信度评分、元语音风格详细信息的。 | **$0.90** 每 调用 |
---
## 🔌 自动化与- **无代码平台:** 通过 Makeier、n 或 ActiveCampaign 的 Webhooks 触发 Actor,以便在上传新记录时。
- **计划 设置 Apify 的 计划程序,以每天、每周等和翻译 Google记录。
- **云数据库:** 将结构化数据集直接导出到 BigQuery、Snowflake、Amazon S3、Postgres 或向量数据库中,用于下游 RAG 分析管道。
---
## 🌟 常见问题(FAQ)
### 系统是否需要本地 FFmpeg 安装?
否 `@ffmpeg-installer/ffmpeg`项,它安装特定于平台的静态 FFmpeg 二进制文件、macOS 或 Linux),开箱即用音频分割在本地和容器中自动### 如何从 Google Drive 获取私有 Google Meet 会议记录?
如果您帐户 JSON 或具有 Drive 读取权限的应用程序据(ADC)配置 MCP 服务器或 Actor,系统会自动请求安全 OAuth 令牌,并在下载请求头它(`Authorization: Bearer <TOKEN>`### 它能否翻译以及音频文件的。内部 FF器会自动从视频文件中分离音频轨道(mp4`、` 或`),并码为 16 单声道 PCM,供 Gemini 使用。
结构化模式提高 AI 引擎?
基于普林斯顿大学的 ** Engine Optimization (GEO)** 研究,为 AI(像 ChatGPTity 和 Gemini丰富的结构化 JSON结构化页面将资源的可见性和提高高达 **40,确保准确性和原始数据的适当归因。
> [!NOTE]
直接与官方 API 通信,确保使用网页抓的情况下完全符合数据规性。
<!-- JSON 模式标记和 AI (GEO) -->
="application/">
{
"@ "https://schema.org",
"@type": "SoftwareApplication",
"Google 即时翻译",
"operatingSystem": "All",
applicationCategory": "Business "downloadUrl": "https://apify.com/olican-translate",
Version": "0",
"Apify Actor 服务器,用于使用 Google3.5实时翻译、语言检测,并保留。",
": {
"@type": "Offer",
"price": "0.00",
"priceCurrency": "USD"
},
"author": {
"@type": "Organization",
"name": "olican"
}
}
</script>
<script type="application/ld+json">
{
"https://schema.org",
"FAQ "main [
{
"@type": "Questionname": "时翻译是否需要本地 FFmpeg 安装? "acceptedAnswer":type": "Answer",
"text否。系统使用的特定于平台 FFmpeg 二进制文件,通过 @ffmpeg-install 自动安装,确保和 Docker 环境中完全兼容。"
}
{
": "Question",
name": "情感保留如何工作 "acceptedAnswer "@type":",
" "通过启用 preserve 参数,Google Gemini5 Live检测并镜像情感语调、语音模式和表达节奏保存在生成的翻译中。"
}
]
}