这个项目能做什么

RTranslator是一款Android实时翻译应用,完全在设备上运行,不向外部服务器发送数据。该项目被描述为几乎完全开源,但注明部分外部组件采用许可较不宽松的许可证。 主要模式: - 对话模式:两台或多台运行该应用的手机相互连接。语音通过手机麦克风或蓝牙耳机采集,转换为文本后发送至另一台设备,在对方设备上完成翻译,并通过对方的扬声器或耳机朗读出来。该模式支持双向交流,并支持两个以上参与者的多种组合。 - 对讲机模式:专为简短交流设计,如问路或与店员交谈。此模式仅需一部手机,可同时监听两种可选语言,自动识别所说语言,进行翻译并朗读结果。用户轮流发言;此模式不支持蓝牙耳机。 - 文本翻译模式:传统文本翻译器,2.1版本起增加了朗读和复制按钮。 应用可在后台持续运行,包括手机待机或使用其他应用时,但README指出部分手机会限制后台电量,建议保持应用前台运行。 模型与技术: 2.x版本使用Meta的NLLB(NLLB-Distilled-600M,带KV缓存)进行翻译,以及OpenAI的Whisper(Whisper-Small-244M,带KV缓存)进行语音识别,两者均转换为ONNX格式并量化为int8,部分权重被排除以减少质量损失。README报告优化后,NLLB的RAM占用从2.5GB降至1.3GB,75个token的执行时间从8秒降至2秒;Whisper的RAM从1.4GB降至0.9GB,11秒音频的执行时间从1.9秒降至1.6秒。在RAM低于8GB的手机上,使用约0.5GB的低内存Whisper配置。 3.0测试版将NLLB替换为Mozilla Bergamot模型、Madlad 400 3B和HY-MT 1.5 1.8B中的可选方案,并将MLKit替换为开源替代品(FastText和Lingua),使应用完全开源。此外还加入了束搜索、多语言词典和Tatoeba集成等技术。计划推出使用Mozilla模型的自托管网页版文本翻译。 其他外部组件包括BluetoothCommunicator和GalleryImageSelector(均为同一作者的开源项目)、OnnxRuntime和SentencePiece。2.x版本在对讲机模式中使用MLKit进行语言识别。 语言:主要支持语言包括阿拉伯语、保加利亚语、加泰罗尼亚语、中文、克罗地亚语、捷克语、丹麦语、荷兰语、英语、芬兰语、法语、加利西亚语、德语、希腊语、意大利语、日语、韩语、马其顿语、波兰语、葡萄牙语、罗马尼亚语、俄语、斯洛伐克语、西班牙语、瑞典语、泰米尔语、泰语、土耳其语、乌克兰语、乌尔都语和越南语。从2.1版本起,“支持低质量语言”设置可添加更多语言,但翻译和语音识别质量较低。文本转语音使用手机系统TTS,推荐Google TTS。 要求与安装:README指出至少需要6GB RAM以避免崩溃,以及性能足够的CPU。APK从GitHub发布页下载;首次启动时应用下载约1.2GB模型,对于GitHub访问缓慢的地区提供手动侧载指南。1.0版本面向性能较弱的手机,但依赖Google API且非免费。 隐私:README声明应用不收集任何个人数据,作者不运营服务器。项目无广告,靠捐赠资助,3.0版本由NGI Mobifree基金支持。已知问题包括偶尔的蓝牙连接断开,应用仍处于测试阶段。