RTranslator is the world's first open source real-time translation app

Overview

RTranslator is the world's first open source real-time translation app.

Connect to someone who has the app, connect Bluetooth headphones, put the phone in your pocket and you can have a conversation as if the other person spoke your language.


Conversation mode


WalkieTalkie mode and Costs


Conversation mode

The Conversation mode is the main feature of RTranslator. In this mode, you can connect with another phone that uses this app. If the user accepts your connection request:

  • When you talk, your phone (or the Bluetooth headset, if connected) will capture the audio.

  • The audio captured will be converted into text and sent to the interlocutor's phone.

  • The interlocutors' phone will translate the text received into his language.

  • The interlocutors' phone will convert the translated text into audio and will reproduce it from its speaker (or by the Bluetooth headset of the interlocutor, if connected to his phone).

All this in both directions.

Each user can have more than one interlocutor so that you can translate conversations between more than two people and in any combination.

WalkieTalkie mode

If conversation mode is useful for having a long conversation with someone, this mode instead is designed for quick conversations, such as asking for information on the street or talking to a shop assistant.

This mode only translates conversations between two people, it doesn't work with Bluetooth headsets, and you have to talk in turns. It's not a real simultaneous translation, but it can work with only one phone.

In this mode, the smartphone microphone will listen in two languages (selectable in the same screen of the walkie talkie mode) simultaneously.
The app will detect in which language the interlocutor is speaking, translate the audio into the other language, convert the text into audio, and then reproduce it from the phone speaker. When the TTS has finished, it will automatically resume listening.

General

Both translation and speech recognition use Google's APIs to ensure the best possible quality.

Also, RTranslator works even in the background, with the phone on standby or when using other apps (only when you use Conversation or WalkieTalkie modes).

Get it on GitHub Get it on Google Play RTranslator - World's first open-source simultaneous translation app. | Product Hunt

Attention: The app has been temporarily removed from the play store because it uses the position to use the bluetooth le (the position is necessary to use the bluetooth and is not collected in any way, but particular notices are required in the app) I am working to solve the problem and it should be back online within a few weeks.
In the meantime, you can always download the latest version directly from github releases.


Initial configuration

To use speech recognition and translation (without it, the app can do nothing), you need to create a Google Cloud Platform account and create and get a file to associate the account with the APIs for the payment based on the latter's use. If you create the account for the first time, activating the free trial, you will have $ 300 credit to use for 3 months in Google Cloud Platform.

To create the account and get the file follow this tutorial from a computer or using the "desktop site" option on the phone, this is because the Google Cloud Platform mobile version site does not have some options necessary to complete the tutorial.

First, download the latest version of the app apk file from https://github.com/niedev/RTranslator/releases/ or Google Play Store and install it. Then follow these passages:

1. Go to console.cloud.google.com and sign in with your Google account or create one.

2. Activate the free trial and enter the required data (select the private account type if you do not have a company), including the credit card details (only for when the free trial will be sold out), to see how to disconnect the card read the point 13.

3. Create a new project from the top left (there is already a default project called "My First Project" but that will give problems for the operations we will perform) by clicking on "My First Project" and then on "NEW PROJECT", the name doesn't matter.

4. From the left pop-up bar, select "API and services", then "Dashboard".

5. Click on "ENABLE API AND SERVICES" and enable "Cloud Speech-to-Text API" and "Cloud Translation API".

6. Also from the left pop-up bar, select "APIs & services" again, then "Credentials".

7. Click on "Create credentials", then on "Service account key", fill out the form by creating a new service account (if it is not already present), choose at will the name, the id and the description of the account and click on "Create", then, clicking on the Role, select "Owner" then press "Create". At this point under "Service Accounts" click on the one just created (the email start with the name you choose before), click on "KEYS" at the top, then on "ADD KEY", "Create new key", select "JSON" and press "Create".

8. At this point, the key will be generated and downloaded automatically.

9. If you used a computer to do these operations, move the key file to your phone in the download folder.

