Об этом проекте
RTranslator — это приложение для Android для перевода в реальном времени, которое работает полностью на устройстве, не отправляя данные на внешние серверы. Оно описано как почти полностью открытое, с примечанием, что некоторые внешние компоненты имеют менее разрешительные лицензии.
Основные режимы:
- Режим разговора: два или более телефона с запущенным приложением соединяются друг с другом. Речь захватывается (микрофон телефона или Bluetooth-гарнитура), преобразуется в текст, отправляется на другое устройство, переводится там и озвучивается через динамик или гарнитуру другого пользователя. Это работает в обоих направлениях и поддерживает более двух участников в различных комбинациях.
- Режим рации: предназначен для коротких обменов, например, для вопросов о направлении или разговора с продавцом. Работает с одним телефоном, одновременно слушая на двух выбираемых языках, определяя, на каком языке говорят, переводя и озвучивая результат. Пользователи говорят по очереди; Bluetooth-гарнитуры в этом режиме не поддерживаются.
- Режим текстового перевода: обычный текстовый переводчик с кнопками озвучивания и копирования, добавленными в версии 2.1.
Приложение может продолжать работать в фоновом режиме, включая режим ожидания телефона или при использовании других приложений, хотя в README отмечается, что некоторые телефоны ограничивают фоновое питание, и может быть предпочтительнее держать приложение открытым.
Модели и технологии:
Версия 2.x использует NLLB от Meta (NLLB-Distilled-600M с KV-кэшем) для перевода и Whisper от OpenAI (Whisper-Small-244M с KV-кэшем) для распознавания речи, обе конвертированы в ONNX и квантованы до int8 с исключением некоторых весов для ограничения потери качества. В README сообщается об оптимизациях, снижающих использование RAM NLLB с 2,5 ГБ до 1,3 ГБ и время выполнения для 75 токенов с 8 с до 2 с, а RAM Whisper с 1,4 ГБ до 0,9 ГБ с временем выполнения для 11 с аудио с 1,9 с до 1,6 с. Конфигурация Whisper с меньшим потреблением памяти (около 0,5 ГБ) используется на телефонах с менее чем 8 ГБ RAM.
Бета-версия 3.0 заменяет NLLB на выбор среди моделей Mozilla Bergamot, Madlad 400 3B и HY-MT 1.5 1.8B, а также заменяет MLKit на открытые альтернативы (FastText и Lingua), делая приложение полностью открытым. Также добавляются такие методы, как beam search, многоязычные словари и интеграция Tatoeba. Планируется самостоятельная веб-версия для текстового перевода с использованием моделей Mozilla.
Другие внешние компоненты включают BluetoothCommunicator и GalleryImageSelector (оба открытые, того же автора), OnnxRuntime и SentencePiece. MLKit использовался в версии 2.x для определения языка в режиме рации.
Языки: основной поддерживаемый набор включает арабский, болгарский, каталанский, китайский, хорватский, чешский, датский, нидерландский, английский, финский, французский, галисийский, немецкий, греческий, итальянский, японский, корейский, македонский, польский, португальский, румынский, русский, словацкий, испанский, шведский, тамильский, тайский, турецкий, украинский, урду и вьетнамский. С версии 2.1 настройка «Поддержка низкокачественных языков» добавляет множество других языков с более низким качеством перевода и распознавания речи. Озвучивание использует системный TTS телефона, рекомендуется Google TTS.
Требования и установка: в README указано, что для избежания сбоев требуется не менее 6 ГБ RAM и достаточно быстрый процессор. APK загружается из релизов GitHub; при первом запуске приложение загружает около 1,2 ГБ моделей, с руководством по ручной загрузке для регионов, где GitHub медленный. Версия 1.0 предлагается для слабых телефонов, но полагается на API Google и не является бесплатной.
Конфиденциальность: в README указано, что приложение не собирает личные данные и автор не управляет серверами. Проект без рекламы и финансируется пожертвованиями, версия 3.0 поддерживается фондом NGI Mobifree. Известные проблемы включают случайные обрывы Bluetooth-соединения, и приложение описывается как все еще находящееся в бета-версии.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.