Anda di halaman 1dari 9

Bianglala Informatika Vol 2 No 2 September 2014

APLIKASI KONVERSI SUARA KE TEKS BERBASIS ANDROID MENGGUNAKAN


GOOGLE SPEECH API

Supriyanta, Pudji Widodo dan Bekti Maryuni Susanto


Program Studi Manajemen Informatika
AMIK “BSI Yogyakarta”
Ringroad Barat, Ambarketawang, Gamping, Sleman, Yogyakarta
Telp (0274) 4342536
e-mail:supri.spt@bsi.ac.id, pudji.piw@bsi.ac.id, bekti.bms@bsi.ac.id

Abstrak
Memasukkan teks ke dalam perangkat mobile lambat dan rentan kesalahan dibandingkan dengan
mengetik pada keyboard ukuran penuh. Google menawarkan fitur pada Android yang bertujuan untuk membuat
suara sebagai alternatif metode input, misal penelusuran menggunakan suara, input suara ke dalam text field
tertentu dan Application Programming Interface (API) suara untuk pengembang aplikasi. Untuk menelusuri
menggunakan suara, pengguna secara sederhana mengetuk ikon mikropon pada kotak pencarian desktop atau
dengan menahan tombol pencarian fisik. Penelitian ini bertujuan untuk membangun aplikasi yang mengkonversi
suara ke dalam teks dengan Bahasa Indonesia. Aplikasi dibuat menggunakan API Google Speech, bahasa
pemrograman yang digunakan bahasa pemrograman Java. Editor Java yang digunakan Eclipse. Aplikasi
diujicoba pada smartphone Android. Manfaat dari aplikasi ini adalah mengurangi kesalahan memasukkan input
pada bidang teks. Selain itu aplikasi ini juga bisa digunakan untuk merekam pembicaraan yang hasil rekamanya
sudah langsung berbentuk teks.

Kata Kunci : Speech To Text, Google API

PENDAHULUAN Apple. Pada aplikasi siri orang bisa memberi


