Pernahkah kita mengalami, ketika kita bicara bahasa inggris lawan bicara kita tidak mengerti apa yang kita ucapkan, Sampai-sampai kita ambil kertas dan pulpen untuk menuliskannya. Kalau dulu mungkin bingung harus bertanya kemana. Mau nanya juga agak gengsi, walaupun kalau tak bertanya akan sesat dijalan.
Android sungguh penomenal kita bisa membuat aplikasi yang dapat membantu kita bahkan orang lain dalam pengucapan kata bahasa inggris yang benar hanya dengan beberapa line code dengan memanfaatkan library Android Text to Speech. Wow gimana caranya. Buat yang penasaran mari bersama kita buat aplikasinya.
1. Buat Project baru seperti dibawah ini
2. Sekarang saatnya membuat layoutnya, edit main_activity.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="Type Text Here" />
<EditText
android:id="@+id/editTextWord"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView1"
android:ems="10"
android:inputType="textMultiLine" >
<requestFocus />
</EditText>
<Button
android:id="@+id/buttonReset"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/editTextWord"
android:text="Reset" />
<Button
android:id="@+id/buttonSayIt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/buttonReset"
android:layout_alignBottom="@+id/buttonReset"
android:layout_toLeftOf="@+id/buttonReset"
android:text="Say It" />
</RelativeLayout>
3. Sekarang saatnya untuk mengedit otak dari aplikasi kita yaitu pada class MainActivity.java
package com.batikmob.englishpronunciation;
import java.util.Locale;
import android.app.Activity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity implements TextToSpeech.OnInitListener {
/** Called when the activity is first created. */
private TextToSpeech texttospeech;
private Button btnSayIt, btnReset;
private EditText edtWord;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
texttospeech = new TextToSpeech(this, this);
btnSayIt = (Button) findViewById(R.id.buttonSayIt);
btnReset = (Button) findViewById(R.id.buttonReset);
edtWord = (EditText) findViewById(R.id.editTextWord);
// button on click event listener
btnSayIt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
sayIt();
}
});
btnReset.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
edtWord.setText("");
}
});
}
@Override
public void onDestroy() {
// Don't forget to shutdown tts!
if (texttospeech != null) {
texttospeech.stop();
texttospeech.shutdown();
}
super.onDestroy();
}
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
int result = texttospeech.setLanguage(Locale.US);
if (result == TextToSpeech.LANG_MISSING_DATA
|| result == TextToSpeech.LANG_NOT_SUPPORTED) {
Log.e("TTS", "This Language is not supported");
} else {
btnSayIt.setEnabled(true);
// speakOut();
}
} else {
Log.e("TTS", "Initilization Failed!");
}
}
//method for say text in english pronunciation
private void sayIt() {
String text = edtWord.getText().toString();
if (text.equals("")){
Toast.makeText(MainActivity.this, "Please Type Text First !", Toast.LENGTH_SHORT).show();
}else{
texttospeech.speak(text, TextToSpeech.QUEUE_FLUSH, null);
}
}
}
4. Sekarang saatnya kita run aplikasi kita.
- Ketikan “Good Morning” lalu klik atau tap button Say IT dan akan terdengar suara yang mengucapkan kata “Good Morning”.
Sekarang sudah bulan desember, masih ingatkah dengan target yang ingin kita capai ditahun ini, sudahkah target-targetnya terpenuhi. Kalau belum masih ada beberapa minggu untuk memenuhinya ayoo semangat. Buat yang sedang skripsi dan tesis tambah lagi semangatnya jangan sampai tidak lulus di semester ini karena kita akan rugi waktu dan biaya. Jika ada kesulitan jangan ragu untuk konsultasi dengan Dosen Pembimbing.
Semoga Bermanfaat
Salam Hangat Developer Android
Agus Haryanto
Referensi



Mas,kalo pke bahasa daerah apa juga tetap sama bisa mengeluarkan suara yg kita tulis dlm bahasa daerah ?tq mohon bimbingannya,,,,
@Ruben, Tidak bisa karena ttsnya belum support untuk bahasa daerah
Mas Agus, tutorialnya sgt2 mmbantu
thanks for that
tapi mau tnya nih mas, supported language kan cmn dkit tuh mas.. Klo mau nmbah kyk arabic, bulgarian, vietnamese, thai itu kira2 bisa gk mas ?
thanks in advance
mas agus, pada aplikasi ini ada berapa macam bahasa yang support..
mas agus,
saat saya run, kenapa masih muncul error dan aplikasinya tidak tampil?
thx 🙂
mas agus, kalau mau buat aplikasi TTS pake bahasa daerah, kita perlu tools apa saja?
Mas Agus, kalo TTS yang di atas itu menggunakan pemanfaatan TTS Engine atau library dari sdk android ? mohon penjelasannya ?