42
Klasifikasi Burung Berdasarkan Suara Kicau Burung Menggunakan
Jaringan Syaraf Tiruan Propagasi Balik
Lorencius Echo Sujianto Putera1, C. Kuntoro Adi2 1,2Program Studi Teknik Informatika, FST, Universitas Sanata Dharma Yogyakarta
Email: 1lorenciuse@gmail.com, 2kuntoroadi@usd.ac.id
Abstrak
Perkembangan teknologi yang semakin pesat memberikan kemudahan bagi masyarakat untuk secara otomatis mengidentifikasi jenis burung berdasar suara kicauannya. Burung selain memiliki keindahan fisik juga memiliki keindahan suara yaitu suara kicaunya, terutama burung Passerine atau burung yang termasuk dalam ordo Passeriformes. Teknologi selain berperan penting sebagai media untuk bertukar informasi mengenai seputar tips dalam merawat burung, juga diharapkan untuk dapat memberikan fungsi lain, yaitu mendeteksi suara kicau burung, sehingga masyarakat yang memiliki hobi serupa dapat dengan mudah menentukan jenis burung berdasarkan suara kicaunya. Penelitian ini menghasilkan sebuah model klasifikasi otomatis jenis burung. Data yang digunakan berupa data rekaman suara burung Cucak Hijau, Cucak Rawa dan Kenari yang didapatkan dari situs omkicau. Sistem menerapkan ekstraksi ciri MFCC (Mel Frequency Cepstral Coefficients) dan Jaringan Syaraf Tiruan Propagasi Balik untuk klasifikasinya. Percobaan proses klasifikasi dengan Jaringan Syaraf Tiruan Propagasi Balik dengan melakukan optimalisasi arsitektur jaringan dan pemilihan ciri menghasilkan akurasi 100% untuk 13 koefisien, 99.72% untuk 26 dan 39 koefisien.
Kata Kunci: Klasifikasi, Passeriformes, MFCC, Jaringan Syaraf Tiruan Propagasi balik Abstract
Fast technological development gives people tools to automatically identify bird based on their songs. Most of passerine birds have physical beauty and beautiful song. The technology plays an important role as a medium for exchanging information about tips on caring for birds, and to detect bird’s song, so that people who have the same hobby can easily determine the type of bird by its song. This paper is a study of automatically indentifying brids based on their songs. The songs are Greater Green Leafbird, Straw-headed Bulbul, and Canary. The recordings were obtained from omkicau sites. The system applies MFCC (Mel Frequency Cepstral Coefficients) method for its feature and Artificial Neural Network Backpropagation for its automatic classification. Classification processes using Artificial Neural Network Backpropagation by optimizing network architecture and selected feature give 100% accuracy for 13 coefficients, 99.72% accuracy for 26 and 39 coefficients.
Keyword: Classification, Passeriformes, MFCC, Artificial Neural Network Backpropagation
1. PENDAHULUAN
Perkembangan teknologi yang semakin pesat dapat memberikan kemudahan bagi masyarakat dalam menyalurkan hobi, misalnya hobi mendengarkan suara burung dalam komunitas kicau mania. Burung selain memiliki keindahan fisik juga memiliki keindahan suara. Di Indonesia sendiri ada beberapa jenis burung kicau misalnya burung Passerine yang termasuk ordo Passeriformes. Teknologi selain berperan penting sebagai media untuk bertukar informasi mengenai seputar tips dalam merawat burung, juga diharapkan untuk dapat memberikan fungsi lain, yaitu mendeteksi suara kicau burung, sehingga masyarakat yang memiliki hobi serupa dapat dengan mudah menentukan jenis burung. Untuk memenuhi hal itu diperlukan sebuah sistem yang dapat mengklasifikasikan jenis burung berdasarkan suara kicaunya.
Passeriform (ordo Passeriformes) dikenal sebagai burung Passerine atau burung bertengger, merupakan
ordo burung terbesar yang ada di bumi. Ordo Passeriformes terbagi menjadi dua subordo, yaitu Tyranni dan Passeri. Subordo Tyranni terdiri dari sekitar 1.250 spesies yang dianggap sederhana dan dikelompokkan sebagai suboscines. Sedangkan burung pada subordo Passeri dikelompokkan sebagai
Oscines atau burung penyanyi, Passeri terdiri dari sekitar 4.500 spesies [1]. Penelitian ini akan melihat
sejauh mana metode Jaringan Syaraf Tiruan propagasi balik mampu secara otomatis mengidentifikasi dengan baik jenis burung berdasar kicauannya. Mel-frequency Cepstral Coefficients (MFCC) yang biasa dipergunakan sebagai ciri atau feature dalam pengolahan suara manusia, akan diujicobakan sebagai
43 2. METODE
Penelitian klasifikasi otomatis jenis burung berdasar kicauannya dapat dilihat pada blok diagram sepertti Gambar 1.
Data
Ekstraksi Ciri
Jaringan Syaraf Tiruan
Model Jaringan
Hasil Klasifikasi
training feature
testing feature
Preprocessing
Gambar 1. Blok diagram klasifikasi otomatis jenis burung berdasar kicauannya
Pada Gambar 1 dapat dilihat alur dari data suara hingga mendapatkan hasil klasifikasi. Output/hasil dari sistem ini berupa nilai akurasi untuk klasifikasi data berkelompok dan informasi data burung untuk klasifikasi data tunggal.
2.1. Mel-Frequency Cepstral Coefficients (MFCC)
Mel-Frequency Cepstral Coefficients (MFCC) didasarkan atas variasi bandwith kritis terhadap frekuensi pada telinga manusia yang merupakan filter yang bekerja secara linier pada frekuensi rendah dan bekerja secara logaritmik pada frekuensi tinggi. Filter ini digunakan untuk menangkap karakteristik fonetis penting dari sinyal ucapan. Untuk meniru kondisi telinga, karakteristik ini digambarkan dalam skala mel-frekuensi, yang merupakan frekuensi linier di bawah 1000 Hz dan frekuensi logaritmik di atas 1000 Hz [2]. Proses ekstraksi koefisien MFCC mengikuti langkah-langkah sebagai berikut:
a) Pre-emphasis
Sinyal suara ( ) dikirim ke filter high-pass [3-4].
( ) ( ) ( ) (1)
dimana ( ) adalah sinyal output dan nilai biasanya antara 0.9 dan 1.0. Z-transform dari filter adalah
( ) (2)
b) Frame Blocking
Dalam langkah ini sinyal wicara kontinyu diblok menjadi frame N sampel, dengan
frame-frame berdekatan dengan spasi M (M < N). Frame pertama terdiri dari N sampel pertama. Frame
kedua dengan M sampel setelah frame pertama, dan overlap dengan N–M sampel. Nilai tipikal untuk
N dan M adalah N = 256 dan M =100 [5].
c) Hamming Window
Window dinyatakan sebagai w(n), 0 ≤ n ≤ N−1, dengan N adalah jumlah sampel dalam
masing-masing frame, ( ) adalah sinyal input dan hasil windowing adalah ( ).
( ) ( ) ( ) (3)
Jenis window yang digunakan adalah window Hamming. ( ) [
] (4)
Dengan N adalah jumlah sampel. d) Fast Fourier Transform
Fast fourier transform (FFT), FFT ini mengubah masing-masing frame N sampel dari domain waktu
menjadi domain frekuensi. FFT adalah algoritma cepat untuk mengimplementasikan discrete fourier
transform (DFT) dengan didefinisikan pada kumpulan (set) N sampel, { }, seperti berikut ini
∑ ⁄
(5)
44 deretan aperiodik dengan nilai
jumlah sampel
e) Triangular Bandpass Filters
Studi psikofisikal menunjukkan bahwa persepsi manusia dari kandungan frekuensi suara pada sinyal wicara tidak mengikuti skala linier. Untuk masing-masing nada dengan frekuensi aktual, f dalam Hz,
pitch diukur dengan skala „mel‟. Skala mel-frequency adalah frekuensi linier berada dibawah 1000
Hz dan bentuk logaritmik berada diatas 1000 Hz. Pendekatan persamaan untuk menghitung mel dalam frekuensi f (Hz) adalah
( ) ( ⁄ ) (6)
f) Discrete Cosine Transform
Langkah selanjutnya yaitu mengubah spektrum log mel menjadi domain waktu menggunakan
discrete cosine transform (DCT). Jika koefisien spektrum daya mel hasilnya adalah ̃
, sehingga MFCC dapat dihitung, ̃ adalah ̃ ∑( ̃ ) [ ( ) ]
(7)
Dimana ̃ adalah koefisien cepstrum mel-frequency dan ̃ adalah koefisien daya mel. g) Log Energy
Pada setiap frame terdapat nilai energi yang ditambahkan, berikut rumus untuk menghitung nilai energy:
∑ ( )
(8) x_windowed = sinyal hasil windowing, k = jumlah frame, dan m = panjang frame [6].
h) Delta Cepstrum
Secara umum metode yang digunakan untuk mandapatkan informasi dari ciri yang dinamis biasa disebut dengan delta-features.
Persamaan untuk menghitung feature ini adalah
( ) [ ( ) ] [ ] (9)
Nilai M biasanya bernilai 2. Jika menambahkan kecepatan, feature berdimensi 26. Jika menambahkan baik kecepatan dan akselerasi, dimensi feature menjadi 39. Pada umumnya sistem pengenalan suara menggunakan 39 feature ini untuk mengenali [3].
2.2. Back Propagation
a) Arsitektur Back Propagation
Jaringan Syaraf Tiruan Back Propagation membandingkan perhitungan keluaran dengan target keluaran dan menghitung nilai error untuk setiap unit jaringan [7].
Gambar 2 merupakan arsitektur Jaringan Syaraf Tiruan back propagation dengan n buah input ditambah sebuah bias, sebuah lapis tersembunyi yang terdiri dari p unit ditambah sebuah bias, dan sebuah lapis unit keluaran.
45 b) Fungsi Aktivasi
Dalam Jaringan Syaraf Tiruan back propagation, fungsi aktivasi yang dipakai harus memenuhi beberapa syarat, yaitu: kontinu, terdeferensial dengan mudah dan merupakan fungsi yang tidak turun. Salah satu fungsi yang memenuhi ketiga syarat tersebut sehingga sering dipakai adalah fungsi
sigmoid biner yang memiliki range (0,1).
( ) dengan turunan ( ) ( )( ( )) (10)
Fungsi lain yang sering dipakai adalah sigmoid bipolar dengan range (-1,1).
( ) dengan turunan ( ) ( ( ))( ( )) (11)
Fungsi sigmoid memiliki nilai maksimum = 1. Maka untuk pola yang targetnya > 1, pola masukkan dan keluaran harus terlebih dahulu ditransformasi sehingga semua polanya memiliki range yang sama seperti fungsi sigmoid yang dipakai. Alternatif lain adalah menggunakan fungsi aktivasi
sigmoid hanya pada lapis yang bukan lapis keluaran. Pada lapis keluaran, fungsi aktivasi yang
dipakai adalah fungsi identitas : ( ) . c) Proses Pelatihan Back Propagation
Proses Pelatihan Jaringan Syaraf Tiruan Back Propagation terdiri dari 3 proses, yaitu propagasi maju, propagasi mundur, dan perubahan bobot. Ketiga proses tersebut dilakukan secara berulang sampai kondisi penghentian terpenuhi. Umumnya penghentian yang dipakai adalah iterasi dan error. 2.3. K-Fold Cross Validation
K-Fold Cross Validation merupakan teknik umum untuk menguji kinerja dari classifier. Data dibagi
menjadi k bagian (fold), kemudian selama dilakukan pelatihan terhadap data selain fold ke-i dan dilakukan pengujian terhadap data fold ke-i tersebut, lalu menghitung jumlah pengujian yang mengalami kesalahan klasifikasi.
2.4. Data
Suara burung yang dipilih dalam klasifikasi ini adalah Cucak Hijau, Cucak Rawa, dan Kenari. Ketiga suara burung tersebut merupakan jenis burung yang termasuk populer di kalangan para kicau mania yang dapat ditemukan seperti pada situs omkicau.
Data yang digunakan pada sistem berupa 3 buah rekaman suara burung, 1 rekaman untuk masing-masing jenis burung. Ketiga rekaman tersebut akan melalui tahap preprosesing terlebih dahulu sebelum dilakukan ekstraksi ciri. Contoh data audio berupa sinyal digital dan spektogram yang digunakan pada penelitian ini dapat dilihat pada Gambar 3.
(a) (b) (c)
Gambar 3. Contoh sinyal dan spektogram suara burung cucak hijau (a), cucak rawa (b), dan kenari (c) 2.5. Proses Penelitian
Pada penelitian ini ada 3 tahapan atau proses utama yang dilakukan. Ketiga proses utama tersebut adalah sebagai berikut:
a) Preprocessing
Proses preprocessing yang dilakukan adalah konversi file .mp3 ke dalam bentuk file .wav. File ini kemudian dipotong menjadi 120 rekaman dengan durasi masing-masing 5 detik.
b) Ekstraksi Ciri
Metode ekstraksi ciri menggunakan metode MFCC (Mel Frequency Cepstral Coefficient) sebagaimana dijelaskan pada sub-bab sebelumnya.
46
Penelitian kemudian melakukan reduksi ciri yaitu dengan menghitung nilai statistik berupa nilai
mean, variance, min dan max dari nilai MFCC, yang akan digunakan sebagai input dari Jaringan
Syaraf Tiruan.
c) Jaringan Syaraf Tiruan
Ada 2 jenis arsitektur Jaringan Syaraf Tiruan yang akan digunakan untuk proses pelatihan dan pengujian, yaitu arsitektur dengan 1 hidden layer dan 2 hidden layer. Untuk masing-masing arsitektur akan dilakukan percobaan dengan mengkombinasikan beberapa parameter seperti jumlah
neuron input yang akan bervariasi sesuai dengan feature yang dipilih, jumlah neuron pada
masing-masing hidden layer serta fungsi training. 3. HASIL DAN PEMBAHASAN
Pada pelaksanaan penelitian ini dilakukan pengujian sistem pada suara burung yang dilampirkan pada Gambar 4.
Gambar 4. Akurasi optimal dihasilkan pada penggunaan feature mean sebagai input jaringan dan optimalisasi jaringan dengan menggunakan 2 hidden layer
Pengujian sistem menggunakan data sebanyak 360 data suara burung, yang terbagi menjadi 3 jenis burung sehingga masing-masing jenis burung terdapat 120 data suara.
a) Menghitung Akurasi dengan 3 Fold Cross Validation
Setiap data masing-masing jenis burung akan dibagi menjadi 3 kelompok data secara merata menjadi 40 data suara untuk tiap kelompok data, seperti yang digambarkan pada Tabel 1. Untuk data validasi menggunakan kelompok data pertama, untuk testing menggunakan kelompok data kedua, sedangkan kelompok data yang tersisa akan menjadi data training. Pengujian akan dilakukan hingga semua kelompok data telah menjadi data validasi, testing maupun training, dan dilakukan akurasi suara seperti yang dilampirkan pada Tabel 2.
Tabel 1. Tabel pembagian data 3 kelompok Percobaan Train Validation Testing
1 3 1 2
2 1 2 3
3 2 3 1
Tabel 2. Tabel akurasi 3 fold
Feature MFCC Delta MFCC Delta Delta MFCC
Mean 85.28 72.5 72.22 Var 80.28 76.94 79.17 Min 80.83 77.5 83.89 Max 79.72 73.61 71.67 Mean,Var 68.61 75 76.39 Mean, Min 78.61 72.78 75.56 Mean, Max 75 73.61 75.28 Var, Min 71.39 73.06 73.06 Var, Max 73.33 76.11 73.89 Min, Max 82.5 78.61 73.61 Mean, Var, Min 70.83 74.72 72.5 Mean, Var, Max 71.94 76.39 69.72 Var, Min, Max 83.33 78.89 72.5 Mean, Var, Min, Max 79.44 73.61 79.72
47 b) Menghitung Akurasi dengan 5 Fold Cross Validation
Sesuai dengan yang dipaparkan pada Tabel 3, setiap data masing-masing jenis burung akan dibagi menjadi 5 kelompok data secara merata menjadi 24 data suara untuk tiap kelompok data. Untuk data validasi menggunakan kelompok data pertama, untuk testing menggunakan kelompok data kedua, sedangkan kelompok data yang tersisa akan menjadi data training. Pengujian akan dilakukan hingga semua kelompok data telah menjadi data validasi, testing maupun training, dan mengecek akurasi seperti pada Tabel 4.
Tabel 3. Tabel pembagian data 5 kelompok
Percobaan Train Validation Testing
1 3,4,5 1 2
2 1,4,5 2 3
3 1,2,5 3 4
4 1,2,3 4 5
5 2,3,4 5 1
Tabel 4. Tabel akurasi 5 fold
Feature MFCC Delta MFCC Delta Delta MFCC Mean 98.61 98.33 97.22 Var 84.17 88.61 91.11 Min 94.44 92.5 95.28 Max 90.28 83.61 84.72 Mean,Var 98.89 95.28 95.28 Mean, Min 95.28 96.67 95 Mean, Max 98.61 95.83 93.33 Var, Min 91.39 96.11 88.06 Var, Max 92.5 89.17 86.11 Min, Max 95.56 91.39 90.56 Mean, Var, Min 94.72 94.44 93.06 Mean, Var, Max 96.94 93.33 91.11 Var, Min, Max 90.83 95.56 97.22 Mean, Var, Min,
Max
94.72 91.11 95.56
c) Menghitung Akurasi dengan 10 Fold Cross Validation
Setiap data masing-masing jenis burung akan dibagi menjadi 10 kelompok data secara merata menjadi 12 data suara untuk tiap kelompok data, seperti yang digambarkan pada Tabel 5 dan menjelaskan mengenai akurasinya pada Tabel 6. Untuk data validasi menggunakan kelompok data pertama, untuk testing menggunakan kelompok data kedua, sedangkan kelompok data yang tersisa akan menjadi data training. Pengujian akan dilakukan hingga semua kelompok data telah menjadi data validasi, testing maupun training.
Tabel 5. Tabel pembagian data 10 kelompok
Percobaan Train Validation Testing 1 3,4,5,6,7,8,9,10 1 2 2 1,4,5,6,7,8,9,10 2 3 3 1,2,5,6,7,8,9,10 3 4 4 1,2,3,6,7,8,9,10 4 5 5 1,2,3,4,7,8,9,10 5 6 6 1,2,3,4,5,8,9,10 6 7 7 1,2,3,4,5,6,9,10 7 8 8 1,2,3,4,5,6,7,10 8 9 9 1,2,3,4,5,6,7,8 9 10 10 2,3,4,5,6,7,8,9 10 1
Tabel 6. Tabel akurasi 10 fold
Feature MFCC Delta MFCC Delta Delta MFCC Mean 99.44 99.44 99.17 Var 93.89 95.56 90.56 Min 93.89 94.72 96.39 Max 95.28 95.83 92.78 Mean,Var 99.17 97.78 98.06 Mean, Min 96.94 97.22 96.39 Mean, Max 98.89 98.33 97.5 Var, Min 93.61 97.22 95.28 Var, Max 97.22 97.22 96.39 Min, Max 96.67 98.06 96.94
48
Feature MFCC Delta MFCC Delta Delta MFCC Mean, Var, Min 97.5 98.33 96.39 Mean, Var, Max 98.89 98.89 98.89 Var, Min, Max 96.39 94.72 92.5 Mean, Var, Min, Max 98.06 97.78 97.78
Proses pengujian kombinasi feature mean, variance, min, dan max pada MFCC (13 coefficients), ∆MFCC (26 coefficients), ∆∆MFCC (39 coefficients) menggunakan arsitektur jaringan dengan 1
hidden layer yang memiliki 10 neuron dan fungsi training trainscg menghasilkan nilai akurasi yang
bervariasi seperti terlihat pada Tabel 3, 5, dan 7. Penggunaan feature mean sebagai input jaringan sudah mampu menghasilkan akurasi yang baik jika dibandingkan dengan nilai akurasi yang dihasilkan oleh feature lainnya. Proses pengujian selanjutnya dengan melakukan optimalisasi jaringan dengan menambahkan hidden layer yang kedua menghasilkan nilai akurasi yang optimal seperti pada Gambar 5, setelah itu dilakukan proses uji coba fungsi training lainnya untuk melihat perubahan nilai akurasi yang terjadi pada model jaringan sebelumnya.
Gambar 5. Grafik akurasi percobaan fungsi training terhadap model jaringan optimal 4. SIMPULAN
Dari hasil penelitian klasifikasi burung berdasarkan suara kicau burung menggunakan Jaringan Syaraf Tiruan propagasi balik dapat disimpulkan bahwa penggunaan feature mean sebagai input sudah cukup untuk menghasilkan model jaringan yang baik. Pada 3 fold cross validation, feature mean menghasilkan akurasi sebesar 85,28%, pada 5 fold cross validation menghasilkan akurasi sebesar 98,61% dan pada 10
fold cross validation menghasilkan akurasi sebesar 99,17% dengan menggunakan 1 hidden layer 10 neuron. Selain itu akurasi optimal dihasilkan pada proses optimalisasi jaringan dengan menambahkan hidden layer kedua sebesar 100% untuk 13 koefisien, 99.72% untuk 26 dan 39 koefisien. Sehingga akurasi tertinggi didapatkan pada 13 koefisien MFCC dengan 2 hidden layer, 10 neuron hidden layer 1 dan 30
neuron hidden layer 2 yaitu 100%. Model Jaringan Syaraf Tiruan yang dihasilkan sudah mampu
mengklasifikasikan jenis burung berdasarkan suara kicaunya dengan baik karena setelah dilakukan klasifikasi data tunggal dengan data di luar data pelatihan, sistem mampu mengklasifikasikannya dengan cukup akurat atau hasilnya sesuai dengan target aslinya.
5. REFERENSI
[1] Gill, F., Austin, Oliver L., Clench, Mary H. 2015. Passeriform Bird. http://www.britannica.com/ animal/passeriform, diakses 04 Mei 2016.
[2] Setiawan, A., Hidayanto, A., dan Isnanto, R. 2011. Aplikasi Pengenalan Ucapan dengan Ekstraksi Mel-Frequency Cepstrum Coefficients (MFCC) Melalui Jaringan Syaraf Tiruan Learning Vector Quantization (LVQ) untuk Mengoperasikan Kursor Komputer. Transmisi. Vol. 13(3): 82-86. [3] Jang, J.-S. R. 2005. Audio Signal Processing and Recognition. http://mirlab.org/jang/books/
audiosignalprocessing/, diakses 04 April 2016.
[4] Jang, J.-S. R. 2005. ASR (Automatic Speech Recognition) Toolbox. http://mirlab.org/jang/ matlab/toolbox/asr/, diakses 04 April 2016.
49
[5] Mustofa, A. 2007. Sistem Pengenalan Penutur dengan Metode Mel-Frequency Wrapping. Jurnal
Teknik Elektro. Vol. 7(2): 88-96.
[6] Diana, L., & Shidik, G. F. 2014. Analisis Data Transaksi Penjualan Untuk Klasifikasi Jenis Barang Dan Relasi Daya Beli Relatif Masyarakat Menggunakan Algoritam K-Means Serta Asosiasi Apriori.
Jurnal Teknologi Informasi. Vol. 10(2): 212-219.
[7] Siang, J. J. 2005. Jaringan Syaraf Tiruan & Pemorgramannya Menggunakan MATLAB. Penerbit Andi, Yogyakarta.