Kemajuan di bidang prosesor, khususnya perintah ke smartphone melalui suara. Misal
prosesor daya rendah atau embedded processor dan mengirim sms, mengirim e-mail, membaca sms,
kecerdasan buatan membuat Human Computer membaca e-mail, mendengarkan musik, mencari
Interaction (HCI) menjadi ada dimana-mana. web dan sebagainya (Reddy & Mahender, 2013).
Automatic speech recognition adalah bagian Namun, sampai saat ini belum ada aplikasi sejenis
penting dari HCI dan komputasi ubiquitous, yang mampu mengenali suara yang Berbahasa
mempunyai beberapa keuntungan menarik ketika Indonesia.
digunakan sebagai I/O perangkat sebuah sistem. Penggunaan smartphone dan komputer tablet
Biasanya, orang dapat berbicara lebih cepat dari ini membawa paradigma baru (Meisel, 2010),
pada dia mengetik (Chandra, 2007). Automatic yaitu:
speech recognition juga bermanfaat pada aplikasi 1. Smartphone mengarahkan kita untuk terhubung
seperti automated customer service, video game dimanapun kita berada, baik data maupun
interaktif, dan untuk mengendalikan kendaraan chanel suara.
tanpa awak (unmanned vehicle). Dengan kehadiran 2. Smartphone benar-benar telepon pribadi,
baterai yang dioperasikan pada ponsel, bahkan lebih pribadi dari pada komputer
PDA/smartphone, speech recognition dapat pribadi. Sebagai perangkat pribadi fitur dan
digunakan dalam metode speech to text untuk layanan disesuaikan dengan kebutuhan dan
menulis e-mail/SMS pada PDA/smartphone, resep kesukaan pribadi.
medis dan sebagainya layaknya I/O perangkat 3. Smartphone mendukung semua jenis
mobile yang dioperasikan dengan baterai yang komunikasi, suara, teks, e-mail dan sebagainya.
tidak ramah terhadap pengguna. 4. Smartphone bisa menjadi perangkat bisnis dan
Smartphone dan komputer tablet saat ini perangkat pribadi, kita tidak perlu membawa
menjadi alat komunikasi dan asisten pribadi yang dua perangkat.
sangat penting. Bentuknya yang portabel dan 5. Panggilan dan pengiriman data yang tidak
mudah dibawa membuat orang menyukainya terbatas dengan biaya bulanan yang tetap,
sebagai alat utama dalam kehidupan sehari-hari. dengan koneksi Internet biaya panggilan
Berbagai macam aplikasi tersedia di smartphone telepon bisa gratis.
maupun komputer tablet, baik yang memiliki Smartphone dan komputer tablet menjadi
antarmuka grafis maupun dengan antarmuka populer akhir-akhir ini serta menyediakan aplikasi
berbasis suara. Smartphone dan komputer tablet menggunakan input suara (speech recognition).
berusaha agar orang bisa senyaman mungkin Beberapa metode speech recognition beroperasi
menggunakanya. Sebagai contoh misalnya aplikasi secara langsung pada terminal dan ada yang
Siri, aplikasi asisten pribadi pada smarphone beroperasi pada server (Iizuka, Tsujino, Oguri, &

11
Aplikasi Konversi Suara Ke Teks Berbasis Android

Furukawa, 2012). Speech recognition yang Programming Interface (API) suara untuk
beroperasi pada server mengirim sinyal suara atau pengembang aplikasi. Untuk menelusuri
fitur suara ke server, yang menjalankan mesin menggunakan suara, pengguna secara sederhana
speech recognition dan mengembalikan hasil teks mengetuk ikon mikropon pada kotak pencarian
kembali ke terminal. Speech recognition pada desktop atau dengan menahan tombol pencarian
terminal terbatas pada kecilnya vocabulari karena fisik. Pengguna dapat berbicara permintaan apapun,
keterbatasan pemrosesan dan konsumsi daya, tetapi dan kemudian akan ditampilkan hasil pencarian
tidak dipengaruhi oleh kondisi komunikasi seperti Google. Untuk menggunakan fitur input suara,
delay atau tidak terjangkau. Speech recognition ini pengguna mengetuk kunci mikropon pada layar
diaplikasikan ke aplikasi seperti operasi terminal, keyboard dan kemudian berbicara untuk
yang terbatas tetapi tersedia sepanjang waktu. memasukkan teks secara virtual dimanapun mereka
Sebaliknya, speech recognition berbasis server ingin mengetik secara normal. Pengguna bisa
dipengaruhi oleh kondisi komunikasi tetapi dapat memerintah pesan e-mail dan sms, mengisi form
menggunakan teknik yang membutuhkan pada halaman web, atau memasukkan teks ke
pemrosesan yang lebih kompleks. Metode ini dalam apliaksi apapun. API speech Android
cocok untuk aplikasi seperti pencarian atau input merupakan alat yang sederhana bagi pengembang
teks, yang harus mendukung vocabulari yang besar. untuk mengintegrasikan kemampuan pengenalan
Speaker recognition adalah sebuah proses yang suara ke dalam aplikasi mereka.
memungkinkan mesin untuk memahami dna Proses mengkonversi input suara menjadi
menginterpretasikan suara manusia dengan output digital seperti teks yang dikenal dengan
menggunakan algoritma tertentu dan memverifikasi speech recognition menyediakan sebuah komputer
kebenaran dari manusia yang mengucapkanya dengan fitur mendengarkan suara pengguna,
(Kumar & Rao, 2011). Oleh karena itu, speaker memahaminya dan mengubahnya ke dalam bentuk
recognition atau identifikasi pada dasarnya adalah output yang diinginkan dan juga melakukan
sebuah metode yang secara otomatis tindakan yang dibutuhkan (Patel, Patel, & Virparia,
mengidentifikasi speaker dari sinyal suara yang 2013). Proses pengenalan suara terdiri dari empat
direkam atau langsung dengan menganalisa tahapan, yaitu mengubah suara ke dalam sinyal
parameter sinyal suara. Pertama, suara manusia digital, mengekstraksi suara nyata, membuat
dikonversi ke format yang bisa dibaca oleh mesin, kerangka suara dan membandingkan kerangka
setelah itu mesin memproses data. Pemrosesan data suara dengan kata di dalam gramar untuk
berhubungan dengan ekstraksi fitur dan menentukan kata yang tepat. Speech recognition
pencocokan fitur. Kemudian, berdasarkan data melibatkan pengucapan ke dalam perangkat
yang diproses, tindakan yang tepat dilakukan oleh mikropon dan memungkinkan software untuk
mesin. Tindakan ini tergantung pada aplikasinya. mendeteksi suara, menginterpretasikan suara,
Google sebagai pengembang sistem operasi mengubah suara ke dalam string dan layanan
Android mempunyai visi agar layanan bisa speech recognition ini ditujukan untuk digunakan
dinikmati dimana saja (ubiquitous) dan tersedia dengan perintah pendek, seperti frase tanpa jeda.
dalam jumlah yang besar. Agar bisa dilayani Penelitian ini bertujuan untuk membangun
dimana saja (ubiquitous), Google menerapkan sebuah aplikasi yang mengkonversi suara ke dalam
layanan berbasis cloud. Dengan layanan berbasis teks dengan Bahasa Indonesia. Aplikasi dibuat
cloud ini, layanan Google bisa diakses dimana saja menggunakan API Google Speech, bahasa
dan dalam skala yang luas (Schalkwyk, et al., pemrograman yang digunakan bahasa
2010), (Schuster, 2010). Berdasarkan penelitian pemrograman Java. Editor Java yang digunakan
yang dilakukan oleh Gartner, Inc menunjukkan adalah Eclipse. Aplikasi diujicoba pada perangkat
bahwa pada tahun 2013 sistem operasi Android smartphone Android. Manfaat dari apliaksi ini
mempunyai marketshare terbesar (79%), adalah mengurangi kesalahan memasukkan input
mengungguli pesaingnya, Apple (14,2%), pada bidang teks. Selain itu aplikasi ini juga bisa
Microsoft (3,3%), BlackBerry (2,7%). Market digunakan untuk merekam pembicaraan yang hasil
share ini meningkat 14,8 % dari tahun sebelumnya rekamanya sudah langsung berbentuk teks.
(Gartner, 2013).
Memasukkan teks ke dalam perangkat mobile TINJAUAN PUSTAKA
sering lambat dan rentan kesalahan dibandingkan ANDROID
dengan mengetik pada keyboard ukuran penuh Android adalah sistem operasi mobile
(Ballinger, Allauzen, Gruenstein, & Schalkwyk, berdasarkan modifikasi versi Linux. Android
2010). Google menawarkan beberapa fitur pada awalnya dikembangkan oleh sebuah perusahaan
Android yang bertujuan untuk membuat suara pengembang yang namanya sama, Android, Inc.
sebagai alternatif metode input yang layak, misal pada tahun 2005, sebagai bagian strateginya dalam
penelusuran menggunakan suara, input suara ke memasuki pasar mobile, Google membeli Android
dalam text field tertentu dan Application

