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 ?