Text To Speech (TTS) di Android adalah salah satu fitur yang menakjubkan untuk mengkonversi teks ke dalam suara. Android juga memungkinkan untuk berbicara dalam bahasa yang berbeda. Synthesizer Text-to-speech adalah sebuah aplikasi yang mengubah teks ke dalam kata yang diucapkan, dengan menganalisis dan pengolahan teks menggunakan Natural Language Processing. Dalam tutorial ini kita akan belajar bagaimana menerapkan aplikasi Android Text To Speech dengan Interface desain yang dapat menerima teks atau mengambil input sebagai teks dan membacanya.
Membuat Project Android:
1. Pada Android Studio, buatlah project baru.
⇒ Jika Anda tidak memiliki sebuah project, di layar Welcome klik New Project.
⇒ Jika Anda telah membuka project, dari menu File, pilih New Project.
⇒ Jika Anda telah membuka project, dari menu File, pilih New Project.
2. Pada Configure your new project, isi kolom berikut seperti di bawah ini.
⇒ Application name ⇒ TextToSpeech⇒ Company domain ⇒ example.com (Misalnya: com.megadistudio.TextToSpeech)
⇒ Project Location ⇒ memilih lokasi untuk project Anda.
3. Pada Select the form factors your app will run on, centang untuk Phone and Tablet.
=> Untuk Minimum SDK, pilih API 10: Android 2.3.3 (Gingerbread). klik Next.
4. Pada Add an activity to Mobile, pilih Blank Activity dan klik Next.
5. Klik tombol Finish untuk membuat project.
6. Pilih View Anda sebagai Project, Buka file layout untuk kegiatan utama (activity_main.xml) terletak di bawah App ⇒ res ⇒ layout.
dan copy kode di bawah ini untuk membuat layout.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="texttospeech.megadistudio.com.texttospeech.MainActivity"> <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/speaker" android:id="@+id/imgbutton" android:background="@null" android:layout_marginTop="61dp" android:layout_below="@+id/seekpitch" android:layout_centerHorizontal="true" /> <SeekBar android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/seekpitch" android:layout_centerVertical="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> <TextView android:text="@string/pitch" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textview2" android:textSize="20sp" android:textColor="#000cff" android:layout_above="@+id/seekpitch" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_marginBottom="21dp" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/editText" android:hint="@string/teks" android:textColor="#000cff" android:textColorHint="#ff0000" android:layout_above="@+id/textview2" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_marginBottom="25dp" /> <TextView android:text="@string/TK" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textview1" android:textSize="45sp" android:textColor="#009871" android:layout_above="@+id/editText" android:layout_centerHorizontal="true" android:layout_marginBottom="22dp" /> </RelativeLayout>
7. Buka string.xml terletak di app ⇒ res ⇒ value dan copy kode di bawah ini.
string.xml
<resources> <string name="app_name">Text To Speech</string> <string name="TK">Tahu Koding</string> <string name="teks">Ketik teks disini</string> <string name="pitch">Pitch</string> </resources>
8. Sekarang Buka MainActivity.java terletak di app ⇒ src ⇒ Java dan copy kode di bawah ini.
package texttospeech.megadistudio.com.texttospeech; import android.speech.tts.TextToSpeech; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.ImageButton; import android.widget.SeekBar; import java.util.Locale; public class MainActivity extends AppCompatActivity { TextToSpeech tts; EditText edittext; ImageButton imgbutton; SeekBar seekPitch; double pitch=1.0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); edittext=(EditText)findViewById(R.id.editText); imgbutton=(ImageButton)findViewById(R.id.imgbutton); seekPitch = (SeekBar) findViewById(R.id.seekpitch); seekPitch.setThumbOffset(5); seekPitch.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { pitch = (float) progress / (seekBar.getMax() / 2); } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { } }); tts=new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() { @Override public void onInit(int status) { if(status != TextToSpeech.ERROR) { tts.setLanguage(Locale.US); } } }); imgbutton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String toSpeak = edittext.getText().toString(); tts.setPitch((float) pitch); tts.speak(toSpeak, TextToSpeech.QUEUE_FLUSH, null); } }); } @Override public void onPause(){ if(tts !=null){ tts.stop(); tts.shutdown(); } super.onPause(); } @Override public void onDestroy() { if (tts != null) { tts.stop(); tts.shutdown(); } super.onDestroy(); } }
Dengan ini kita telah menyelesaikan aplikasi android Text To Speech. Untuk menjalankan aplikasi dari Android Studio , klik Run ikon dari toolbar. Sekarang kita hanya Memasukkan teks pada input field Teks dan tekan tombol speaker, untuk mendapatkan kata yang diucapkan.
[full-width]