12
Bianglala Informatika Vol 2 No 2 September 2014

dan mengambil alih pengembanganya sampai 5. Media Support, mendukung berbagai tipe
sekarang. media, MPEG, MP4, 3GP, JPEG, PNG dan
Google ingin Android terbuka dan bebas, oleh lain-lain.
karena itu sebagian besar kode Android dilepas di 6. Hardware support, accelerometer sensor,
bawah lisensi open source Apache, yang berarti camera, digital compas, proximity sensor, dan
bahwa siapapun yang ingin menggunakan Android GPS.
dapat mendownload sumber kode Android secara 7. Multi touch, multi tasking, mendukung flash
penuh. Terlebih lagi bagi vendor (biasanya dna tethering, shairng koneksi internet.
pabrikan hardware) dapat menambahkan ekstensi
propietari pad Android dan menyesuaikan Android Secara umum sistem operasi Android
untuk membedakan produk Android mereka terbagi ke dalam 4 lapisan, yaitu kernel linux,
dengan lainya. Model pengembangan ynag libraries dan android runtime, application
sederhana ini membuat Android sangat menarik framework dan application. Kernel linux
dan telah mengusik ketertarikan banyak vendor. merupakan dasar dari sistem operasi Android.
Terutama bagi perusahaan yang terpengaruh Lapisan di atasnya adalah lapisan libraries. Pada
dengan fenomena IPhone Apple, sebuah lapisan ini berisi semua kode yang menyediakan
kesuksesan produk yang luar biasa yang merevolusi fitur utama sistem operasi Android. Sebagai
industri smartphone. Perusahaan termasuk contoh, library SQLLite menyediakan dukungan
Motorola dan Sony yang selama bertahun-tahun database sehingga sbeuah aplikasi dapat
mengembangkan sistem operasi mobile sendiri. menggunakanya untuk penyimpanan data. Librari
Ketika IPhone diluncurkan, banyak perusahaan WebKit menyediakan fungsionalitas web browsing.
seperti ini berjuang untuk menemukan cara baru Pada lapisan yang sama terdapat Android Runtime,
untuk merevitalisasi produk mereka. Pabrikan ini yang menyediakan seperangkat librari inti yang
melihat Android sebagai sebuah solusi, mereka memungkinkan pengembang untuk menulis
meneruskan untuk mendesain hardware mereka dan aplikasi android menggunakan bahasa
menggunakan Android sebagai Sistem Operasi pemrograman java. Android runtime juga termasuk
yang memberikan kekuasaanya. Dalvik virtual machine, yang memungkinkan setiap
Keuntungan utama mengadopsi Android adalah aplikasi android menjalankan prosesnya sendiri,
Android menawarkan pendekatan terpadu pada dengan instance Dalvik virtual machine-nya
pengembangan aplikasi. Pengembang hanya perlu (aplikasi android dikompilasi ke dalam dalvik
mengembangkan untuk Android, dan aplikasi executable). Dalvik adalah virtual machine yang
mereka dapat dijalankan pada banyak perangkat khusus digunakan pasa Android dan optimal untuk
yang berbeda, sepanjang perangkat tersebut perangkat mobile dengan baterai dnegan memori
menggunakan Android. Pada dunia smartphone, dan CPU yang terbatas. Lapisan di atasnya adalah
aplikasi adalah bagian rantai sukses yang paling application framework, yang menampakkan
penting. Oleh karena itu pabrikan hardware melihat berbagai macam kemampuan sistem operasi
Android sebagai harapan terbaiknya untuk Android kepada pengembang aplikasi sehingga
menantang serangan hebat iPhone, yang sudah mereka dapat menggunakan pada apliaksi mereka.
memiliki dasar apliaksi yang besar. Lapisan yang paling atas adalah aplikasi, pada
Android telah mengalami sejumlah update sejak lapisan ini kita bisa menemukan aplikasi yang
pertama kali diluncurkan pada tahun 2007 sampai dikapalkan bersama dengan perangkat Android,
yang diluncurkan terkahir tahun 2013. Tabel 2 seperti contacts, browser serta apliaksi-apliaksi
berikut menunjukkan berbagai macam versi yang didownload dari Play Store.
Android dan kode namanya. Kode nama versi Algoritma Hidden markov Model adalah
Android menggunakan nama-nama kue agar mudah algoritma yang paling efisien dan paling akurat
diingat. dalam pengenalan suara. Hidden markov model
Android bersifat open source dan bebas tersedia terdiri dari dua bagian, yaitu proses markov dan
bagi pabrikan untuk penyesuaian, sehingga tidak hidden model. Proses markov adalah proses
ada konfigurasi hardware dan software yang tetap. stokastik dengan properti markov. Properti markov
Akan tetapi Android sendiri mendukung fitur-fitur mengatakan bahwa probabilitas kondisional dari
berikut: kenampakan kondisi proses yang akan datang,
1. Storage, menggunakan SQLLite sebuah ditentukan kondisi masa lampau dan saat ini, hanya
database relasional yang ringan. tergantung pada kondisi saat ini dan bukan kondisi
2. Conectivity, mendukung GSM/EDGE, IDEN, masa lampau. Pengenalan suara berbasis HMM
CDMA, EV-DO, UMTS, Bluetooth, Wifi, LTE menggunakan konsep bahwa ucapan terdiri dari
dan WiMAX urutan suara dasar. Kata apapun di dalam kamus
3. Messaging, mendukung SMS dan MMS. terdiri dari urutan suara dasar. Masing-masing
4. Web Browser, berdasarkan open source suara dasar ini mempunyai model statistik. Oleh
WebKit. karena itu sebuah kata dapat diekspresikan sebagai
urutan model statistik. Suara dijadikan sampel oleh

