## 一、前言

之前聊了三篇了。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:

“`bash
# 到 Play Store 搜索 “Google 文字转语音” 安装
# 然后在 RTranslator 设置 → Text to Speech 中选择 Google TTS 引擎
“`

不用 Google 的也行,系统自带也能用,就是支持的语种少点。

### 快速上手:WalkieTalkie 模式

装好之后最快能体验的是 WalkieTalkie 模式,一部手机就够了:

1. 打开 RTranslator
2. 点 “WalkieTalkie”
3. 上方选你的语言,下方选对方的语言
4. 点开始,对着手机说话
5. 说完停顿,手机会自动翻译并播放

就适合两个人面对面用。比如你问路,对方回答。不用耳机,不用联网,一部手机搞定。

### 同声传译:Conversation 模式

两部手机分别装好 RTranslator,按以下步骤:

1. 两部手机都点 “Conversation”
2. 其中一部点 “Create connection”(创建连接)
3. 选好你和对方的语言
4. 都戴上蓝牙耳机
5. 开始说话。你听到的是翻译后的对方语言,对方听到的是翻译后的你的语言

通话的时候手机放口袋就行,全靠蓝牙耳机。

## 四、使用场景与案例

### 场景一:旅行问路(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 起了,基本没问题。

## 五、拿走即用

### 下载安装

“`bash
# 1. 去 GitHub Releases 下载 APK
# https://github.com/niedev/RTranslator/releases

# 2. 传到手机安装

# 3. 首次打开自动下载模型(约 1.2GB)
“`

### 使用方式速查

| 需求 | 操作 |
|——|——|
| 单部手机翻译对话 | WalkieTalkie 模式 |
| 两部手机同声传译 | Conversation 模式 + 蓝牙耳机 |
| 纯文本翻译 | 文本翻译模式 |
| 更换 TTS 引擎 | 设置 → Text to Speech |
| 支持更多语种 | 设置 → 开启低质量语种支持 |

### 相关链接

– [RTranslator GitHub](https://github.com/niedev/RTranslator)
– [GitHub Releases 下载页](https://github.com/niedev/RTranslator/releases)
– [模型手动导入指南(Sideloading)](https://github.com/niedev/RTranslator/blob/v2.00/Sideloading.md)
– [隐私政策](https://github.com/niedev/RTranslator/blob/v2.00/privacy/Privacy_Policy_en.md)
– [TODO List / 贡献指南](https://github.com/niedev/RTranslator/blob/v2.00/TODO_LIST.md)

Phase 1 的目标很简单:找一台 6GB 以上的 Android 手机,装 RTranslator,开 WalkieTalkie 跟朋友聊一段。先跑通再说,集成的事后面想。

等 Phase 1 跑通了,再来搞 Phase 2 的桥接方案。

你的手机装 RTranslator 了吗?试过效果怎么样?评论区聊聊。

## 六、注意事项

### RAM 是关键

RTranslator 就是铁打的 6GB 要求。4GB 的机器基本必闪。要是你手机只有 4GB,两条路:

1. 换手机(2022 年后的中端机都 8GB 了,二手也不贵)
2. 用 RTranslator v1.0,它走 Google API,不跑本地模型。但要联网,要有 Google 账号

### GitHub 下载慢

国内下载 GitHub Release 的文件经常很慢。解决方案:

1. 用 sideload 方式,从电脑下载模型后手动导入
2. 用代理下载
3. 找个国内镜像源(如果有人做的话)

手动导入模型的方法:

“`
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