RTranslator é um aplicativo de tradução em tempo real (quase) de código aberto, gratuito e offline para Android.
Conecte-se com alguém que tenha o aplicativo, conecte fones de ouvido Bluetooth, coloque o telefone no bolso e você poderá conversar como se a outra pessoa falasse a sua língua.
O modo Conversação é o principal recurso do RTranslator. Neste modo, você pode se conectar a outro telefone que use este aplicativo. Se o usuário aceitar sua solicitação de conexão:
Quando você fala, seu telefone (ou fone de ouvido Bluetooth , se conectado) irá capturar o áudio.
O áudio captado será convertido em texto e enviado para o telefone do interlocutor.
O telefone dos interlocutores traduzirá o texto recebido para o seu idioma.
O telefone do interlocutor converterá o texto traduzido em áudio e o reproduzirá no seu alto-falante (ou pelo fone de ouvido Bluetooth do interlocutor se estiver conectado ao seu telefone).
Tudo isso em ambas as direções.
Cada usuário pode ter mais de um telefone conectado para que você possa traduzir conversas entre mais de duas pessoas e em qualquer combinação.
Se o modo de conversação é útil para ter uma longa conversa com alguém, este modo é projetado para conversas rápidas, como pedir informações na rua ou falar com um vendedor de loja.
Este modo traduz apenas conversas entre duas pessoas, não funciona com fones de ouvido Bluetooth e você tem que conversar por turnos. Não é uma tradução simultânea real, mas pode funcionar com apenas um telefone .
Neste modo, o microfone do smartphone escutará em dois idiomas (selecionáveis na mesma tela do modo walkie talkie) simultaneamente.
O aplicativo detectará em qual idioma o interlocutor está falando, traduzirá o áudio para o outro idioma, converterá o texto em áudio e depois reproduzirá no alto-falante do telefone. Quando o TTS terminar, ele retomará automaticamente a escuta.
Este modo é apenas um tradutor de texto clássico, mas sempre útil.
O RTranslator utiliza o NLLB da Meta para tradução e o Whisper da OpenAi para reconhecimento de fala, ambos são IAs (quase) de código aberto e de última geração, possuem excelente qualidade e rodam diretamente no telefone, garantindo privacidade absoluta e a possibilidade de usar o RTranslator mesmo offline sem perda de qualidade.
Além disso, o RTranslator funciona mesmo em segundo plano, com o telefone em modo de espera ou ao usar outros aplicativos (somente quando você usa os modos Conversação ou WalkieTalkie). Porém, alguns telefones limitam a energia em segundo plano, então nesse caso é melhor evitá-lo e manter o aplicativo aberto com a tela ligada.
Nova GUI! Desenhado por Chiara Chindamo.
Adicionados botões de falar e copiar ao modo de tradução de texto.
Adicionada a opção de controlar manualmente os microfones no modo WalkieTalkie.
Adicionada a opção de usar idiomas de baixa qualidade.
Corrigido alguns bugs.
Para a lista completa de alterações, veja aqui.
Otimizei bastante os modelos de IA para minimizar o consumo de RAM e o tempo de execução, apesar disso, porém, para poder usar o aplicativo sem o risco de travar, você precisa de um telefone com pelo menos 6 GB de RAM e ter um tempo de execução bom o suficiente você precisa de um telefone com uma CPU rápida o suficiente.
Se você tem um telefone de baixa qualidade (ou se deseja velocidade máxima), você sempre pode usar a versão 1.0 do RTranslator (mas como ele usa APIs do Google, não é gratuito e precisa de alguma configuração inicial).
Para instalar o aplicativo, baixe a versão mais recente do arquivo apk do aplicativo em https://github.com/niedev/RTranslator/releases/ e instale-o (ignore os outros arquivos, eles serão baixados automaticamente pelo aplicativo na primeira inicialização ).
Na primeira inicialização, o RTranslator baixará automaticamente os modelos para tradução e reconhecimento de fala (1,2 GB) e uma vez feito isso você poderá começar a traduzir.
O download inicial obterá os modelos do GitHub, porém em algumas regiões o GitHub é muito lento, quem tiver problemas deste tipo pode baixar os modelos separadamente de um computador (ou em geral da forma que preferir) e inseri-los manualmente no aplicativo seguindo este guia.
Se você possui uma conta no GitHub e deseja ser notificado quando um novo lançamento for lançado, você pode fazê-lo clicando, no topo da página, em "Assistir" -> "Personalizado" -> "Lançamentos" -> "Aplicar" .
Os idiomas suportados são os seguintes:
Árabe, Búlgaro, Catalão, Chinês, Croata, Checo, Dinamarquês, Holandês, Inglês, Finlandês, Francês, Galego, Alemão, Grego, Italiano, Japonês, Coreano, Macedónio, Polaco, Português, Romeno, Russo, Eslovaco, Espanhol, Sueco, Tamil, tailandês, turco, ucraniano, urdu, vietnamita.
Caso o seu idioma não esteja na lista, a partir da versão 2.1 do RTranslator você pode entrar nas configurações e habilitar " Suporte a idiomas de baixa qualidade " para adicionar os seguintes idiomas (que possuem qualidade inferior para tradução e reconhecimento de fala):
Africâner, Akan (apenas texto), Amárico, Assamês, Bambara (apenas texto), Bangla, Bashkir, Basco, Bielorrusso, Bósnio, Dzongkha (apenas texto), Esperanto (apenas texto), Estónio, Ewe (apenas texto), Feroês, Fijiano (apenas texto), Georgiano, Guarani (apenas texto), Gujarati, Hausa, Hebraico, Hindi, Húngaro, Javanês (apenas texto), Kannada, Caxemira (apenas texto), cazaque, kikuyu (apenas texto), kinyarwanda (apenas texto), coreano, quirguiz (apenas texto), laosiano, limburguês (apenas texto), lingala, lituano, luxemburguês, macedónio, tagalo (apenas texto), tibetano.
Para falar, o RTranslator utiliza o sistema TTS do seu telefone, portanto a qualidade deste último e os idiomas suportados dependem do sistema TTS do seu telefone.
Os idiomas suportados vistos acima são todos compatíveis com o Google TTS, que é o TTS recomendado (embora você possa usar o TTS que desejar).
Para alterar o TTS do sistema (e portanto o TTS usado pelo RTranslator), baixe o TTS que deseja usar na Play Store, ou na fonte de sua preferência, e abra o RTranslator, depois abra suas configurações (canto superior direito) e, no Seção "Saída", clique em "Text to Speech", neste ponto as configurações do sistema serão abertas na seção onde você pode selecionar o mecanismo TTS do sistema preferido (entre os instalados), neste ponto, se você alterou o motor preferido , reinicie o RTranslator para aplicar as alterações.
A privacidade é um direito fundamental. É por isso que o RTranslator não coleta nenhum dado pessoal (nem tenho servidor). Para mais informações, leia a política de privacidade (por enquanto é a mesma política de privacidade do RTranslator 1.0, mas irei atualizá-la no futuro).
O código do RTranslator é totalmente open source, mas algumas das bibliotecas externas que utiliza possuem licenças menos permissivas, estas são todas as bibliotecas externas utilizadas pela aplicação (com a indicação da sua licença):
BluetoothCommunicator (código aberto): usado para comunicação Bluetooth LE entre dispositivos.
GalleryImageSelector (código aberto): usado para selecionar e recortar a imagem do perfil da galeria.
OnnxRuntime (código aberto): usado como mecanismo acelerador para os modelos de IA.
SentencePiece (código aberto): usado para tokenização do texto de entrada para NLLB.
Kit Ml (código fechado): Utilizado para identificação do idioma no modo WalkieTalkie.
E os seguintes modelos de IA:
NLLB (código aberto, mas apenas para uso não comercial): O modelo utilizado é o NLLB-Distilled-600M com cache KV.
Whisper (código aberto): O modelo utilizado é o Whisper-Small-244M com cache KV.
Converti tanto o NLLB quanto o Whisper para o formato onnx e os quantizei em int8 (excluindo alguns pesos para garantir perda de qualidade quase nula), também separei algumas partes dos modelos para reduzir o consumo de RAM (sem essa separação alguns pesos foram duplicados em tempo de execução consumindo mais RAM do que o esperado) e fiz outras otimizações para reduzir o tempo de execução.
Aqui estão os resultados das minhas otimizações:
modelo NLLB onnx normal (int8 completo, sem kv-cache) | Modelo RTranslator NLLB onnx (int8 parcial, com kv-cache, partes separadas) | |
---|---|---|
Consumo de RAM | 2,5GB | 1,3 GB (melhoria de 1,9x) |
Tempo de execução para 75 tokens | 8s | 2s (melhoria de 4x) |
Modelo Whisper onnx otimizado com Olive (int8 completo, com kv-cache) | Modelo RTranslator Whisper onnx (int8 parcial, com kv-cache, partes separadas) | |
---|---|---|
Consumo de RAM | 1,4GB | 0,9 GB (melhoria de 1,5x) |
Tempo de execução para áudio de 11s | 1,9s | 1,6s (melhoria de 1,2x) |
O modelo NB RTranslator Whisper também pode consumir 0,5 GB de RAM, mas com tempo de execução de 2,1s (este modo é usado para telefones com menos de 8 GB de RAM)
Este é um aplicativo de código aberto e totalmente livre de anúncios, não ganho nenhum dinheiro com isso.
Então, se você gostou do app e quer agradecer e apoiar o projeto, você pode fazer uma doação via PayPal clicando no botão abaixo (qualquer valor é aceito).
Caso você vá doar, ou apenas viver uma estrela, obrigado ❤️
Se você encontrou algum bug, relate-o abrindo um problema ou escrevendo um e-mail para [email protected]
Aproveite o seu tradutor simultâneo.