13
Aplikasi Konversi Suara Ke Teks Berbasis Android

sistem pengenalan suara untuk membentuk sebuah


urutan vektor fitur suara (parameter numerik).
Urutan vektor fitur suara ini adalah urutan
observasi. Kemudian pengenal menentukan secara
probabilistik model yang mana yang kemungkinan
besar menghasilkan vektor suara. Mengidentifikasi
urutan model menghasilkan identifikasi kata yang
diucapkan (Chandra, 2007).
HMM merupakan sebuah model statistik
dimana suatu sistem yang dimodelkan diasumsikan
sebagai markov proses dengan kondisi yang tidak
terobservasi (Prasetyo, 2010). Suatu HMM dapat
dianggap sebagai jaringan Bayesian dinamis yang Sumber: (Prasetyo, 2010)
sederhana (simplest dynamic bayesian network). Gambar 1. Hidden Markov Model
Dalam markov biasa, smetiap keadaan dapat Keterangan:
terlihat langsung oleh pengamat. Oleh karena itu - X= kondisi
kemungkinan dari transisi antar kondisi menjadi - Y= observasi yang mungkin
satu-satunya parameter teramati. Dalam HMM - A= kemungkinan keadaan transisi
keadaan tidak terlihat secara langsung. Tetapi - B= kemungkinan output
output yang bergantung terhadap keadaan itu HMM mampu menyelesaikan tiga
terlihat. permasalahan khusus, yaitu evaluasi, inferensi dan
Setiap kondisi memiliki distribusi learning. Evaluasi menggunakan HMM dengan
kemungkinan di setiap output yang mungkin. Olah menghitung probabilitas dari urutan nilai observasi
karena itu urutan langkah yang dibuat oleh HMM yang diberikan oleh HMM. Inferensi menggunakan
memberikan suatu informasi tentang urutan dari HMM dilakukan dengan menarik kesimpulan
keadaan. Perlu dipahami bahwa sifat hidden berdasarkan asumsi yang diperoleh dari nilai
‘tersembunyi’ menunjuk pada kondisi langkah probabilitas observasi yang didapat sebelumnya
yang dilewati model, bukan kepada parameter dari pada operasi evaluasi. Learning menggunakan
model tersebut. Walaupun parameter model HMM dilakukan dalam dua tahapan yaitu,
diketahui model tersebut tetap tersembunyi. menghitung nilai probabilitas forward dan
Hidden markov model dapat digunakan backward untuk setiap statement dan menentukan
untuk aplikasi di bidang temporal pattern frekuensi dari pasangan transisi emisi dan
recognition atau pengenalan pola temporal seperti membaginya dengan nilai probabilitas semua
pengenalan suara, tulisan, gesture, bioinformatika, observasi.
kompresi kalimat, computer vision, ekonomi,
finansial, dan pengenalan not balok. HMM adalah Java Virtual Machine
variasi dari finite state machine yang memiliki Inovasi bahasa komputer didorong oleh
kondisi tersembunyi Q, suatu nilai output O dua faktor, yaitu peningkatan seni pemrograman
(observasi), kemungkinan transisi A, kemungkinan dan perubahan lingkungan komputasi (Schildt,
output B, sebuah kondisi awal ∏. Kondisi saat ini 2005). Java tidak terkecuali. Dibangun berdasarkan
tidak terobservasi. Tetapi setiap keadaan warisan kaya C dan C++, java menambahkan
menghasilkan output kemungkinan B. Biasanya Q perbaikan dan fitur yang merefleksikan kondisi seni
dan O dimengerti, jadi HMM disebut triple pemrograman saat ini. Merespon peningakatn
(A,B,∏) (Prasetyo M. E., 2010). lingkungan online, Java menawarkan fitur yang
1. Himpunan observed state: O=o1,02,…on menyederhanakan pemrograman untuk arsitektur
2. Himpunan hidden state: Q=q1,q2,…qn yang terdistribusi.
3. Probabilitas transisi: A= a01,a02,,,,,an1,….anm; Java disusun oleh James Gosling, Patrick
aij adalah probabilitas untuk berpindah dari Naughton, Chris Warth, Ed Frank dan Mike
state i ke j. Sheridan pada perusahaan Sun Microsystem pada
4. Probabilitas emisi atau observation likelyhood: tahun 1991. Bahasa ini awalnya namanya “Oak”
B=bi(Ot), merupakan probabilitas observasi Ot tetapi dinamai kembali “Java” pada tahun 1995.
dibangkitkan oleh kondisi i. Sesuatu yang mengejutkan dorongan awal Java
5. State awal dan akhir: q0, qend, yang tidak bukan Internet, melainkan dorongan utamanya
terkait dengan observasi. adalah kebutuhan bahasa yang multi platform yang
dapat digunakan untuk menciptakan software untuk
ditanamkan pada berbagai macam peragkat
elektronik, seperti pemanggang, oven mikrowave,
remote control dan lain-lain. Seperti yang dapat
ditebak, banyak CPU berbeda yang digunakan

