Anda di halaman 1dari 5

Aplikasi Android Speech to Text

Deskripsi :
Aplikasi ini merupakan aplikasi yang dapat merubah inputan berupa suara menjadi teks. Dengan
menggunakan fitur bawaan dari android itu sendiri dapat mengubah inputan suara. Aplikasi ini
dapat bekerja jika tersambung pada koneksi internet. Dikarenakan inputan suara yang didapatkan
harus dikirim ke server yang kemudian serverlah yang merubah suara tersebut menjadi teks dan
kemudian dikirim kembali ke aplikasi ini.

Gambar 1. Aplikasi Android Speech to Text


Cara Pembuatan :
1. Pilih New Android Application, masukkan nama project yang diinginkan dan isikan informasi
lain yang dibutuhkan.
2. Pada strings.xml yang letaknya pada folder res values dan tambahkan strings seperti
dibawah ini.
<code style="color: #000000"> strings.xml
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;resources&gt;
&lt;string name="app_name"&gt;Speech To Text&lt;/string&gt;
&lt;string name="action_settings"&gt;Settings&lt;/string&gt;
&lt;string name="hello_world"&gt;Hello world!&lt;/string&gt;
&lt;string name="speech_prompt"&gt;Say something&lt;/string&gt;
&lt;string name="speech_not_supported"&gt;Sorry! Your device doesn't
support speech input&lt;/string&gt;
&lt;string name="tap_on_mic"&gt;Tap on mic to speak&lt;/string&gt;
&lt;/resources&gt;
</code>

3. Buka colors.xml pada res values dan tambahkan warna seperti dibawah ini.
<code style="color: #000000"> colors.xml
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;resources&gt;
&lt;color name="white"&gt;#ffffff&lt;/color&gt;
&lt;color name="bg_gradient_start"&gt;#31244e&lt;/color&gt;
&lt;color name="bg_gradient_end"&gt;#6b394c&lt;/color&gt;
&lt;/resources&gt;
</code>

4. Sekarang buka layout untuk activity utama(activity_main.xml) dan tambahkan kode dibawah
ini.
<code style="color: #000000"> activity_main.xml
&lt;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:background="@drawable/bg_gradient"
android:orientation="vertical" &gt;
&lt;TextView
android:id="@+id/txtSpeechInput"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="100dp"
android:textColor="@color/white"
android:textSize="26dp"
android:textStyle="normal" /&gt;
&lt;LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="60dp"
android:gravity="center"
android:orientation="vertical" &gt;
&lt;ImageButton
android:id="@+id/btnSpeak"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:src="@drawable/ico_mic" /&gt;
&lt;TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/tap_on_mic"
android:textColor="@color/white"
android:textSize="15dp"
android:textStyle="normal" /&gt;
&lt;/LinearLayout&gt;
&lt;/RelativeLayout&gt;

</code>

5. Buka MainActivity.java dan lakukan beberapa berubahan, yang akan selesai dalam dua
langkah.
Pertama : Memulai RecognizerIntent
Pertama kita perlu membuat RecognizerIntent dengan menetapkan flags yang diperlukan seperti
ACTION_RECOGNIZE_SPEECH Cukup mengambil input pidato pengguna dan
mengembalikannya ke activity yang sama.
LANGUAGE_MODEL_FREE_FORM Anggap bahwa masukan dalam bentuk English yang
bebas.
EXTRA_PROMPT Teks prompt untuk menunjukkan kepada pengguna ketika meminta mereka
untuk berbicara.
Kedua : Menerima inputan suara
Ketika melakukan input selesai maka inputan ditangkap dalam onActivityResult dan melakukan
tindakan selanjutnya.
<code style="color: #000000"> MainActivity.java
package info.androidhive.speechtotext;
import java.util.ArrayList;
import java.util.Locale;
import
import
import
import
import
import
import
import
import
import

android.app.Activity;
android.content.ActivityNotFoundException;
android.content.Intent;
android.os.Bundle;
android.speech.RecognizerIntent;
android.view.Menu;
android.view.View;
android.widget.ImageButton;
android.widget.TextView;
android.widget.Toast;

public class MainActivity extends Activity {


private TextView txtSpeechInput;
private ImageButton btnSpeak;
private final int REQ_CODE_SPEECH_INPUT = 100;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtSpeechInput = (TextView) findViewById(R.id.txtSpeechInput);
btnSpeak = (ImageButton) findViewById(R.id.btnSpeak);
// hide the action bar
getActionBar().hide();
btnSpeak.setOnClickListener(new View.OnClickListener() {
@Override

public void onClick(View v) {


promptSpeechInput();
}

});
}

/**
* Showing google speech input dialog
* */
private void promptSpeechInput() {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());
intent.putExtra(RecognizerIntent.EXTRA_PROMPT,
getString(R.string.speech_prompt));
try {
startActivityForResult(intent, REQ_CODE_SPEECH_INPUT);
} catch (ActivityNotFoundException a) {
Toast.makeText(getApplicationContext(),
getString(R.string.speech_not_supported),
Toast.LENGTH_SHORT).show();
}
}
/**
* Receiving speech input
* */
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent
data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case REQ_CODE_SPEECH_INPUT: {
if (resultCode == RESULT_OK &amp;&amp; null != data) {
ArrayList&lt;String&gt; result = data
.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
txtSpeechInput.setText(result.get(0));

}
break;

}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is
present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}

</code>

Anda mungkin juga menyukai