RTranslator es una aplicación de traducción en tiempo real (casi) de código abierto, gratuita y sin conexión para Android.
Conéctate con alguien que tenga la aplicación, conecta unos auriculares Bluetooth, guarda el teléfono en tu bolsillo y podrás tener una conversación como si la otra persona hablara tu idioma.
El modo de conversación es la característica principal de RTranslator. En este modo, puedes conectarte con otro teléfono que use esta aplicación. Si el usuario acepta su solicitud de conexión:
Cuando hables, tu teléfono (o los auriculares Bluetooth , si están conectados) capturarán el audio.
El audio capturado se convertirá en texto y se enviará al teléfono del interlocutor.
El teléfono del interlocutor traducirá el texto recibido a su idioma.
El teléfono del interlocutor convertirá el texto traducido en audio y lo reproducirá desde su altavoz (o mediante el auricular Bluetooth del interlocutor si está conectado a su teléfono).
Todo ello en ambas direcciones.
Cada usuario puede tener más de un teléfono conectado para que puedas traducir conversaciones entre más de dos personas y en cualquier combinación.
Si el modo conversación es útil para tener una conversación larga con alguien, este modo está diseñado para conversaciones rápidas, como pedir información en la calle o hablar con un dependiente de una tienda.
Este modo sólo traduce conversaciones entre dos personas, no funciona con auriculares Bluetooth y hay que hablar por turnos. No es una traducción simultánea real, pero puede funcionar con un solo teléfono .
En este modo, el micrófono del smartphone escuchará en dos idiomas (seleccionables en la misma pantalla del modo walkie talkie) simultáneamente.
La aplicación detectará en qué idioma está hablando el interlocutor, traducirá el audio al otro idioma, convertirá el texto en audio y luego lo reproducirá desde el altavoz del teléfono. Cuando el TTS haya finalizado, reanudará la escucha automáticamente.
Este modo es sólo un traductor de texto clásico, pero siempre útil.
RTranslator utiliza NLLB de Meta para la traducción y Whisper de OpenAi para el reconocimiento de voz, ambos son IA (casi) de código abierto y de última generación, tienen una calidad excelente y se ejecutan directamente en el teléfono, lo que garantiza privacidad absoluta y la posibilidad de utilizar RTranslator incluso sin conexión. pérdida de calidad.
Además, RTranslator funciona incluso en segundo plano, con el teléfono en espera o cuando se utilizan otras aplicaciones (sólo cuando se utilizan los modos Conversación o WalkieTalkie). Sin embargo, algunos teléfonos limitan la energía en segundo plano por lo que en ese caso es mejor evitarlo y mantener la aplicación abierta con la pantalla encendida.
¡Nueva interfaz gráfica de usuario! Diseñado por Chiara Chindamo.
Se agregaron botones para hablar y copiar al modo de traducción de texto.
Se agregó la opción de controlar manualmente los micrófonos en modo WalkieTalkie.
Se agregó la opción de usar idiomas de baja calidad.
Se corrigieron algunos errores.
Para obtener la lista completa de cambios, consulte aquí.
He optimizado mucho los modelos de IA para minimizar el consumo de RAM y el tiempo de ejecución; a pesar de esto, para poder usar la aplicación sin riesgo de fallar necesitas un teléfono con al menos 6 GB de RAM y tener un tiempo de ejecución suficientemente bueno. necesitas un teléfono con una CPU lo suficientemente rápida.
Si tienes un teléfono bastante malo (o si quieres la máxima velocidad), siempre puedes usar la versión 1.0 de RTranslator (pero como usa las API de Google, no es gratuito y necesita una configuración inicial).
Para instalar la aplicación, descargue la última versión del archivo apk de la aplicación desde https://github.com/niedev/RTranslator/releases/ e instálela (ignore los otros archivos, la aplicación los descargará automáticamente la primera vez que la inicie). ).
En el primer inicio, RTranslator descargará automáticamente los modelos de traducción y reconocimiento de voz (1,2 GB) y una vez hecho esto podrás empezar a traducir.
La descarga inicial obtendrá los modelos desde GitHub, sin embargo en algunas regiones GitHub es muy lento, quienes tengan problemas de este tipo pueden descargar los modelos por separado desde una computadora (o en general de la forma que prefieran) e insertarlos manualmente en el aplicación siguiendo esta guía.
Si tiene una cuenta de GitHub y desea recibir una notificación cuando salga una nueva versión, puede hacerlo haciendo clic, en la parte superior de la página, en "Ver" -> "Personalizado" -> "Versiones" -> "Aplicar". .
Los idiomas admitidos son los siguientes:
Árabe, búlgaro, catalán, chino, croata, checo, danés, holandés, inglés, finlandés, francés, gallego, alemán, griego, italiano, japonés, coreano, macedonio, polaco, portugués, rumano, ruso, eslovaco, español, sueco, Tamil, tailandés, turco, ucraniano, urdu, vietnamita.
Si su idioma no está en la lista, desde la versión 2.1 de RTranslator puede ir a la configuración y habilitar " Soportar idiomas de baja calidad " para agregar los siguientes idiomas (que tienen menor calidad para traducción y reconocimiento de voz):
afrikáans, akan (solo texto), amárico, asamés, bambara (solo texto), bengalí, bashkir, vasco, bielorruso, bosnio, dzongkha (solo texto), esperanto (solo texto), estonio, oveja (solo texto), feroés, fiyiano (solo texto), georgiano, guaraní (solo texto), gujarati, hausa, hebreo, hindi, húngaro, javanés (solo texto), kannada, cachemira (solo texto), Kazajo, kikuyu (solo texto), kinyarwanda (solo texto), coreano, kirguís (solo texto), laosiano, limburgués (solo texto), lingala, lituano, luxemburgués, macedonio, tagalo (solo texto), tibetano.
Para hablar, RTranslator utiliza el sistema TTS de tu teléfono, por lo que la calidad de este último y los idiomas soportados dependen del sistema TTS de tu teléfono.
Los idiomas admitidos que se ven arriba son todos compatibles con Google TTS, que es el TTS recomendado (aunque puedes usar el TTS que desees).
Para cambiar el TTS del sistema (y por lo tanto el TTS utilizado por RTranslator), descargue el TTS que desea usar desde Play Store, o desde la fuente que prefiera, y abra RTranslator, luego abra su configuración (arriba a la derecha) y, en el Sección "Salida", haga clic en "Texto a voz", en este punto se abrirá la configuración del sistema en la sección donde puede seleccionar el motor TTS del sistema preferido (entre los instalados), en este punto, si ha cambiado el motor preferido , reinicie RTranslator para aplicar los cambios.
La privacidad es un derecho fundamental. Por eso RTranslator no recopila ningún dato personal (ni siquiera tengo un servidor). Para obtener más información, lea la política de privacidad (por ahora es la misma política de privacidad de RTranslator 1.0, pero la actualizaré en el futuro).
El código de RTranslator es completamente de código abierto, pero algunas de las bibliotecas externas que utiliza tienen licencias menos permisivas, estas son todas las bibliotecas externas que utiliza la aplicación (con la indicación de su licencia):
BluetoothCommunicator (código abierto): se utiliza para la comunicación Bluetooth LE entre dispositivos.
GalleryImageSelector (código abierto): se utiliza para seleccionar y recortar la imagen de perfil de la galería.
OnnxRuntime (código abierto): se utiliza como motor acelerador para los modelos de IA.
SentencePiece (código abierto): se utiliza para la tokenización del texto de entrada para NLLB.
Ml Kit (código cerrado): Se utiliza para la identificación del idioma en el modo WalkieTalkie.
Y los siguientes modelos de IA:
NLLB (código abierto, pero sólo para uso no comercial): El modelo utilizado es NLLB-Distilled-600M con caché KV.
Whisper (código abierto): El modelo utilizado es Whisper-Small-244M con caché KV.
Convertí tanto NLLB como Whisper al formato onnx y los cuanticé en int8 (excluyendo algunos pesos para asegurar una pérdida de calidad casi nula), también separé algunas partes de los modelos para reducir el consumo de RAM (sin esta separación algunos pesos se duplicaron en tiempo de ejecución consumiendo más RAM de lo esperado) y realicé otras optimizaciones para reducir el tiempo de ejecución.
Aquí están los resultados de mis optimizaciones:
modelo normal NLLB onnx (int8 completo, sin caché kv) | RTranslator NLLB modelo onnx (int8 parcial, con kv-cache, partes separadas) | |
---|---|---|
Consumo de RAM | 2,5GB | 1,3 GB (mejora de 1,9 veces) |
Tiempo de ejecución para 75 tokens. | 8s | 2s (mejora 4x) |
Modelo Whisper onnx optimizado con Olive (int8 completo, con kv-cache) | RTranslator Whisper modelo onnx (int8 parcial, con kv-cache, partes separadas) | |
---|---|---|
Consumo de RAM | 1,4GB | 0,9 GB (mejora de 1,5 veces) |
Tiempo de ejecución para audio 11s. | 1,9s | 1,6 s (mejora de 1,2 veces) |
El modelo NB RTranslator Whisper también puede consumir 0,5 GB de RAM pero con un tiempo de ejecución de 2,1 s (este modo se utiliza para teléfonos con menos de 8 GB de RAM)
Esta es una aplicación de código abierto y completamente libre de publicidad, no gano dinero con ella.
Entonces, si te gusta la aplicación y quieres agradecer y apoyar el proyecto, puedes hacer una donación a través de PayPal haciendo clic en el botón a continuación (cualquier cantidad es bien aceptada).
En caso de que dones o simplemente vivas una estrella, gracias ❤️
Si ha encontrado algún error, infórmelo abriendo un problema o escribiendo un correo electrónico a [email protected]
Disfrute de su traductor simultáneo.