14
Bianglala Informatika Vol 2 No 2 September 2014

sebagai pengendali. Permasalahanya adalah Konsep yang kedua dari object oriented
sebagian besar bahasa pemrograman dikompilasi java adalah polymorphism, yang artinya banyak
untuk target tertentu, misal C++. bentuk. Objek hasil instansiasi dari sebuah kelas
Meskipun mungkin untuk mengkompilasi memiliki karakteristik atau atribut dan metode atau
sbeuah program C++ untuk hampir semua jenis tingkah laku. Atribut merupakan ciri-ciri yang
CPU, untuk melakukanya membutuhkan kompiler menempel pada sebuah objek, sedangkan metode
C++ untuk CPU tersebut. Permasalahanya, adalah tingkah laku yang bisa dilakukan oleh
kompiler tersebut mahal dan memakan waktu untuk sebuah objek. Namun, kadang kala objek yang
membuatnya. Dalam usaha untuk menemukan diturunkan dari kelas yang sama memiliki metod
solusi yang lebih baik, gosling dan teman-temanya yang berbeda. Misal kelas hewan diinstansiasi
bekerja pada pernagkat protable, lintas platform menjadi objek hewan harimau dan ular. Harimau
yang dapat menghasilkan kode yang berjalan pada dan ular memiliki metode yang sama yaitu berjalan,
berbagai macam CPU pada lingkungan yang namun cara berjalan harimau berbeda dengan cara
berbeda. Usaha inilah yang menuntun penciptaan berjalan ular.
Java. Dorongan yang kedua adalah World Wide Konsep yang ketiga adalah inheritance
Web. Java menjadi garis terdepan pada atau pewarisan sifat. Sebuah objek yang diturunkan
pemrograman berbasis Web karena Web dari sebuah kelas memiliki atribut dan metode yang
menginginkan program yang portabel. sama dengan kelas yang menurunkanya. Misal
Java secara langsung berhubungan dengan sebuah kelas mobil yang memiliki atribut merk,
C dan C++. Java menurunkan sintaknya dari C. nomor, jumlah roda dan metode maju, mundur,
model objeknya diadaptasi dari C++. Hubungan belok kanan dan belok kiri. Sedan adalah bentuk
Java dengan C dan C++ penting untuk beberapa instansiasi dari kelas mobil. Maka berdasarkan
alasan. Pertama, banyak programer yang familiar konsep dasar object oriented programming (oop)
dengan sintaks C dan C++. Ini membuat mudah maka sedan juga memiliki atribut dan metode yang
bagi programer C/C++ untuk belajar Java, begitu sama dengan kelas mobil.
juga sebaliknya programer Java yang belajar
C/C++. Alasan yang kedua, Java bukan sebuah GOOGLE SPEECH API
penemuan kembali, melainkan sebuah perbaikan Google speech API atau Google Voice
dari paradigma pemrograman yang sudah sukses. search diluncrukan pada tahun 2008 di Amerika
Prmograman modern dimulai dari C kemudian C++ Serikat untuk beberapa tipe smartphone. Google
dan sekarang Java. Dengan menurunkan dan speech API adalah sebuah framework yang
membangun berdasarkan warisan kaya, Java dikembangkan oleh Google untuk mengenali suara,
menyediakan lingkungan programing yang mengubahnya menjadi string (teks) dan
konsisten dan powerful yang menjadikan terbaik memasukkanya ke dalam halaman pencarian
dan menambahkan fitur baru pada lingkungan Google sehingga akan tampil hasil pencarian
online. Karena kemiripan mereka, C, C++ dan Java berdasarkan input suara. Pengenalan suara
menetapkan sebuah framework yang umum dan dilakukan pada server Google menggunakan
konseptual untuk programer profesional. Programer algoritma Hidden Markov Model (HMM). Dengan
tidak menghadapai celah yang besar ketika kata lain input suara yang diterima oleh perangkat
berpindah dari satu bahasa ke bahasa lain. Android (smartphone) akan dikirimkan ke server
Java merupakan salah satu bahasa Google, yang selanjutnya server Google melakukan
pemrograman yang berorientasi objek (Object pengenalan dan mengubahnya menjadi teks
Oriented Programming). Java mempunyai tiga menggunakan algoritma HMM. Hasil konversi
konsep dasar dalam pemrograman berorientasi suara menjadi teks kemudian dimasukkan dalam
objek, yaitu encapsulation, polymorphism dan halaman pencarian Google kemudian server
inheritance. Encapsulation adalah mekanisme Google akan mengirimkan hasil pencarianya
pemrograman yang membungkus kode dan data tersebut ke perangkat Android (Reddy &
bersama dan menjaganya dari gangguan luar. Data Mahender, 2013).
dan kode dibungkus ke dalam sebuah blackbox Antarmuka web pencarian menyediakan semua
yang disebut dengan objek. Objek ada yang bersifat jenis informasi dan layanan di Internet, tetapi
private dan publik. Objek yang bersifat private pengguna harus mencari melalui daftar hasil untuk
hanya bisa diakses di seluruh bagian di dalam hasil yang diinginkan. Ini dapat menjadi
objek. Objek yang bersifat publik dapat diakses membebani pada perangkat yang memiliki ukuran
oleh seluruh bagian dalam satu package. Satuan layar yang relatif kecil. Pengembangan pencarian
dasar encapsulasi java adalah class. Kelas berdasarkan suara memiliki keuntungan (Iizuka,
merupakan bentuk bcetakan biru sebuah objek, satu Tsujino, Oguri, & Furukawa, 2012):
kelas bisa diturunkan menjadi beberapa objek. 1. Memungkinkan memanggil aplikasi tertentu
Dengan kata lain, objek adalah bentuk instansiasi pada fungsi terminal atau layanan web.
dari sebuah kelas. Kelas tidak bisa diakses sebelum 2. Menggunakan teknologi pemrosesan bahasa
dibendakan atau diinstansiasi menjadi objek. dan rumus penggolongan untuk menentukan