10. Open the RTranslator app and after the initial configuration, click on the three dots at the top right and then on "APIs Management", then click on the button to attach the APIs Key and select the above file from the list.

11. Excellent, from now on, you can use RTranslator freely.

Account management

12. You must keep the key file safe because if someone came into its possession, he could use Google's API at your expense; keys can be deleted, created, limited, etc. always from console.cloud.google.com. If you lose the key, therefore, it will have to be deleted via the site mentioned above. At that point, the key file will no longer be valid, and to use RTranslator you will have to repeat the tutorial from step 6.

13. To disconnect the credit card from the account, from the pop-up bar on the left select "Billing", then "Account management", at the top click on "CLOSE BILLING ACCOUNT" and confirm; the API keys from now until you reopen the account (click on "REOPEN BILLING ACCOUNT" instead of the button to close it) will not work, and money will not be deducted from the credit card.

14. In general, you can manage everything from the console.cloud.google.com site. Visit the website to learn more.

N.B. The cost of the API is around 2-3 dollars per hour. Make sure you don't forget the application in the background when it is in WalkieTalkie or Conversation mode (just exit from the selected mode by pressing back or the exit button instead of pressing the home button ). Moreover, the microphone data will be sent to Google servers to be processed in order to obtain the final result (voice recognition or translation). The data mentioned above will not be saved or used for other purposes by google unless you activate the logging in the cloud platform console. For more information about it, read the Privacy section below.

APIs prices

The voice recognition rounds the cost of each request to the nearest multiple of 15 seconds. The average total cost (both translator and voice recognition), without taking into account the rounding, is 2.5 dollars per hour of usage, but both have a free usage margin per month (500,000 characters for translation and 60 minutes for speech recognition). Also for WalkieTalkie must add the language detection costs to the translation. To learn more:

cloud.google.com/speech-to-text/pricing

cloud.google.com/translate/pricing

The translator uses API Translation v2; voice recognition uses standard models, data logging is disabled by default. If you want to reduce voice recognition costs, you can activate data logging. To learn more, visit   cloud.google.com/speech-to-text/docs/enable-data-logging.

Supported languages

The languages supported (excluding variants) are as follows:

Bengali, Czech, Chinese, Korean, Danish, Finnish, French, Japanese, Greek, Hindi, Indonesian, English, Italian, Khmer, Nepalese, Dutch, Polish, Portuguese, Romanian, Russian, Sinhalese, Slovak, Spanish, Sundanese, Swedish, German, Thai, Turkish, Ukrainian, Hungarian, Vietnamese.

Privacy

Privacy is a fundamental right. That's why RTranslator does not collect any personal data (I don't even have a server). For more information, read the privacy policy.

Concerning audio data and transcripts sent to Google for translation and speech recognition, they are sent only when speaking in WalkieTalkie mode or Conversation mode and the microphone becomes clearer, so only when necessary. Also, the data are used by Google only to carry out these operations and in no other way.

On the other hand, if data logging for Google Cloud Speech is activated, the audio data sent will be used by Google only to improve its products and services. For more information, read https://cloud.google.com/speech-to-text/docs/data-logging#data-security for Google Cloud Speech and https://cloud.google.com/translate/data-usage for Google Cloud Translation API.

Libraries

RTranslator uses three open-source libraries, one for communication between devices, another for selecting and cropping the profile image from the gallery and another for the cost chart.

The three libraries are BluetoothCommunicator, GalleryImageSelector and GraphView respectively. See their GitHub pages and sample apps for more details.

Bugs and problems

I remember that the app is still a beta. The bugs found are the following:
  • For some languages, the TTS does not work. Reinstall the text-to-speech engine to resolve.
  • On some devices, there are device search problems.
  • Sometimes at the first start, the app notifies that Bluetooth LE is not supported. If your device supports Bluetooth LE, the next time you start the app, the message should no longer appear.

If you have found any other bug please report it by writing an email to [email protected]

Enjoy your simultaneous translator.

