一、前言
之前聊了三篇了。Embedding 搜索、Reranker 精排、向量索引加速。文本侧的 RAG 管线基本捋顺了。但有读者问了一个现阶段我还没法回答的问题:小落同学能不能听懂人话?
不是 NLP 层面的”理解”,是物理意义上的。你对着手机说一句话,它翻译成另一种语言,再读出来。实时的那种。
小落同学目前跑在一台十年前的笔记本和一台 99 块的 ECS 上,2GB 内存,纯 CPU。这个硬件跑 Whisper 语音识别?想都不用想。但手机就不一样了——现在的 Android 手机,哪怕是个中端机,也塞了 8GB 内存和一堆 NPU/DSP 加速单元。
RTranslator 就是干这个的。开源的,离线的,实时的,一个 Android 翻译 App。翻译用 Meta 的 NLLB,语音识别用 OpenAI 的 Whisper。全在手机上跑,不联网,没服务器。
RTranslator 在 GitHub 上 10k+ stars 了,v2.1.5 已经发了,v3.0 还在搞。这篇就是想看看它能不能帮小落同学实现同声传译——能不能把手机变成小落同学的耳朵和嘴巴。
二、方案介绍
先把概念拉出来:
| 概念 | 一句话解释 |
|---|---|
| RTranslator | Android 上的开源实时翻译应用,离线运行,纯本地 AI |
| Conversation 模式 | 两部手机通过蓝牙连接,各自戴耳机,实时双向翻译对话 |
| WalkieTalkie 模式 | 一部手机,两人轮流说话,自动识别语种并翻译 |
| NLLB | Meta 的 No Language Left Behind 翻译模型(600M 参数,int8 量化后 1.3GB) |
| Whisper | OpenAI 的语音识别模型(Small 244M 参数,量化后 0.9GB) |
| OnnxRuntime | 微软的推理引擎,手机上运行 AI 模型的核心驱动 |
三种工作模式
RTranslator 有三种模式,各自对应不同的场景:
Conversation 模式(同声传译的核心) 两部手机都装上 RTranslator,蓝牙一连。戴上蓝牙耳机,手机放兜里。你说法语,对方说中文,各自听到的都是翻译好的母语。全程实时,不用按任何按钮。
这套流程的技术链路是:
你说话 → 手机麦克风/蓝牙耳机 → Whisper 语音转文字
→ NLLB 翻译为目标语言 → TTS 语音合成 → 对方耳机播放
WalkieTalkie 模式(一部手机够用) 不用配对,一部手机就够了。两个人轮流对着手机说就行,RTranslator 会自动识别说的是哪国话,翻译完放出来。问路、点餐、跟店员唠两句,这种短平快的场景最合适。
Text Translation 模式 就是普通的文本翻译,应急用。
为什么选 RTranslator 而不是别的
| 方案 | 优点 | 缺点 |
|---|---|---|
| Google Translate | 效果好、语种多 | 要联网、不可控、隐私堪忧 |
| 微信翻译 | 方便 | 在微信里才有,没法集成 |
| 各种翻译耳机 | 集成度高 | 硬件要钱、锁生态 |
| RTranslator | 全离线、纯本地、开源 | 仅 Android、需 6GB RAM |
对个人项目来说,RTranslator 最大的好处就是纯离线。不挂代理,不用注册,音频不出手机。
三、安装与使用
准备工作
- Android 手机一台,6GB RAM 以上
- 蓝牙耳机(可选,但强烈推荐,这样不用举着手机)
- 至少 3GB 空闲存储空间(模型下载约 1.2GB,解压后约 2.5GB)
安装步骤
第一步:下载 APK
去 GitHub Releases 页面下载最新版:
https://github.com/niedev/RTranslator/releases
最新的是 v2.1.5(2026 年 2 月发的),直接下 .apk 就行。那些 .onnx 文件不用管,模型第一次启动会自动下。
如果 GitHub 下载慢(国内常见问题),可以用 sideload 方式,从电脑下载模型后手动导入。具体方法见后文”注意事项”。
第二步:安装 APK
把 APK 传到手机上,点安装。要是提示”未知来源”,去设置里允许一下就行。
第三步:首次启动
打开 RTranslator,会弹个通知权限请求。那是用来后台显示状态的,点允许。然后它就会自动下载 AI 模型(Whisper + NLLB,大概 1.2GB)。下完就能用了。
第四步:设置 TTS
RTranslator 用系统自带的 TTS 引擎来念翻译结果。建议装 Google TTS:
# 到 Play Store 搜索 "Google 文字转语音" 安装
# 然后在 RTranslator 设置 → Text to Speech 中选择 Google TTS 引擎
不用 Google 的也行,系统自带也能用,就是支持的语种少点。
快速上手:WalkieTalkie 模式
装好之后最快能体验的是 WalkieTalkie 模式,一部手机就够了:
- 打开 RTranslator
- 点 “WalkieTalkie”
- 上方选你的语言,下方选对方的语言
- 点开始,对着手机说话
- 说完停顿,手机会自动翻译并播放
就适合两个人面对面用。比如你问路,对方回答。不用耳机,不用联网,一部手机搞定。
同声传译:Conversation 模式
两部手机分别装好 RTranslator,按以下步骤:
- 两部手机都点 “Conversation”
- 其中一部点 “Create connection”(创建连接)
- 选好你和对方的语言
- 都戴上蓝牙耳机
- 开始说话。你听到的是翻译后的对方语言,对方听到的是翻译后的你的语言
通话的时候手机放口袋就行,全靠蓝牙耳机。
四、使用场景与案例
场景一:旅行问路(WalkieTalkie,一部手机)
这是最轻量的用法。出国旅游,想问路又不会说当地话。
你: "请问地铁站怎么走?"(中文)
RTranslator: → 识别为中文 → 翻译为英文 → TTS 读出英文
对方: "Go straight and turn left."(英文)
RTranslator: → 识别为英文 → 翻译为中文 → TTS 读出中文
你: "Thanks!"(中文或英文都可以)
全程离线,不花流量。对小落同学来说,这是最现实的第一步。先把手机变成一个口袋翻译再说。
场景二:商务洽谈(Conversation,两部手机 + 蓝牙耳机)
两部手机都装 RTranslator,双方各戴自己的蓝牙耳机。你说中文,对方说法语。每人听到的都是自己的母语。
[中方] 蓝牙耳机收音 → Whisper 中文识别
→ NLLB 翻译 → 蓝牙发送到 [法方] 手机
→ [法方] 手机 NLLB 翻译为法语
→ [法方] 蓝牙耳机 TTS 播放法语
(反向同样流程)
注意这里俩手机都得 6GB RAM 以上,蓝牙也得稳。目前已知的 bug 是蓝牙偶尔会断,断了重连就行。
场景三:让小落同学拥有耳朵(远期计划)
说到底,这篇文章真正想聊的是怎么把 RTranslator 塞进小落同学的工作流里。
目前的设想分三步走:
Phase 1:手机做翻译终端 手机上装 RTranslator,先实现基础的同声传译。用 WalkieTalkie 模式跑一遍,看看链路通不通。这个阶段不需要小落同学出面,纯粹验证 RTranslator 在手机上能不能跑。
Phase 2:手机做语音 I/O 终端,小落同学做大脑 想办法搭个桥(HTTP API、MQTT 或者 WebSocket 都行),把手机的语音识别结果传给小落同学的 ECS。小落同学处理完——RAG 搜一下、知识库里推理一下——再把回答文本传回手机,让 RTranslator 的 TTS 念出来。
手机麦克风 → Whisper → 文本 → HTTP → ECS 小落同学
→ 知识库检索 → 推理 → 回答文本 → HTTP → 手机 TTS
Phase 3:双向实时翻译 + 知识库增强 手机上的 RTranslator 做完 Whisper 语音识别和 NLLB 翻译,同时把翻译好的文本同步到小落同学的知识库做上下文增强。小落同学的回答再传回手机,用 TTS 念出来。这才是真正的同声传译加 AI 助手。
但这三个 Phase 目前都只是计划,还没动手搞。Phase 1 是最现实的一步:先让 RTranslator 在手机上跑起来再说。
对硬件要求的分析
RTranslator 官方要求至少 6GB RAM。我们来拆解一下这个数字:
| 组件 | RAM 占用 |
|---|---|
| NLLB 翻译模型(int8 优化) | ~1.3 GB |
| Whisper 语音模型(int8 优化) | ~0.9 GB(低内存模式) |
| 系统 + 其他应用 | ~2-3 GB |
| 余量 | ~1 GB |
| 总计 | ~6 GB |
6GB 真不是瞎写的。4GB 的机器跑起来大概率给你闪退。小落同学要是有部旧手机,先查查规格。2022 年后的中端机都 8GB 起了,基本没问题。
五、拿走即用
下载安装
# 1. 去 GitHub Releases 下载 APK
# https://github.com/niedev/RTranslator/releases
# 2. 传到手机安装
# 3. 首次打开自动下载模型(约 1.2GB)
使用方式速查
| 需求 | 操作 |
|---|---|
| 单部手机翻译对话 | WalkieTalkie 模式 |
| 两部手机同声传译 | Conversation 模式 + 蓝牙耳机 |
| 纯文本翻译 | 文本翻译模式 |
| 更换 TTS 引擎 | 设置 → Text to Speech |
| 支持更多语种 | 设置 → 开启低质量语种支持 |
相关链接
Phase 1 的目标很简单:找一台 6GB 以上的 Android 手机,装 RTranslator,开 WalkieTalkie 跟朋友聊一段。先跑通再说,集成的事后面想。
等 Phase 1 跑通了,再来搞 Phase 2 的桥接方案。
你的手机装 RTranslator 了吗?试过效果怎么样?评论区聊聊。
六、注意事项
RAM 是关键
RTranslator 就是铁打的 6GB 要求。4GB 的机器基本必闪。要是你手机只有 4GB,两条路:
- 换手机(2022 年后的中端机都 8GB 了,二手也不贵)
- 用 RTranslator v1.0,它走 Google API,不跑本地模型。但要联网,要有 Google 账号
GitHub 下载慢
国内下载 GitHub Release 的文件经常很慢。解决方案:
- 用 sideload 方式,从电脑下载模型后手动导入
- 用代理下载
- 找个国内镜像源(如果有人做的话)
手动导入模型的方法:
1. 从 Releases 下载所有 .onnx 文件(https://github.com/niedev/RTranslator/releases/tag/2.0.0)
2. 在手机上启动一次 RTranslator(建立文件夹),然后关掉
3. 手机连电脑,把 .onnx 文件复制到 Android/data/nie.translator.rtranslator/files/
4. 重新打开 RTranslator,它会自动检测到本地模型
蓝牙连接稳定性
Conversation 模式走的是蓝牙 LE。官方也说了,蓝牙偶尔会断。断了就重启蓝牙或者重启 App。v3.0 说要改进这个。
对话模式在部分手机上可能被系统杀后台
有些国产手机会管后台的 CPU 和内存。要是 Conversation 模式下卡顿或者没声音,试试:
- 关掉省电模式
- 把 RTranslator 加入”不优化电池”白名单
- 保持屏幕常亮(在开发者选项里设置)
v3.0 展望
RTranslator v3.0 正在搞,NLnet 的 NGI Mobifree Fund 掏的钱。主要变化:
- NLLB 换成 Mozilla Bergamot、Madlad 400 3B、HY-MT 1.5 1.8B 这几个,翻译质量更好
- 去掉 MLKit,100% 开源
- 上架 Play Store 和 F-Droid
- 首次 beta 预计 2026 年 4 月到 6 月发布
对小落同学来说,v3.0 全开源了,翻译质量也更好了,以后集成起来更省事。
参考资料
- [1] RTranslator GitHub: https://github.com/niedev/RTranslator
- [2] RTranslator Releases: https://github.com/niedev/RTranslator/releases
- [3] Sideloading 指南: https://github.com/niedev/RTranslator/blob/v2.00/Sideloading.md
- [4] TODO List: https://github.com/niedev/RTranslator/blob/v2.00/TODO_LIST.md
- [5] NLLB (Meta): https://ai.meta.com/research/no-language-left-behind/
- [6] Whisper (OpenAI): https://openai.com/index/whisper/
- [7] NLnet – NGI Mobifree Fund: https://nlnet.nl/mobifree