15
Aplikasi Konversi Suara Ke Teks Berbasis Android

secara otomatis kategori mana yang termasuk otomatis, sehingga kita tidak perlu mendownload
ucapan pengguna dan menyarankan aplikasi update Android SDK lagi. Namun, android sdk
yang tepat. pada software ini hanya android sdk terbaru, yaitu
3. Menggabungkan layar yang menyediakan akses android kitkat. Klik dua kali file hasil download
yang mudah ke aplikasi lain pada kategori yang untuk menginstal Android SDK.
lain yang behrubungan dengan ucapan Pada saat menginstal Android SDK, akan
Speech recognition system dapat dibagi menjadi diperiksa apakah Java sudah terinstal atau belum.
beberapa blok, yaitu feature extraction, acoustic Karena pemrograman Android menggunakan
model ndatabase yang dibangun berdasarkan data bahasa pemrograman java. Jika belum kita harus
training, dictionary, model bahasa dan algoritma menginstal Java terlebih dahulu, jika sudah kita
pengenalan suara. Sinyal suara analog dianalisa bisa melanjutkan untuk menginstal Android SDK.
bahkan dalam interval. Periode ini biasanya 20 ms Setelah Java dan Android SDK kita
karena sinyal ini dianggap statis. Ekstraksi fitur membutuhkan satu software lagi yaitu Eclipse,
suara melibatkan pembentukan vektor diskrit spasi tempat kita mebuliskan programnya. Eclipse dapat
sama dari karakteristik suara. Vector fitur dari didownload pada link
database pelatihan digunakan untuk http://www.eclipse.org/downloads/. Setelah
memperkirakan parameter model akustik. Model didownload klik dua kali file eclipse.exe untuk
akustik menjelaskan properti elemen dasar yang menjalankan Eclipse. Selanjutnya kita perlu
dapat dikenali. Elemen dasar ini dapat berupa mengkonfigurasi Eclipse agar bisa digunakan untuk
fonem untuk suara yag terus menerus dan kata membuat aplikasi berbasis Android. Kita
untuk pengenalan kata terisolasi. tambahkan plugin Android SDK untuk Eclipse
Dictionary digunakan untuk menghubungkan dengan menambahkan repositorinya.
model akustik dengan vocabulari kata. Model Setelah selesai maka Eclipse kita sudah
bahasa mengurangi jumlah kombinasi kata yang terinstal plugin Android SDK. Kita bisa membuat
disetujui berdasarkan aturan bahasa dan informasi program berbasis Android menggunakan Eclipse.
statistik dari teks yang berbeda. Speech recognition Selanjutnya kita perlu mengupdate Android SDK,
system berdasarkan hidden markov model saat ini untuk mendapatkan Android SDK terbaru. Setelah
digunakan luas pada teknologi modern. Sistem ini itu kita buat device virtual Android, untuk
menggunakan fonem atau kata untuk pemodelan. menjalankan aplikasi yang kita buat pada Eclipse.
Model output merupakan fungsi kondisi Kita juga bisa menjalankan langsung aplikasi yang
propabilitas tersembunyi dan tidak dapat ditentukan kita buat pada Smartphone android, tetapi cara ini
secara spesifik. Speech recognition system pada terlalu beresiko karena kita harus mengubah seting
umunya mengasumsikan bahwa sinyal suara adalah di handphone maupun di komputer tablet agar bisa
realisasi dari beberapa pesan yang tersandikan menginstal software yang didapatkan bukan dari
sebagai urutan satu atau lebih simbol (Reddy & play store. Apabila aplikasi kita mengandung
Mahender, 2013). malware, bisa merusak pernagkat. Untuk lebih
aman kita gunakan perngakat virtual yang sudah
Android Application Development disediakan oleh Android SDK walaupun agak
Untuk membuat aplikasi berbasis Android, kita lambat untuk dijalankan di komputer tertentu,
perlu mendownload dan menginstal beberapa khususnya komputer yang berlayar kecil.
software yag diperlukan, yaitu Java Virtual Setelah semuanya terinstal dan
Machine, Android SDK dan Eclipse. Ketiga dikonfigurasi, maka Android Development Tool
software tersebut bersifat open source dan kita bisa siap digunakan untuk membuat aplikasi berbasis
mendapatkanya dengan gratis, tinggal Android. Aplikasi berbasis Android terdiri dari dua
mendownloadnya dari Internet. Java bisa file utama yaitu file xml dan file java. File xml
didownload pada berisi layout dari aplikasi kita sedangkan file java
https://java.com/en/download/index.jsp. Setelah berisi logika program kita. Keduanya menjadi satu
didwonload, klik dua kali file hasil download untuk kesatuan yang tidak bisa dipisahkan.
menginstalnya dan pilih install, next sampai selesai.
Langkah yang kedua mendownload
Android SDK pada link Hasil Dan Pembahasan
https://developer.android.com/sdk/index.html. Ada Penelitian ini adalah penelitian eksperimen,
beberapa pilihan Android SDK yang bisa dimana penelitian melibatkan investigasi hubungan
didownload, yaitu Android SDK untuk Windows sebab akibat menggunakan tes yang dikendalikan
baik yang 32 bit maupun 64 bit, untuk Linux 32 bit oleh peneliti (Dawson, 2009). Aplikasi dibuat
dan 64 bit, untuk Mac 32 bit dan 64 bit serta kita menggunakan bahsa pemrograman java dan xml.
bisa mendownload adt-bundle baik untuk Java digunakan untuk menangani logika program
Windows, Linux maupun Mac. Adt-bundle adalah dan xml digunakan untuk membuat layout aplikasi.
beberapa software yang sudah dikonfigurasi secara