You might also like...
BaseAnimation network Android animation set, custom controls, nearly 200 kinds of source code! BaseAnimation, if a new version is updated automatically to remind everyone, I hope everyone will contribute their animated XML files or other source, together to create this open source app!
XliteKt is an open-source, and forever open-source Kotlin based OSRS Emulator for educational purposes.

xlitekt Introduction XliteKt is an open-source, and forever open-source Kotlin based OSRS Emulator for educational purposes. Currently built around th

Android NTP time library. Get the true current time impervious to device clock time changes
Android NTP time library. Get the true current time impervious to device clock time changes

TrueTime for Android Make sure to check out our counterpart too: TrueTime, an NTP library for Swift. NTP client for Android. Calculate the date and ti

An app performance monitor(APM) , like
An app performance monitor(APM) , like "Android Studio profiler", you can easily monitor the performance of your app real time in browser

AndroidGodEye English README.md 中文 README_zh.md Android developer lack of monitoring of performance data,especially in production environment. so we n

My attempt at completing Advent of Code for the first time, might also learn Kotlin while doing so.

AdventOfCode2021 Welcome to the Advent of Code1 Kotlin project created by debskipawel using the Advent of Code Kotlin Template delivered by JetBrains.

The Superhero app keeps track of the near real-time location of all the volunteers.

Superhero The Superhero app keeps track of the near real-time location of all the volunteers. The app sends requests for emergency tasks to nearby vol

This android app fetches the data from the USGS API in real time to display a list of earthquakes.

This android app fetches the data from the USGS API in real time to display a list of earthquakes. On clicking an earthquake it opens a browser window with the complete information of the earthquake along with the location on a map.

FirestoreCleanArchitectureApp is an app built with Kotlin and Firestore that displays data in real-time using the MVVM Architecture Pattern. For the UI it uses Jetpack Compose,  Android's modern toolkit for building native UI.
FirestoreCleanArchitectureApp is an app built with Kotlin and Firestore that displays data in real-time using the MVVM Architecture Pattern. For the UI it uses Jetpack Compose, Android's modern toolkit for building native UI.

FirestoreCleanArchitectureApp FirestoreCleanArchitectureApp is an app built with Kotlin and Cloud Firestore that displays data in real-time using Andr

The app features real-time chatting between different users on daily topics

DailyDiscuss The app features real-time chatting between different users on daily topics. The app comes with 2 types of user interface: Admin who crea

A real time notification App which reminds its user with daily schedules

On Time Pro ⌚ A real time notification App which reminds its user with daily schedules, time-table ⌛ , due assignments 📜 , regular classes with just

Firebase-Chat-App-Final - An android real-time chat application implemented using firebase
Firebase-Chat-App-Final - An android real-time chat application implemented using firebase

Firebase-Chat-App-Final An android real-time chat application implemented using

 🛥 Stream Draw - a real-time multiplayer drawing & chat game app built entirely with Jetpack Compose
🛥 Stream Draw - a real-time multiplayer drawing & chat game app built entirely with Jetpack Compose

🛥 Stream Draw is a real-time multiplayer drawing & chat game app built entirely with Jetpack Compose. Draw and guess words with your friends! This pr

An Android app that scans images or human faces in real time and detects whether the mask is worn or not, with the ability to set an audible alert
An Android app that scans images or human faces in real time and detects whether the mask is worn or not, with the ability to set an audible alert

Swift Mask Real time face mask detection Brief overview Swift Mask scans images or human faces in real time and detects whether the mask is worn or no

Android Real Time Chat & Messaging SDK
Android Real Time Chat & Messaging SDK

Android Chat SDK Overview Applozic brings real-time engagement with chat, video, and voice to your web, mobile, and conversational apps. We power emer

Android Real Time Chat & Messaging SDK
Android Real Time Chat & Messaging SDK

Android Chat SDK Overview Applozic brings real-time engagement with chat, video, and voice to your web, mobile, and conversational apps. We power emer

Android Project to find FatMax in real time with a Polar H10
Android Project to find FatMax in real time with a Polar H10

