Prosiding SENATEK 2015 Fakultas Teknik, Universitas Muhammadiyah Purwokerto Purwokerto, 28 November 2015, ISBN 978-602-14355-0 -2
IMPLEMENTASI SISTEM PENGENALAN SUARA MENGGUNAKAN DSP TIPE TMS320C6000TM Latiful Hayat1, Dian Nova Kusuma Hardani2 Jurusan Teknik Elektro, Fakultas Teknik, Universitas Muhammadiyah Purwokerto Jl. Raya Dukuh Waluh Purwokerto, 53182. 1 Email:
[email protected] 2 Email:
[email protected] ABSTRAK Penelitian ini merupakan rancang bangun sistem pengenalan suara menggunakan TMS320C6713DSK dan ATMega328 sebagai piranti antarmuka DSP ke LCD untuk memberikan informasi kepada pengguna tentang ada atau tidaknya sinyal suara. Penelitian ini mencoba untuk menggunakan CSS versi 5.5 untuk membuat firmware pada DSP, dengan tambahan pustaka (library) BSL dan CSL. Antarmuka yang dibangun adalah Voltage Level Shifter (VLS) untuk mengadaptasi tegangan TTL pada TMS320C6713DSK dengan TTL pada ATMega328 dan sebaliknya. Pengenalan suara pada DSP dilakukan dengan membenamkan firmware berisi algoritme pengenal suara hasil dari pemicuan. Sinyal digital hasil pengolahan ADC berdasarkan masukan mikrophone diolah pada DSP berdasarkan algoritme dan akan memulai proses penyimpanan pada memori jika terdapat sinyal suara pemicuan melebihi sinyal suara gangguan (noise). Proses penyimpanan diakhiri apabila terdapat noise yang berikutnya selama 1 detik. Saat penyimpanan selesai, DSP mengirimkan sinyal pemberitahuan ke mikrokontoler melalui port HPI dengn perantara VLS. Mikrokontroler diprogram untuk dapat menerima sinyal pemberitahuan dari DSP lalu menampilkannya di LCD. Dari penelitian ini algoritme yang dibenamkan pada DSP mampu mengenal ada atau tidaknya sinyal suara, serta mampu meminimalkan penggunaan memori pada DSP yang hanya 16 MB. Proses antarmuka dapat dilakkukan dengan menggunakan port HPI pada TMS320C6713DSK namun membutuhkan VLS untuk dapat berkomunikasi dengan mikrokontroler ATMega328. LCD mampu menampilkan informasi dalam bentuk tulisan, apakah ada sinyal suara ataukah tidak ada sinyal suara berdasarkan hasil proses pengenalan suara pada DSP. Kata kunci: TMS320C6713DSK, DSP, pengenalan suara PENDAHULUAN Kemajuan teknologi dalam bidang Pengolahan Sinyal Digital (Digital Signal Processing) telah banyak membawa dampak positif dalam kehidupan manusia. Salah satu disiplin ilmu dalam pengolahan sinyal sigital yang memberikan dampak yang cukup besar yaitu pengolahan suara digital.Pengolahan suara digital dapat dikembangkan menjadi berbagai aplikasi yang dapat mempermudah kepentingan manusia.Salah satu aplikasinya adalah implementasi piranti Digital Signal Processor (DSP) untuk pengenalan suara manusia.Pengenalan suara merupakan teknologi terapan dari pengolahan sinyal digital yang telah banyak digunakan pada berbagai bidang.Contoh penerapan dari metode pengenalan suara adalah untuk sistem keamanan rumah. Suara manusia merupakan sarana komunikasi yang efektif. Berdasarkan penelitian-penelitian tersebut para ilmuwan terus berusaha mengembangkan metode-metode agar antara manusia dan perangkat elektronik dapat berinteraksi melalui suara.Namun untuk mewujudkan hal tersebut masih ada kendala dan keterbatasan karena suara tidak dapat begitu saja dikenali oleh komputer.Supaya suara dapat dikenali oleh komputer maka perlu adanya pemodelan dan analisis terhadap suara.
190
Prosiding SENATEK 2015 Fakultas Teknik, Universitas Muhammadiyah Purwokerto Purwokerto, 28 November 2015, ISBN 978-602-14355-0 -2
METODE PENELITIAN Penelitian ini dimulai dengan mempelajari beberapa jurnal maupun naskah publikasi yang berkaitan dengan topik penelitian. Identifikasi masalah yang diangkat pada penelitian ini dilaksanakan saat referensi yang dibutuhkan dianggap telah mencukupi.Setelah identifikasi masalah, proses selanjutnya adalah pengambilan data.Data diambil melalui perekaman kepada beberapa objek sebagai sampel.
Gambar 1 Diagram jalur penelitian
Setelah data diperoleh, tahapan selanjutnya adalah tahap pra pengolahan sinyal guna menormalisasi dan menghilangkan noise yang menyertai sinyal suara. Tahap berikutnya ekstraksi ciri dan penentuan parameter acuan. Tahap klasifikasi diperlukan untuk membedakan atau mengklasifikasikan data dari beberapa jenis suara dan menemukan pola. Hasil klasifikasi kemudian divalidasi dan dievaluasi guna mengetahui keberhasilan proses klasifikasi. Setelah sistem dievaluasi, dilakukan dokumentasi lengkap dengan analisis yang diperoleh. Tahap akhir yang dilakukan adalah penyusunan laporan. Lebih jelasnya dapat dilihat pada Gambar 1. Pengumpulan data melalui hasil catatan rekaman elektronik dari suara vokal pria manusia. Instrumen yang digunakan berupa alat perekam suara yang dapat menyumpan data suara dalam bentuk file gelombang suara (.wav). Data sekunder berupa dokumentasi dari datasheet piranti PSD yang berupa modul DSP tipe TMS320C6000TM dandata hasil penelitian Muzaffar, F., B. Mohsin, et al. pada tahun 2005 tentang implementasi DSP pengenalan suara menggunakan algoritme time wrapping. Pengolahan data dilakukan dengan mengolah data menggunakan algoritme pemrograman berupa baris kode dan model matematis pengembangan dari penelitian yang lalu. Alat bantu yang digunakan berupa sistem yang dibangun dengan prosesor seri tipe TMS320C6000TM yang diisi dengan firmware algoritme agar dapat mendeteksi jenis vokal sesuai dengan sampel suara. Hasil penelitian berupa presentase keakuratan sistem yang dibangun untuk dapat mendeteksi sinyal suara vokal, berdasarkan algoritme dan kemampuan sistem prosessor.
HASIL DAN PEMBAHASAN Pengujian Integrated Development Environtment (IDE) IDE merupakan sarana yang untuk mendevelop kode berupa perintah untuk ditanamkan pada IC. IDE yang memungkinkan digunakan untuk TMSC6713 yaitu Code Composer Studio versi 3.3 hingga versi 6.0.
191
Prosiding SENATEK 2015 Fakultas Teknik, Universitas Muhammadiyah Purwokerto Purwokerto, 28 November 2015, ISBN 978-602-14355-0 -2
IDE yang dipilih adalah CCS versi 5.5 dengan menambahkan library. Library yang perlu ditambahkan adalah Chip Support Library (CSL) untuk prosessor C6713 dan Board Support Library (BSL) untuk TMS320 dengan cara mengunduh dari website Texas Instrument
Tabel 1Hasil pengujian IDE untuk board TMS320C6713 Versi CCS CCS 3.3 CCS 4.0
Sistem Operasi Windows XP, tidak dapat digunakan untuk Windows 7/8 Windows XP/7/8
CCS 5.5
Windows XP/7/8
CC6 6.0
Windows 7/8
Library TMS320C6713 Tersedia, disertakan dalam CD Board TMS320C6713 dijual terpisah Tidak tersedia. Mulai CCS 4.0, IDE dapat diunduh gratis Tidak tersedia, namun terdapat fasilitas untuk menambahkan BSL dan CSL Tidak tersedia, namun terdapat fasilitas untuk menambahkan BSL dan CSL
Inisialisasi Board TMS320C6713 Langkah inisialisasi Board dengan IDE CCS 5.5 yaitu dengan cara membuat solution project dengan urutan berikut: 1.
Buka IDE lalu buat project baru dengan memilih menu File > New -> Project.
2.
Menentukan nama project dalam isian Project Name dengan memilih konfigurasi pada bagian device dengan pilihan family: C6000, variant: TMS320C6713, connection: Spectrum Digital DSK-EVMeZdsp onboard USB Emulator.
3.
Solution dari project akan terbentuk dan ditampilkan di jendela sebelah kiri, dalam hal ini dicontohkan project dengan nama PengenalanSuara. Sedangkan kode firmware ditampilkan pada jendela sebelah kanan.
Proses inisialisasi berhasil dilakukan pada IDE CCS5.5.0.00077 dengan DSK6713 sebagai CSLnya dan TMS320 sebagai BSL-nya. BSL merupakan kumpulan pustaka kode pemrograman yang harus disertakan untuk dapat mengakses I/O pada TMS320C6713 Board. CSL merupakan pustaka kode pemrograman untuk mengakses pengolahan sinyal pada prosesor DSP C6713. Cara penyertaan pustaka BSL dan CSL dilakukan dengan cara mengkonfigurasi solution dengan cara berikut: 1.
Buka properties pada solution dengan klik kanan nama project, hingga keluar jendela baru dan cari bagian Build> C6000 Compiler>IncludeOptions dan tambahkan tempat dimana putaka CSL dan BSL diletakkan. Penambahan pustaka dilakukan dengan menekan gambar icon + warna hijau lalu arahkan ke folder include pada CSL maupun BSL.
2.
Masih dalam jendela properties, buka bagian Build> C6000 Compiler>Advanced Options>Predefined Symbols dan tambahkan simbol CHIP_6713 pada Pre-define NAME
3.
CSL dan BSL harus dihubungkan (linked) dengan cara memberikan tambahan library pada bagian Build> C6000 Linker>File Search Patch melalui isian Include library file or command file as input dengan menekan icon + warna hijau lalu arahkan ke file .lib dari CSL dan BSL
4.
Konfigurasi diagnosis ditambahkan dengan mengisikan kode 16002 pada bagian Build> C6000 Linker> Advanced Option> Diagnostics. Hal tersebut merujuk pada petunjuk penanganan error pada CCS 5.5
Firmware Akuisisi Sinyal Firmware sistem minimum yang berhasil dibangun berupa loopback input-output. Melalui firmware tersebut, sinyal suara yang diterima melalui kanal microphone disimpan pada memori internal dan diteruskan ke kanal phone. Kode dari firmware tersebut adalah:
192
Prosiding SENATEK 2015 Fakultas Teknik, Universitas Muhammadiyah Purwokerto Purwokerto, 28 November 2015, ISBN 978-602-14355-0 -2
#include "dsk6713.h" #include "dsk6713_aic23.h" #include "stdlib.h" #include "math.h" DSK6713_AIC23_Config config = { 0x0017, // volume input kiri 0x0017, // volume input kanan 0x01f9, // volume kanal headphone kiri 0x01f9, // volume kanal headphone kanan 0x0011, // Jalur audio analog (5:mic /1:line) 0x0000, // Jalur audio digital 0x0000, // Aktifkan pengendalian PowerDown (1:ya /0:tidak) 0x0043, // jenis format audio digital 0x0001, // adakah pengendalian sampling? (1: ada / 0: tiada) 0x0001 // aktifkan interface? (1:aktif / 0:tidak) }; void main() { DSK6713_AIC23_CodecHandle hCodec; Int16 OUT_L, OUT_R; Uint32 IN_L; DSK6713_init(); hCodec = DSK6713_AIC23_openCodec(0, &config); DSK6713_AIC23_setFreq(hCodec,DSK6713_AIC23_FREQ_48KHZ); for(;;) { while (!DSK6713_AIC23_read(hCodec, &IN_L)); OUT_L = IN_L; OUT_R = IN_L; while (!DSK6713_AIC23_write(hCodec, OUT_L)); while (!DSK6713_AIC23_write(hCodec, OUT_R)); } //DSK6713_AIC23_closeCodec(hCodec); } Hasil penyimpanan sinyal tersebut akan diproses dengan algoritme tertentu pada langkah pembuatan algoritme identifikasi suara.
Identifikasi Port TMS320C6713 Hasil identifikasi port antarmuka Board TMS320 yang dapat digunakan untuk komunikasi data yaitu Periperal Expansion sedangkan untuk input dan output yaitu Host Port Interface (HPI). Port HPI digunakan sebagai antarmuka data antara DSP dengan mikrokontroler. Periperal Expansion tidak dapat digunakan sebagai input dan output karena sudah ditentukan arah data dan kegunaannya pada register, sesuai dengan datasheet prosessor C6713. Kemudian mengidentifikasi protokol komunikasi pada Periperal Expansion, dalam hal ini protokol yang digunakan antara lain general input-output, UART, SPI dan I2C.
193
Prosiding SENATEK 2015 Fakultas Teknik, Universitas Muhammadiyah Purwokerto Purwokerto, 28 November 2015, ISBN 978-602-14355-0 -2
Gambar 2 Diagram tata letak TMS320C6713 HPI dapat berfungsi sebagai input maupun output melalui pemrograman pada firmware. HPI menyediakan level tegangan 0 Volt hingga 5 Volt, namun output yang dihasilkan oleh kaki IC (pin) hanya mampu sampai 3,3 Volt saja. Tabel 2 Hasil uji level tegangan pin HPI Register Pin Tegangan (Volt)
GP0[3] 15 3,3
Gnd 17 0
GP0[8] 19 3,3
GP0[10] 21 3,3
GP0[12] 23 3,3
GP0[14] 25 3,3
Gnd 27 0
Voltage Shifter dan Antarmuka DSP dengan Mikrokontroler Sistem minimum ATMega328 menggunakan rancangan Arduino dalam bentuk modul dengan IDE yang tersedia di situs resmi arduino.cc. Jenis Arduino.
Gambar 3 Skema level converter di setiap pin Level tegangan mikrokontroler ATMega328P adalah 5 Volt, sedangkan port pada prosesor DSP adalah 3,3 Volt, sehingga membutuhkan antarmuka berupa Level Converter di setiap pin. Skema level converter ditunjukkan pada gambar 3. Jumlah pin yang digunakan adalah sejumlah 5 pin, sehingga dibutuhkan 5 rangkaian. Melalui level converter tersebut, DPS dan mikrokontrolet dapat saling berkomunikasi. Level converter mampu mengadaptasi tegangan TTL 5 volt ke TTL 3 Volt dan sebaliknya. Port antarmuka yang dipakai pada TMS320C6713 adalah port HPI dengannomor pin 15,17,19,21,23, 25 dan 27. Rangkaian antarmuka digunakan untuk mengubah level tegangan DSP 3,3 Volt menjadi tegangan mikrokontroler 5 Volt. Tabel 3 Port antarmuka HPI DSP board Jalur Data 1 Data 2 Data 3 Data 4 Data 5 Ground VCC
HPI DSP Board (pada DSP) Pin 15 Pin 19 Pin 21 Pin 23 Pin 25 Pin 17 dan 27 VCC (5 Volt)
Arduino Uno Board (pada Mikrokontroler) Digital 3 Digital 4 Digital 5 Digital 6 Digital 7 Pin Ground Pin 5 Volt
194
Prosiding SENATEK 2015 Fakultas Teknik, Universitas Muhammadiyah Purwokerto Purwokerto, 28 November 2015, ISBN 978-602-14355-0 -2
Deteksi Suara Deteksi suara diperlukan agar proses penyimpanan data hasil konvonversi suara melalui microphone pada memori tidak dilakukan terus menerus. Penyimpanan data suara yang terus menerus mengakibatkan kapasitas memori menjadi penuh. Oleh karena itu, hanya dengan intensitas tertentu saja yang disimpan di memori untuk selanjutnya diidentifikasi. Saat tidak menggunakan sound detetction, maka semua sinyal yang masuk ke ADC disimpan di memori. Gambar 4 menunjukkan data yang disimpan dalam memori sejumlah 135579 byte selama alat diaktifkan selama 3 detik. Sinyal suara vokal hanya 1,3 detik, namun seluruh sinyal suara tersimpan di memori. Sample suara vokal a tanpa sound detection
1 0.8 0.6
Isi memori
0.4 0.2 0 -0.2 -0.4 -0.6 -0.8
0
2
4
6 8 Alamat bit memori
10
12
14 4
x 10
Gambar 4 Isi memori TMS320C6713 saat tanpa menggunakan algoritmesound detection Metode yang digunakan untuk menyeleksi sinyal suara adalah sound trigerred detection dimana ADC akan menanti adanya picu suara baru kemudian merekam data suara yang selanjutnya hingga terdeteksi sinyal silent. Pada penelitian ini, diberikan waktu tunda 1 detik sebagai buffer. Dengan kode: int buffer = 0; int simpan = 0; while (!DSK6713_AIC23_read(hCodec, &IN_L)); if(baca==1){buffer++;} OUT_L = IN_L; OUT_R = IN_L; if(IN_L>(Uint32)600 && IN_L< (Uint32) 50000) { simpan = 1; DSK6713_LED_on(1);} if(buffer>48000) { //1 detik @48KHz baca=0; SK6713_LED_off(1); buffer=0; //prosesidentifikasi}
Gambar 5 Isi memori TMS320C6713 saat menggunakan algoritmesound detection
195
Prosiding SENATEK 2015 Fakultas Teknik, Universitas Muhammadiyah Purwokerto Purwokerto, 28 November 2015, ISBN 978-602-14355-0 -2
Setelah metode sound detection diterapkan di DSP, hanya membutuhkan kapasitas memori sejumlah 43648 byte termasuk untuk data penundaan 1 detik. Sinyal suara mulai disimpan di memori setelah ada data selain noise dengan intensitas 0,06 desibel. Nilai 0,06 db ditetapkan dari perhitungan kuat suara noise ditambahkan dengan 0,01 db. Noise pada mikrofon TMS320C6713 board adalah 0,05 db pada ruangan ber-AC. Berdasarkan perbandingan data penyimpanan di memori TMS320C6713 yang digambarkan pada Gambar 4 dan Gambar 5, terbukti bahwa C6713 mampu mendeteksi sinyal suara dengan menembahkan algoritme sound detection. Tampilan LCD Hasil tampilan di LCD saat tidak ada suara vokal adalah tulisan: Identifikasi: Sunyi. Sedangkan saat terdapat suara vokal yang terdeteksi oleh metode sound detection maka muncul tulisan: Identifikasi: Suara Vokal: A
Gambar 6 Hasil tampilan pada LCD saat tidak ada suara dan saat terdeteksi adanya suara
KESIMPULAN TMS320C6713 merupakan board untuk Digital Signal Processor seri C6000 terbitan dari Texas Instrument yang dapat digunakan sebagai pengolah sinyal suara. TMS320C6713 dilengkapi dengan IDE bawaan CSS 2.5, namun untuk dapat mengembangkan firmware di lingkungan Sistem Operasi Windows 7 atau setelahnya, memerlukan versi CSS yang lebih tinggi. TMS320C6713 dapat dibangun dengan CSS 5.5 yang mendukung sistem Operasi Windows 7 atau setelahnya namun dengan menambahkan CSL dan BSL.Selain itu, ada beberapa langkah khusus untuk membuat file solution untuk projectnya. Proses akuisisi data dapat langsung dilakukan secara realtimedari proses input Line/ Microphone tanpa waktu tunda, melalui routine pooling maupun interrupt. Data hasil akuisisi data dapat disimpan dalam memori, namum kapasitasnya terbatas. Jika memerlukan kapasitas memori yang lebih besar, dapat ditambahkan melalui port EMIF. Tersedia port untuk antramuka ke device lain dengan level tengangan 3,3 Volt. Oleh karena itu, jika DSP dihubungkan dengan mikrokontroler, maka membutuhkan pengubah tengangan TTL berupa rangkaian level shifter yang dapat dibangun menggunakan MOSFET. Penelitian ini menggunakan antarmuka pin GPIO pada port HPI untuk dihubungkan dengan mikrokontroler jenis ATMega328 untuk dapat menampilkan hasil identifikasi suara pada layar LCD. Mikrokontroler perlu diprogram untuk membaca input digital dan menganalisa input-an dari DSP berdasarkan tabel kebenaran kemudian selanjutnya ditampilkan pada layar LCD dalam bentuk tulisan. Hasil identifikasi suara berupa pendeteksian suara berdasarkan metode sound trigerred detection untuk kemudian menyimpan akuisisi data pada memori. Pustaka TMS320C6713 sudah tidak disertakan di CSS 4.0 karena telah memiliki varian yang lebih baru berupa TMS320C6713B.Namun jika menginginkan menggunakan TMS320C6713 lebih disarankan untuk menggunakan CSS 5.5. Pada penelitian ini, suara sudah dapat teridentifikasi dengan metode sound trigerred detection, namun belum dapat mengidentifikasi jenis suaranya. Disarankan untuk menambahkan memori TMS320C6713 melalui port EMIF agar dapat menyimpan hasil akuisisi data jenis suara sehingga dapat identifikasi.
196
Prosiding SENATEK 2015 Fakultas Teknik, Universitas Muhammadiyah Purwokerto Purwokerto, 28 November 2015, ISBN 978-602-14355-0 -2
UCAPAN TERIMA KASIH Dalam penelitian ini penulis mengucapkan terimakasih yang sebesar-besarnya kepada: 1. 2. 3. 4.
Rektor Universitas Muhammadiyah Purwokerto yang telah memberikan dana dalam pelaksanaan program Ipteks Bagi Masyarakat ini. Ketua LPPM yang telah memberi dorongan dan persetujuannya, sehingga program ini berjalan dengan baik. Laboran dan Kepala Laboratorium Elektronika Dasar Program Studi Teknik Elektro yang telah mengijinkan untuk menggunakan peralatan dalam proses penelitian Teman-teman sejawat yang telah memberikan dorongan dan masukan dalam proses penelitian dan penyusunsn laporan.
DAFTAR PUSTAKA Manikandan, J., Venkataramani, B., Girish, K., Karthic, H. & Siddharth, V. (2011) Hardware Implementation of Real-Time Speech Recognition System Using TMS320C6713 DSP. VLSI Design (VLSI Design), 2011 24th International Conference on, 2-7 Jan. 2011. 250-255. Muzaffar, F., Mohsin, B., Naz, F. & Jawed, F. (2005) DSP Implementation of Voice Recognition Using Dynamic Time Warping Algorithm. Engineering Sciences and Technology, 2005. SCONEST 2005. Student Conference on, 27-27 Aug. 2005. 1-7. Nishida, Y., Nakadai, Y., Suzuki, Y., Sakurai, T., Kurokawa, T. & Sato, H. (1999) Voice recognition focusing on vowel strings on a fixed-point 20-MIPS DSP board. Acoustics, Speech, and Signal Processing, 1999. Proceedings., 1999 IEEE International Conference on, 15-19 Mar 1999. 137-140 vol.1. Qureshi, S. (2005)Embedded Image Processing on The TMS320C6000TM DSP Examples in Code Composer StudioTM and MATLAB. Library of Congress Cataloging in Publication Data, Springer. Swamy, S. & Ramakrishnan, K. V. (2013)An Efficienst Speech Regocnition System. Computer Science & Engineering: An International Journal (CSEIJ), 3, 21-27. Wei, Z., Diancheng, W., Zhiyuan, X., Tiejun, Z., Donghui, W. & Chaohuan, H. (2013) Design and implementation of voice signal processing system based on DSP and FPGA. Information Science and Technology (ICIST), 2013 International Conference on, 23-25 March 2013 2013. 1602-1605.
197