@googledevs:一款完全离线的翻译器,由 @GoogleGemma 4、@Antigravity 和 @Raspberry_Pi 5 构建。Gemma 翻译器是一个…
摘要
Google Developers 展示了一款完全离线的语音翻译器,由 Gemma 4、Google Antigravity 和 Raspberry Pi 5 构建。开源 GitHub 仓库提供了设备端推理、自定义 Web UI 和用于便携式 AI 设备的部署脚本的代码。
查看缓存全文
缓存时间: 2026/08/12 22:33
一个完全离线的翻译器,基于 @GoogleGemma 4、@Antigravity 和 @Raspberry_Pi 5 构建。🛠️ Gemma Translator 是一个便携式 AI 实验项目,配有定制界面、打印外壳和有线电子元件,由最小的 Gemma 模型驱动。自己动手构建 → https://t.co/P1jWGbgzi6
google-gemma/gemma-translator
来源:https://github.com/google-gemma/gemma-translator
Gemma Translator
本仓库借助 Google Antigravity (https://antigravity.google/) 构建,包含用于运行由 Gemma 4 (https://ai.google.dev/gemma/docs/core) 和 LiteRT-LM (https://github.com/google-ai-edge/LiteRT-lm) 驱动的设备端、完全离线语音翻译器的代码。
本项目为小型手持显示屏(例如 480x320)优化了 Web 前端,并提供了一个与 Gemma 通信的 Python API 服务器(http.server)。文本转语音由 Moonshine (https://github.com/moonshine-ai/moonshine) 提供支持。
https://github.com/user-attachments/assets/343072ce-dc78-44a7-a783-99312845cabe
功能特性
- 设备端推理:使用 LiteRT-LM 在本地完全运行
gemma4-e2b模型。设置完成后无需联网。 - 语音界面:通过麦克风捕获音频,进行处理并发送到本地模型。
- 优化界面:为小型硬件屏幕(如 Raspberry Pi 显示屏)定制的复古终端风格。
- 统一启动:一个脚本即可启动 LLM 服务器、Python API 和 React 前端。
前提条件
- Python 3.10+
- Node.js 18+(推荐 20 LTS)和 npm —— 由
deploy-pi.sh在 Raspberry Pi OS / Debian 上自动安装 - Linux 或 macOS
所需硬件
- 计算设备:Raspberry Pi 5,8GB RAM
- 音频输入:麦克风或 USB 音频采集接口
- 音频输出:扬声器或耳机输出设备
- 显示屏:显示器或触摸屏(例如 480x320 kiosk 显示屏)
设置说明
-
赋予脚本可执行权限
确保设置、下载、启动和部署脚本具有可执行权限:
chmod +x setup.sh download_model.sh start.sh deploy-pi.sh -
安装依赖
运行设置脚本以创建 Python 虚拟环境(
venv)并安装所有必需软件包:./setup.sh -
下载模型
运行模型下载脚本,从 Hugging Face 获取
gemma4-e2b模型并将其导入 LiteRT-LM:./download_model.sh
运行应用
在开发模式下启动所有服务(LiteRT-LM、Python API 服务器和 Vite Web 界面):
./start.sh
要以生产模式运行(跳过 Vite 开发服务器,通过 backend/server.py 在 3000 端口提供来自 frontend/dist/ 的已编译界面资源):
./start.sh --prod
应用将可通过以下地址访问:
- Web 界面(开发):
http://localhost:5173 - Web 界面(生产)/ API 服务器:
http://localhost:3000 - LiteRT-LM:
http://localhost:9379
Raspberry Pi 设备部署
要部署为 Raspberry Pi 5(8GB)上的永久 systemd kiosk 服务:
./deploy-pi.sh
此自动化脚本安装 Debian 音频/venv 软件包,设置 Python 环境,构建生产版界面资源,下载 LiteRT 模型,注册 deploy/gemma-translator.service 中的 systemd 单元,并配置 LXDE GUI 自动启动(~/.config/lxsession/rpd-x/autostart),以 kiosk 模式启动指向 http://localhost:3000 的 Chromium。
项目结构
frontend/- React (Vite) Web 前端(index.html、src/、样式和 Vite 配置)。backend/- Python API 服务器(server.py和requirements.txt),用于 Moonshine 语音转文本、moonshine-voice 文本转语音和模型代理。deploy/- 可参数化的 systemd 服务单元模板(gemma-translator.service)。stl/- 用于 3D 打印硬件外壳的 STL 文件。setup.sh- 自动化 Python 虚拟环境创建和依赖安装。download_model.sh- 获取所需的 LiteRT 模型。start.sh- 多进程启动器,支持--prod和开发模式。deploy-pi.sh- 一键式 Raspberry Pi 自动化部署脚本。
键盘快捷键
Gemma Translator 支持两种键盘模式。您可以随时在**设置面板 →“键盘模式”**下拉菜单中切换。选择在重启后会被记住(存储在浏览器的 localStorage 中,键名为 keyboardMode)。
应用有两个通道(两人在 kiosk 上面对面):
- 通道 1 / 人员 1 —— 左侧/上方通道。
- 通道 2 / 人员 2 —— 右侧/下方通道。
每个通道都有一个循环切换语言的“转轮”,并录制语音,语音会被转写(Moonshine STT)、翻译(Gemma),并以另一通道的语言播放出来(moonshine-voice TTS)。
横向模式(默认)—— “活动人员”
每次只有一个通道是活动人员。活动通道以四角括号框出。您通过一组按键驱动所有操作,并用空格键切换焦点。
| 按键 | 操作 | 描述 |
|---|---|---|
| 空格键 | 切换活动人员 | 切换活动通道(人员 1 ⇄ 人员 2)。录制期间禁用。 |
| Z | 录制(按住说话) | 按住以录制活动人员;松开以转写和翻译。 |
| ← 左箭头 | 上一个语言 | 向后切换活动人员的语言。 |
| → 右箭头 | 下一个语言 | 向前切换活动人员的语言。 |
说明:
- 活动通道显示四角括号;录制时,括号会反转为黑色,同时该通道颜色反转。
- 最适合单手/单人操作。
纵向模式 —— “双手”(原始映射)
每个通道都有各自的专用按键——没有活动人员概念,也没有括号高亮。两个人可以独立控制。
| 按键 | 操作 | 描述 |
|---|---|---|
| Z | 录制 —— 人员 1(按住说话) | 按住以录制通道 1;松开以转写和翻译。 |
| X | 录制 —— 人员 2(按住说话) | 按住以录制通道 2;松开以转写和翻译。 |
| ← 左箭头 | 上一个语言 —— 人员 1 | 向后切换通道 1 的语言。 |
| → 右箭头 | 下一个语言 —— 人员 1 | 向前切换通道 1 的语言。 |
− 减号(_) | 上一个语言 —— 人员 2 | 向后切换通道 2 的语言。 |
+ 加号(=) | 下一个语言 —— 人员 2 | 向前切换通道 2 的语言。 |
说明:
- 此模式没有角括号选择高亮。
- 最适合两名操作员各自控制自己的一侧。
通用行为(两种模式)
- 输入焦点保护:当焦点在配置字段(
<input>、<textarea>或<select>)上时,所有快捷键都会被忽略——例如在编辑 API 端点或设置时。 - 录制锁定:录制进行中时,语言切换会被阻止。
- 键盘驱动:在当前版本中,录制和语言切换仅支持键盘操作;屏幕触摸控件尚未启用。
切换模式
打开设置(⚙) → 键盘模式 → 选择横向或纵向。更改会立即生效并在设备上保留。
| 设置值 | 模式 |
|---|---|
landscape | 活动人员方案(空格 / Z / ← →)—— 默认 |
vertical | 双手方案(Z / X / ← → / − +) |
致谢
由 Google Creative Lab (https://github.com/googlecreativelab) 的一支小团队制作:
- Alan Yam (https://github.com/alanvww)
- Shashwath Santosh (https://x.com/shashwth)
- Dan Motzenbecker (https://github.com/dmotz)
免责声明
这不是 Google 官方支持的产品。本项目不符合 Google 开源软件漏洞奖励计划 (https://bughunters.google.com/open-source-security) 的参与资格。
相似文章
Google发布Gemini 3.5 Live Translate,实现即时语音到语音翻译
Google发布Gemini 3.5 Live Translate,这是一种语音到语音模型,可在70多种语言中提供即时语音翻译,并正在Google生态系统中推广。
@googledevs: Gemma 4 现在正在 @Antigravity SDK 中本地设备上运行。构建完全本地或混合的多代理工作流 tha…
Gemma 4 现在可通过 Antigravity SDK 在本地设备上运行,实现完全本地或混合的多代理工作流,具备增强的数据隐私保护和零 API 费用。
Google宣布为Pixel 10的TPU优化的Gemma 4(两分钟阅读)
Google宣布了为Pixel 10的TPU优化的Gemma 4 E2B,实现了设备端多模态AI能力,如离线聊天、图像识别和音频转录。
@googledevs: 直接在笔记本电脑上使用 Google Gemma 开放模型部署本地编码代理 → https://goo.gle/gemma-ama-en 加入 Ian…
现在可以使用 Google Gemma 开放模型直接在笔记本电脑上部署本地编码代理,实现离线执行和更快的开发工作流程。
@googlegemma: 无需等待的语音AI!感谢Hugging Face和Cerebras,开发者现在可以用Gemma 4 31B模型作为……
Google Gemma宣布,借助Hugging Face和Cerebras实现超快推理,开发者现在可以将Gemma 4 31B模型用作语音AI的大脑,这是开源级联语音到语音堆栈的一部分。