FatMaxxer According to recent research (see below) the FatMaxxer Android app may help you to exercise at the optimum effort level for fat burning, mea

A webapp which generates a simple Discord profile banner image in real-time which shows user's status and activity.

DiscordProfileBanner This tool generates a Discord profile banner image in realtime. I wrote it for use in my AniList profile. An example in action: H

Make Android DrawerLayout can be dragged out in real-time within the range of fullscreen
Make Android DrawerLayout can be dragged out in real-time within the range of fullscreen

FullDraggableDrawer Make the DrawerLayout can be dragged/pulled out in real-time within the range of fullscreen, like Pure Writer: * Full demo video:

A Real-time Fps Tool for Android
A Real-time Fps Tool for Android

fpsviewer A Real-time Fps Tool for Android, 一个能实时显示fps,一段时间的平均帧率,以及帧率范围占比,并能获取卡顿堆栈的可视化工具。侵入性低,通过在异步线程采样获取堆栈,无代码侵入,性能消耗可忽略,对性能监控项的异常数据进行采集和分析,整理输出展示相应的

Comments
  • Feature request

    Feature request

    Can you implement this library in your app? Google official api are costly so if you implement this library it would be free and unlimited text translation.

    opened by Hx2-code 4
  • Connect devices by internet

    Connect devices by internet

    Nice job, niedev. But I find that devices are connect by bluetooth. It is very constricted, can you add the feature that users can have conversations on internet? Just like microsoft translate.

    https://play.google.com/store/apps/details?id=com.microsoft.translator&hl=zh_CN&gl=CA

    opened by ILG2021 1
  • Alternatives: mozilla deep speech and bergamot

    Alternatives: mozilla deep speech and bergamot

    opened by erotavlasme 1
Releases(1.1.3)
Owner
I am an engineering student, a tech enthusiast and a developer. I know Java, C, C++ and a bit of HTML, CSS, JavaScript, PHP, SQL and Assembly
null
A non-trivial Bluetooth LE app using Kable and app architecture best practices

kable_mvvm_demo The intention of this project is to demonstrate a non-trivial Bluetooth LE app using Kable and app architecture best practices. ⚠️ The

Chris Laplante 14 Aug 18, 2022
🍔 Meals is a small demo app based on modern Android technologies and MVVM architecture

Meals ?? Meals is a small demo app based on modern Android technologies and MVVM architecture. built-in Kotlin, Coroutine, Flow, Retrofit, and Jetpack

Amr Jyniat 4 Nov 6, 2022
Create minecraft worlds without lag!

WorldGen 랙 없는 월드 생성을 위한 라이브러리 시작하기에 앞서, 이 라이브러리는 UHC_System 의 월드 생성 코드를 작성하면서 WorldCreator의 단점인 랙을 없애기 위해 만들어진 코드의 일부를 라이브러리로 공개하는 것임을 알려드립니다 WorldCre

dolphin2410 4 Jul 29, 2022
Open Source Messenger App For Android - Real-time Messaging, Voice and Video Calls

Open Source Messenger App For Android - Real-time Messaging, Voice and Video Calls

mesibo 630 Dec 7, 2022
Chandrasekar Kuppusamy 799 Nov 14, 2022
Android app of LINDAT translation service

Charles Translator Android app of LINDAT translation service For now just translate Czech <-> Ukrainian, but if future will be more languages Architec

ÚFAL 2 Jun 7, 2022
😇Translation tool based on Jetpack Compose

?? Screenshots   License Copyright 2020 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not u

Ruger 7 May 16, 2022
Mobile translation application built using android studio and java.

Translate I'm here when you need translation ?? ?? Libraries used in the project : implementation 'com.google.mlkit:translate:16.1.2' implementation '

Nisa Efendioğlu 9 Aug 29, 2022
An easy to use translation / localization api written in Kotlin that can be used with Java and Kotlin

KTranslate KTranslate is an easy to use TranslationAPI written in Kotlin, with currently 26 supported languages. It is very easy to use in Kotlin and

Felix Beinssen 0 Sep 2, 2022