16
Bianglala Informatika Vol 2 No 2 September 2014

Antarmuka lingkungan pengembangan yang Google mampu menerjemahkan kata dalam


digunakan eclipse. ratusan bahasa termasuk Bahasa Indonesia. Agar
bisa menterjemahkan kata dalam Bahasa Indonesia
dengan baik sebelumnya smartphone diatur ke
dalam Bahsa Indonesia. Pengaturan dalam Bahasa
Indonesia dilakukan oleh librari
EXTRA_LANGUAGE_MODEL.
Pada aplikasi ini terdapat tiga bagian utama yaitu
membaca kontak telepon, menterjemahkan suara
menjadi teks dan mengirim SMS. Pada file
AndroidManifest.xml perlu ditambahkan dua
permission, yaitu android.permission.
READ_CONTACTS dan android.permission.
SEND_SMS. Notifikasi permission ini akan
muncul ketika kita akan menginstal aplikasi ini
pada handphone Android.
Pada metode onActivityResult() terdapat dua
case, yaitu case RESULT_SPEECH dan case
CONTACT_PICKER_RESULT. Case
RESULT_SPEECH akan menghasilkan
terjemahan ucapan dalam bentuk teks. Sedangkan
case CONTACT_PICKER_RESULT akan
Gambar 2. Desain antar muka aplikasi speech to menghasilkan nomor kontak handphone.
text Android

Google Speech API dipanggil menggunakan


framework ACTION_RECOGNIZE_SPEECH.
Framework ini diimplementasikan menggunakan
metode onActivityResult(). Selanjutnya librari ini
akan menangkap ucapan melalui mic pada
smartphone. Ucapan yang ditangkap akan
dikirimkan ke server Google untuk diterjemahkan
ke dalam teks. Google menerjamahkan ucapan ke
dalam teks menggunakan algoritma Hidden
Markov Model (HMM). Hasil terjemahan dalam
bentuk teks dikirimkan kembali ke smartphone,
dalam hal ini dalam field tulis sms dan siap untuk
dikirimkan ke nomor handphone yang lain.

Gambar 4. Hasil konversi suara menjadi teks yang


diterapkan dalam aplikasi sms

Pengujian dilakukan pada handphone Sony


Xperia Ray dengan sistem operasi Android
Gingerbread atau Android versi 2.3.4. Hasil
pengujian menunjukkan bahwa aplikasi ini mampu
mengenali suara yang diucapkan dan berhasil
dikirimkan melalui sms. Karena penterjemahan
ucapan dilakukan oleh server Google maka
handphone harus terkoneksi Internet. Pengujian
dilakukan menggunakan konek internet dengan
kecepatan 2Mbps. Pada koneksi ini penterjemahan
dapat dilakukan dengan cepat. Selanjutnya
pengujian dilakukan menggunakan koneksi
provider Internet yang lain dengan kecepatan
Gambar 3. Tampilan proses mengkonversi suara kurang dari 2 Mbps. Penterjemahan dilakukan lebih
menjadi teks

