RTranslator 是一款(几乎)开源、免费、离线的 Android 实时翻译应用程序。
连接到拥有该应用程序的人,连接蓝牙耳机,将手机放入口袋中,然后您就可以像对方说您的语言一样进行对话。
对话模式是RTranslator的主要功能。在此模式下,您可以与使用此应用程序的另一部手机连接。如果用户接受您的连接请求:
当您说话时,您的手机(或蓝牙耳机,如果已连接)将捕获音频。
捕获的音频将转换为文本并发送到对话者的手机上。
对话者的手机会将收到的文本翻译成他的语言。
对话者的手机会将翻译后的文本转换为音频,并从扬声器中再现它(或者通过对话者的蓝牙耳机,如果连接到他的手机)。
所有这一切都是双向的。
每个用户可以拥有多部已连接的电话,以便您可以翻译两个以上的人之间以及任意组合的对话。
如果对话模式适用于与某人进行长时间对话,那么该模式则专为快速对话而设计,例如在街上询问信息或与店员交谈。
该模式只能翻译两个人之间的对话,不适用于蓝牙耳机,而且必须轮流说话。它不是真正的同声翻译,但它只能与一部手机配合使用。
在此模式下,智能手机麦克风将同时以两种语言收听(可在对讲机模式的同一屏幕中选择)。
该应用程序将检测对话者使用哪种语言,将音频翻译成另一种语言,将文本转换为音频,然后从手机扬声器中再现。 TTS 结束后,它将自动恢复收听。
这种模式只是一个经典的文本翻译器,但总是有用的。
RTranslator 使用 Meta 的 NLLB 进行翻译,使用 OpenAi 的 Whisper 进行语音识别,两者都是(几乎)开源且最先进的 AI,具有出色的质量并直接在手机上运行,确保绝对隐私,甚至可以在离线状态下使用 RTranslator。质量损失。
此外,RTranslator 甚至可以在后台运行、手机处于待机状态或使用其他应用程序时(仅当您使用对话或 WalkieTalkie 模式时)。然而,有些手机会限制后台的电量,因此在这种情况下,最好避免它并在屏幕打开的情况下保持应用程序打开。
新的图形用户界面!由基亚拉·钦达莫 (Chiara Chindamo) 设计。
在文本翻译模式中添加了说话和复制按钮。
添加了在 WalkieTalkie 模式下手动控制麦克风的选项。
添加了使用低质量语言的选项。
修复了一些错误。
有关更改的完整列表,请参阅此处。
我对 AI 模型进行了很多优化,以最大限度地减少 RAM 消耗和执行时间,尽管如此,为了能够使用该应用程序而没有崩溃的风险,您需要一部至少有6GB RAM 的手机,并且有足够好的执行时间你需要一部CPU足够快的手机。
如果您的手机相当蹩脚(或者如果您想要最大速度),您始终可以使用 RTranslator 1.0 版(但由于它使用 Google API,所以它不是免费的,并且需要一些初始设置)。
要安装该应用程序,请从 https://github.com/niedev/RTranslator/releases/ 下载最新版本的应用程序 apk 文件并安装它(忽略其他文件,这些文件将在第一次启动时由应用程序自动下载)。
首次启动时,RTranslator 将自动下载翻译和语音识别模型 (1.2GB),完成后您就可以开始翻译。
初始下载将从 GitHub 获取模型,但是在某些地区 GitHub 速度非常慢,遇到此类问题的人可以从计算机单独下载模型(或者一般以他们喜欢的任何方式),然后手动将它们插入到应用程序遵循本指南。
如果您有 GitHub 帐户并希望在新版本发布时收到通知,您可以通过单击页面顶部的“观看”->“自定义”->“发布”->“应用”来实现此目的。
支持的语言如下:
阿拉伯语、保加利亚语、加泰罗尼亚语、中文、克罗地亚语、捷克语、丹麦语、荷兰语、英语、芬兰语、法语、加利西亚语、德语、希腊语、意大利语、日语、韩语、马其顿语、波兰语、葡萄牙语、罗马尼亚语、俄语、斯洛伐克语、西班牙语、瑞典语、泰米尔语、泰语、土耳其语、乌克兰语、乌尔都语、越南语。
如果您的语言不在列表中,从 RTranslator 2.1 版本开始,您可以进入设置并启用“支持低质量语言”来添加以下语言(翻译和语音识别质量较低):
南非荷兰语、阿坎语(仅文本)、阿姆哈拉语、阿萨姆语、班巴拉语(仅文本)、孟加拉语、巴什基尔语、巴斯克语、白俄罗斯语、波斯尼亚语、宗卡语(仅文本)、世界语(仅文本)、爱沙尼亚语、埃维语(仅文本)、法罗语、斐济语(仅文本)、格鲁吉亚语、瓜拉尼语(仅文本)、古吉拉特语、豪萨语、希伯来语、印地语、匈牙利语、爪哇语(仅文本)、卡纳达语、克什米尔语(仅文本)、哈萨克语、基库尤语(仅文本)、基尼亚卢旺达语(仅文本)、韩语、吉尔吉斯语(仅文本)、老挝语、林堡语(仅文本)、林加拉语、立陶宛语、卢森堡语、马其顿语、他加禄语(仅文字)、藏语。
说话时,RTranslator 使用您手机的系统 TTS,因此后者的质量和支持的语言取决于您手机的系统 TTS。
上面看到的支持的语言都与Google TTS兼容,这是推荐的TTS(尽管你可以使用你想要的TTS)。
要更改系统 TTS(以及 RTranslator 使用的 TTS),请从 Play 商店或您喜欢的源下载您要使用的 TTS,然后打开 RTranslator,然后打开其设置(右上角),然后在“输出”部分,点击“文本转语音”,此时系统设置将在该部分中打开,您可以在其中选择首选系统 TTS 引擎(在已安装的引擎中),此时,如果您更改了首选引擎,重启RTranslator应用更改。
隐私是一项基本权利。这就是为什么 RTranslator 不收集任何个人数据(我什至没有服务器)。欲了解更多信息,请阅读隐私政策(目前与RTranslator 1.0相同的隐私政策,但我将来会更新)。
RTranslator 代码是完全开源的,但它使用的一些外部库的许可证不太宽松,这些是应用程序使用的所有外部库(带有其许可证的指示):
BluetoothCommunicator(开源):用于设备之间的蓝牙 LE 通信。
GalleryImageSelector(开源):用于从图库中选择和裁剪个人资料图像。
OnnxRuntime(开源):用作人工智能模型的加速器引擎。
SentencePiece(开源):用于 NLLB 输入文本的标记化。
Ml Kit(闭源):用于WalkieTalkie模式下的语言识别。
以及以下 AI 模型:
NLLB(开源,但仅限非商业用途):使用的模型是带有KV缓存的NLLB-Distilled-600M。
Whisper(开源):使用的模型是带有KV缓存的Whisper-Small-244M。
我将 NLLB 和 Whisper 都转换为 onnx 格式,并以 int8 对其进行量化(排除一些权重以确保质量损失几乎为零),我还分离了模型的某些部分以减少 RAM 消耗(如果没有这种分离,一些权重会在运行时重复,消耗更多RAM 超出预期)并进行了其他优化以减少执行时间。
以下是我的优化结果:
正常 NLLB onnx 模型 (全 int8,无 kv 缓存) | RTranslator NLLB onnx 模型 (部分int8,带有kv-cache,分开的部分) | |
---|---|---|
内存消耗 | 2.5GB | 1.3GB(提升 1.9 倍) |
75 个代币的执行时间 | 8秒 | 2 秒(提高 4 倍) |
使用 Olive 优化的 Whisper onnx 模型 (全 int8,带 kv 缓存) | RTranslator Whisper onnx 模型 (部分int8,带有kv-cache,分开的部分) | |
---|---|---|
内存消耗 | 1.4GB | 0.9 GB(提升 1.5 倍) |
11秒音频的执行时间 | 1.9秒 | 1.6 秒(提高 1.2 倍) |
NB RTranslator Whisper 模型也可以消耗 0.5 GB RAM,但执行时间为 2.1 秒(此模式用于 RAM 小于 8 GB 的手机)
这是一个开源且完全无广告的应用程序,我不从中赚钱。
因此,如果您喜欢该应用程序并想要表示感谢并支持该项目,您可以通过 PayPal 单击下面的按钮进行捐赠(任何金额都可以)。
如果您愿意捐赠,或者只是活出一颗星星,谢谢您❤️
如果您发现任何错误,请通过提出问题或发送电子邮件至 [email protected] 来报告。
享受您的同声翻译机。