RTranslator est une application de traduction en temps réel (presque) open source, gratuite et hors ligne pour Android.
Connectez-vous à quelqu'un qui possède l'application, connectez des écouteurs Bluetooth, mettez le téléphone dans votre poche et vous pourrez avoir une conversation comme si l'autre personne parlait votre langue.
Le mode Conversation est la fonctionnalité principale de RTranslator. Dans ce mode, vous pouvez vous connecter à un autre téléphone utilisant cette application. Si l'utilisateur accepte votre demande de connexion :
Lorsque vous parlez, votre téléphone (ou le casque Bluetooth , s'il est connecté) capturera l'audio.
L'audio capturé sera converti en texte et envoyé au téléphone de l'interlocuteur.
Le téléphone de l'interlocuteur traduira le texte reçu dans sa langue.
Le téléphone des interlocuteurs convertira le texte traduit en audio et le restituera depuis son haut-parleur (ou par le casque Bluetooth de l'interlocuteur s'il est connecté à son téléphone).
Tout cela dans les deux sens.
Chaque utilisateur peut avoir plus d'un téléphone connecté afin que vous puissiez traduire des conversations entre plus de deux personnes et dans n'importe quelle combinaison.
Si le mode conversation est utile pour avoir une longue conversation avec quelqu'un, ce mode est plutôt conçu pour les conversations rapides, comme demander des informations dans la rue ou parler à un vendeur.
Ce mode traduit uniquement les conversations entre deux personnes, il ne fonctionne pas avec les casques Bluetooth et il faut parler à tour de rôle. Il ne s'agit pas d'une véritable traduction simultanée, mais elle ne peut fonctionner qu'avec un seul téléphone .
Dans ce mode, le microphone du smartphone écoutera simultanément en deux langues (sélectionnables sur le même écran du mode talkie-walkie).
L'application détectera dans quelle langue parle l'interlocuteur, traduira l'audio dans l'autre langue, convertira le texte en audio, puis le reproduira à partir du haut-parleur du téléphone. Une fois le TTS terminé, il reprendra automatiquement l'écoute.
Ce mode n'est qu'un traducteur de texte classique, mais toujours utile.
RTranslator utilise le NLLB de Meta pour la traduction et le Whisper d'OpenAi pour la reconnaissance vocale, tous deux sont des IA (presque) open source et de pointe, d'excellente qualité et fonctionnent directement sur le téléphone, garantissant une confidentialité absolue et la possibilité d'utiliser RTranslator même hors ligne sans perte de qualité.
De plus, RTranslator fonctionne même en arrière-plan, avec le téléphone en veille ou lorsque vous utilisez d'autres applications (uniquement lorsque vous utilisez les modes Conversation ou WalkieTalkie). Cependant, certains téléphones limitent la puissance en arrière-plan, il est donc préférable dans ce cas de l'éviter et de garder l'application ouverte avec l'écran allumé.
Nouvelle interface graphique ! Conçu par Chiara Chindamo.
Ajout de boutons parler et copier au mode de traduction de texte.
Ajout de l'option permettant de contrôler manuellement les micros en mode WalkieTalkie.
Ajout de la possibilité d'utiliser des langues de mauvaise qualité.
Correction de quelques bugs.
Pour la liste complète des changements, voir ici.
J'ai beaucoup optimisé les modèles d'IA pour minimiser la consommation de RAM et le temps d'exécution, malgré cela cependant pour pouvoir utiliser l'application sans risque de crash il faut un téléphone avec au moins 6 Go de RAM , et avoir un temps d'exécution suffisamment bon vous avez besoin d'un téléphone avec un processeur suffisamment rapide.
Si vous avez un téléphone assez merdique (ou si vous voulez une vitesse maximale), vous pouvez toujours utiliser la version 1.0 de RTranslator (mais comme il utilise les API Google, il n'est pas gratuit et nécessite une configuration initiale).
Pour installer l'application, téléchargez la dernière version du fichier apk de l'application depuis https://github.com/niedev/RTranslator/releases/ et installez-la (ignorez les autres fichiers, ceux-ci seront téléchargés automatiquement par l'application au premier démarrage ).
Au premier lancement, RTranslator téléchargera automatiquement les modèles de traduction et de reconnaissance vocale (1,2 Go) et une fois terminé, vous pourrez commencer à traduire.
Le téléchargement initial obtiendra les modèles depuis GitHub, cependant dans certaines régions, GitHub est très lent, ceux qui ont des problèmes de ce type peuvent télécharger les modèles séparément depuis un ordinateur (ou en général de la manière qu'ils préfèrent) et les insérer manuellement dans le fichier. application en suivant ce guide.
Si vous avez un compte GitHub et souhaitez être averti lorsqu'une nouvelle version sort, vous pouvez le faire en cliquant, en haut de la page, sur "Regarder" -> "Personnalisé" -> "Communiqués" -> "Appliquer". .
Les langues prises en charge sont les suivantes :
Arabe, bulgare, catalan, chinois, croate, tchèque, danois, néerlandais, anglais, finnois, français, galicien, allemand, grec, italien, japonais, coréen, macédonien, polonais, portugais, roumain, russe, slovaque, espagnol, suédois, Tamoul, thaï, turc, ukrainien, ourdou, vietnamien.
Si votre langue n'est pas dans la liste, à partir de la version 2.1 de RTranslator vous pouvez aller dans les paramètres et activer « Prise en charge des langues de faible qualité » pour ajouter les langues suivantes (qui ont une qualité inférieure pour la traduction et la reconnaissance vocale) :
Afrikaans, Akan (texte uniquement), Amharique, Assamais, Bambara (texte uniquement), Bangla, Bachkir, Basque, Biélorusse, Bosniaque, Dzongkha (texte uniquement), Espéranto (texte uniquement), Estonien, Ewe (texte uniquement), Féroïen, Fidjien (texte uniquement), géorgien, guarani (texte uniquement), gujarati, haoussa, hébreu, hindi, hongrois, javanais (texte uniquement), kannada, cachemiri (texte uniquement), kazakh, kikuyu (texte uniquement), kinyarwanda (texte uniquement), coréen, kirghize (texte uniquement), laotien, limbourgeois (texte uniquement), lingala, lituanien, luxembourgeois, macédonien, tagalog (texte uniquement), tibétain .
Pour parler, RTranslator utilise le système TTS de votre téléphone, donc la qualité de ce dernier et les langues supportées dépendent du système TTS de votre téléphone.
Les langues prises en charge ci-dessus sont toutes compatibles avec Google TTS, qui est le TTS recommandé (bien que vous puissiez utiliser le TTS de votre choix).
Pour changer le TTS du système (et donc le TTS utilisé par RTranslator), téléchargez le TTS que vous souhaitez utiliser depuis le Play Store, ou depuis la source que vous préférez, et ouvrez RTranslator, puis ouvrez ses paramètres (en haut à droite) et, dans le Section "Sortie", cliquez sur "Text to Speech", à ce stade, les paramètres du système s'ouvriront dans la section où vous pourrez sélectionner le moteur TTS du système préféré (parmi ceux installés), à ce stade, si vous avez modifié le moteur préféré , redémarrez RTranslator pour appliquer les modifications.
La vie privée est un droit fondamental. C'est pourquoi RTranslator ne collecte aucune donnée personnelle (je n'ai même pas de serveur). Pour plus d'informations, lisez la politique de confidentialité (pour l'instant, c'est la même politique de confidentialité de RTranslator 1.0, mais je la mettrai à jour à l'avenir).
Le code de RTranslator est entièrement open source, mais certaines des bibliothèques externes qu'il utilise ont des licences moins permissives, ce sont toutes les bibliothèques externes utilisées par l'application (avec l'indication de leur licence) :
BluetoothCommunicator (open-source) : utilisé pour la communication Bluetooth LE entre les appareils.
GalleryImageSelector (open-source) : utilisé pour sélectionner et recadrer l'image de profil de la galerie.
OnnxRuntime (open-source) : utilisé comme moteur accélérateur pour les modèles d'IA.
SentencePièce (open-source) : utilisé pour la tokenisation du texte d'entrée pour NLLB.
Kit Ml (source fermée) : utilisé pour l'identification de la langue en mode WalkieTalkie.
Et les modèles d'IA suivants :
NLLB (open-source, mais uniquement pour un usage non commercial) : Le modèle utilisé est le NLLB-Distilled-600M avec cache KV.
Whisper (open-source) : Le modèle utilisé est le Whisper-Small-244M avec cache KV.
J'ai converti NLLB et Whisper au format onnx et les ai quantifiés en int8 (en excluant certains poids pour assurer une perte de qualité quasi nulle), j'ai également séparé certaines parties des modèles pour réduire la consommation de RAM (sans cette séparation, certains poids étaient dupliqués au moment de l'exécution, consommant plus RAM que prévu) et effectué d'autres optimisations pour réduire le temps d'exécution.
Voici les résultats de mes optimisations :
modèle NLLB onnx normal (int8 complet, pas de cache kv) | Modèle RTranslator NLLB onnx (int8 partiel, avec kv-cache, parties séparées) | |
---|---|---|
Consommation de RAM | 2,5 Go | 1,3 Go (amélioration de 1,9x) |
Temps d'exécution pour 75 tokens | 8s | 2s (amélioration 4x) |
Modèle Whisper onnx optimisé avec Olive (int8 complet, avec kv-cache) | Modèle RTranslator Whisper onnx (int8 partiel, avec kv-cache, parties séparées) | |
---|---|---|
Consommation de RAM | 1,4 Go | 0,9 Go (amélioration 1,5x) |
Temps d'exécution pour un audio de 11 s | 1,9 s | 1,6 s (amélioration 1,2x) |
NB Le modèle RTranslator Whisper peut également consommer 0,5 Go de RAM mais avec un temps d'exécution de 2,1s (ce mode est utilisé pour les téléphones avec moins de 8 Go de RAM)
Il s'agit d'une application open source et totalement sans publicité, je n'en tire aucun profit.
Alors, si vous aimez l'application et souhaitez dire merci et soutenir le projet, vous pouvez faire un don via PayPal en cliquant sur le bouton ci-dessous (n'importe quel montant est bien accepté).
Au cas où vous feriez un don, ou tout simplement vivre une star, merci ❤️
Si vous avez trouvé un bug, veuillez le signaler en ouvrant un ticket ou en écrivant un e-mail à [email protected]
Profitez de votre traducteur simultané.