17
Aplikasi Konversi Suara Ke Teks Berbasis Android

lambat. Aplikasi ini berjalan dengan baik pada Desember 6, 2013, dari Gartner:
lingkungan dimana kecepatan Internet di atas 2 http://www.gartner.com/newsroom/id/25734
Mbps. Kecepatan dibawahnya menyebabkan 15
aplikasi ini kurang berjalan maksimal.
Gambar 5. Tabel pengujian black box Iizuka, S., Tsujino, K., Oguri, S., & Furukawa, H.
No Fitur Validasi (2012). Speech Recognition Technology and
1 Membaca Sukses Applications for Improving Terminal
kontak Functionality and Service Usability. NTT
handphone DOCOMO Technical Journal Vol. 13 No. 4
2 Memanggil Sukses , 79-84.
Framework
Google Kumar, C. S., & Rao, P. M. (2011). Design of
Speech API Automatic Speaker Recognition System
3 Memasukkan Sukses Using MFCC, Vector Quantization and
teks hasil LBG Algorithm. International Journal on
konversi suara Computer Science and Engineering Vol. 3
pada bidang No. 8 , 2942-2954.
teks
4 Mengirim sms Sukses Lee, W. M. (2012). Beginning Android 4
Application Development. Indianapolis,
USA: John Wiley & Sons, Inc.

KESIMPULAN Dan SARAN Meisel, W. (2010). Life on-the-GO: The Role of


Aplikasi ini mampu menggantikan tugas tulis Speech Technology in Mobile Applications .
sms, sehingga kita tidak perlu menulis sms pada Advances in Speech Recognition: Mobile
layar ketik melainkan cukup dengan Environments , DOI 10.1007/978-1-4419-
mengucapkanya. Penterjemahan ucapan menjadi 5951-5_1 (ISBN: 978-1-4419-5950-8 (Print)
teks dilakukan oleh server Google. Aplikasi 978-1-4419-5951-5 (Online)), 3-18.
mengirimkan ucapan ke server Google melalui
koneksi Internet, dan selanjutnya server Google Patel, P. N., Patel, J. K., & Virparia, P. V. (2013).
mengirimkan kembali hasil penterjemahan ke Generating Select Query form Spoken
smartphone. Kelemahan aplikasi ini adalah Words on Android Smartphone.
membutuhkan koneksi Internet, aplikasi tidak International Journal of Emerging Trends &
berjalan maksimal pada koneksi Internet yang Technology in Computer Science (IJETTCS)
lambat. Penelitian selanjutnya membuat mesin Vol. 2 No.3 , 91-94.
penterjemah ucapan menjadi teks pada handphone,
sehingga penterjemahan tidak perlu dilakukan oleh Petersen, K., Wohlin, C., & Baca, D. (2009). The
server. Waterfall Model in Large-Scale
Development. Leturer Notes in Bussiness
DAFTAR PUSTAKA Information Processing Vol. 32 , 386-400.
Prasetyo, M. E. (2010). Index of
Ballinger, B., Allauzen, C., Gruenstein, A., & /~rinaldi.munir/Probstat/2010-
Schalkwyk, J. (2010). On-Demand 2011/Makalah2010. Dipetik Desember 10,
Language Model Interpolation for Mobile 2013, dari Sekolah Teknik Elektro dan
Speech Input. Interspeech . Informatika ITB:
http://informatika.stei.itb.ac.id/~rinaldi.muni
Chandra, D. (2007). Speech Recognition Co- r/Probstat/2010-
Processor. North Carolina: Dissertation 2011/Makalah2010/MakalahProbstat2010-
Doctor of Philosophy North Carolina State 025.pdf
University.
Reddy, R. B., & Mahender, E. (2013). Speech To
Dawson, C. W. (2009). Projects In Computing And Text Conversion Using Android Paltform.
Information Systems A Students Guide. Internaitonal Journal of Engineering
Essex: Pearson Education Limited. Research and Applicaiton (IJERA) Vol. 3
No.1 , 253-258.
Gartner. (2013, Agustus 14). Gartner Says
Smartphone Sales Grew 46.5 Percent in Schalkwyk, J., Beeferman, D., Beaufays, F., Byrne,
Second Quarter of 2013 and Exceeded B., Chelba, C., Cohen, M., et al. (2010).
Feature Phone Sales for First Time. Dipetik

18
Bianglala Informatika Vol 2 No 2 September 2014

Google Search By Voice: A Case Study. Schuster, M. (2010). Speech Recognition for
Springer . Mobile Device at Google. Springer , 8-10.

Schildt, H. (2005). Java A Beginner's Guide Third Singh, Y. K. (2006). Fundamental of Research
Edition. New York: McGraw-Hill. Methodology and Statistic. New Delhi: New
Age International (P), Ltd.

19

Anda mungkin juga menyukai