Algoritma sistem pengenalan pembicara

Gambar 3.2 Bagan alir algoritma program perancangan sistem pengenalan pembicara. Untuk menjelaskan secara ringkas algoritma diatas, maka dapat kita kategorikan dalam beberapa bagian sebagai berikut : 1. Matlab Matlab Matrix Laboratory merupakan salah satu bahasa pemrograman yang dikembangkan oleh MathWorks. Matlab adalah sebuah bahasa pemrograman dengan unjuk kerja tinggi high performance untuk komputasi teknis, yang mengintegrasikan komputasi, visualisasi, dan pemrograman didalam lingkungan yang mudah penggunaannya dalam memecahkan persoalan dengan solusinya yang dinyatakan dengan notasi matematik. Salah satu yang cukup menarik dari MatLab adalah kemudahan dan kejelasannya dalam memahami contoh dan demo serta help yang ada pada Matlab. Matlab dapat berlaku seperti bahasa pemrograman C ataupun pascal yang mempunyai struktur control program. Pemrograman dengaan Matlab memerlukan lebih dari satu baris dan dimungkinkan untuk didokumentasikan dalam m-file, control program ini digunakan untuk memperbaiki tampilan yang diinginkan. Untuk mengenal lebih dekat tentang Matlab dapat dilihat pada Gambar 3.3 yang menampilkan ruang kerja Matlab R2012a dengan berbagai tolls dan fasilitas yang disediakannya. Gambar 3.3 Tampilan program Matlab Sistem Matlab terdiri dari 5 bagian utama, yaitu : a. Bahasa pemrograman Matlab Bagian ini adalah bahasa pemrograman tingkat tinggi yang menggunakan matriksarray dengan pernyataan aliran kendali program, struktur data, masukankeluaran, dan fitur-fitur pemrograman berorientasi objek. b. Lingkungan kerja Matlab Bagian ini adalah sekumpulan tools dan fasilitas Matlab yang digunakan oleh pengguna atau pemrograman. Fasilitas yang dimaksudkan misalkan untuk mengelola variable didalam ruang kerja workspace dan melakukan impor dan ekspor data. c. Penanganan Grafik Bagian ini adalah sistem grafik MATLAB, termasuk perintah – perintah program tingkat tinggi untuk visualisasi data dimensi 2 dan dimensi 3, pengolahan citra, animasi, dan presentasi grafik. d. Pustaka Library fungsi matematis MATLAB Bagian ini adalah koleksi algoritma komputasi mulai dari fungsi dasar seperti menjumlahkan sum, menentukan nilai sinus sine, kosinus cosine, dan aritmatik bilangan kompleks. e. API Application Program Interface Bagian ini adalah pustaka Library untuk menuliskan program dalam bahasa C dan Fortran yang berinteraksi dengan MATLAB, termasuk fasilitas untuk memanggil rutin program dari MATLAB dynamic linking, memanggil MATLAB sebagai mesin komputasi computation engine dan untuk pembacaan serta penulisan MAT – files. 2. File Suara File suara yang dijadikan inputan pada sistem ini berasal dari data yang dikirim kan oleh alat pengolahan suara analog yang disimpan dalam bentuk format file dokumen dan akan diubah kembali menjadi file suara dalam format dot wav. Wav merupakan standar format container file yang digunakan oleh Windows. Wav umumnya digunakan untuk menyimpan audio tak termampatkan, file suara yang memiliki kualitas CD, yang berukuran besar sekitar 10 MB per menit. File wav juga dapat berisi data terkodekan dengan beraneka ragam codec untuk mengurangi ukuran file. File audio WAV dengan PCM, namun bisa terkompresi maupun tidak terkompresi. Format WAV banyak digunakan oleh handphone, sehingga popularitas bisa menyamai file MP3. Kualitas produksi waveform audio bergantung pada sampling rate banyaknya sampel per detik. Waveformaudio disebut juga pulse code modulator pcm audio. WAV merupakan standar untuk komputer berbasis Windows, namum dapat digunakan dikomputer berbasis Machitosh. Adapun file suara yang akan dijadikan sampel memiliki rentang atau pita suara sebesar 2 detik dengan satu buah pengucapan kata tertentu dengan perbedaan setiap sampel kata terdiri dari satu suara manusia. Adapun contoh file suara yang telah diambil ditunjukkan pada Gambar 3.4 Gambar 3.4 Contoh sampel suara “MAKAN” Adapun file suara yang akan diinisialisasi berdasarkan file name suara yang akan diproses menjadi 4 buah variable data. Untuk lebih jelasnya sintaks program Matlab adalah sebagai berikut : Data Awal Speech Continuous [data, Fs, nbits, opts] = wavread s1.wav ; siz = wavread s1.wav , size ; subplot2, 1, 1; plotdata; title Suara Asli ; 3. Frame Blocking Pada perancangan sistem ini nilai N ditentukan atau ditetapkan berdasarkan nilai yang ditulis dalam program yang panjang nya antara 10- 30 ms atau 256-1024 data.Panjang frame yang digunakan sangat mempengaruhi keberhasilan dalam analisa spectral. Di satu sisi ukuran dalam frame harus sepanjang mungkin untuk dapat menunjukkan resolusi frekuensi yang baik. Akan tetapi, di lain sisi ukuran frame juga harus cukup pendek untuk dapat menunjukkan resolusi waktu yang baik. Dalam perancangan sistem ini sinyal suara yang kontinyu akan diblock menjadi frame sampel N, dengan frame yang berdekatan dipisahkan oleh M MN. Frame pertama terdiri dari N sampel, Frame kedua dimulai sampel M setelah frame yang pertama, dan melawati dari sampel N-M dan seterusnya. Proses ini berlanjut sampai semua suara dicatat dalam satu frame atau lebih. Dengan cara yang sama, frame ketiga dimulai 2M sampel setelah frame pertama atau M sampel setelah frame kedua dan overlap dengan N– 2M sampel. Proses ini berlanjut hingga semua sinyal suara dihitung dalam satu atau banyak frame. Nilai untuk N dan M adalah N = 256 dan M =100. Berikut ini adalah diagram blok untuk proses penentuan frame yang ditunjukkan pada Gambar 3.5 [6]. Gambar 3.5 Diagram block proses penentuan frame blocking Jadi, proses frame tersebut dilakukan secara terus-menerus hingga semua sinyal dapat terproses. Selain itu, proses ini umumnya dilakukan secara overlapping untuk setiap frame-nya. Panjang daerah overlap yang umum digunakan adalah kurang lebih 30 sampai 50 dari panjang frame. Untuk lebih jelasnya sintaks program Frame Blocking pada Matlab adalah sebagai berikut : 1 Frame Blocking.. N = 256; N point FFT M = 100; Overlapping NN = floorN2+1; N2 nbFrames = ceillengthdata-NM; Frames = zerosnbFrames+1,N; for i = 0:nbFrames-1 temp = dataiM+1:iM+N; Framesi+1,1:N = temp; end Last Frame.. temp = zeros1,N; lastLength = lengthdata- nbFramesM; temp1:lastLength = datanbFramesM+1:nbFramesM +1 + lastLength-1; FramesnbFrames+1, 1:N = temp; b = 1:N; subplot2, 1, 2; plottemp; title After Frame Blocking ; 4. Windowing Pada perancangan sistem pengenalan pembicara proses windowing ini bertujuan untuk mengurangi terjadinya kebocoran spectral atau aliasing yang mana merupakan suatu efek dari timbulnya sinyal baru yang memiliki frekuensi yang berbeda dengan sinyal aslinya. Efek tersebut dapat terjadi karena rendahnya jumlah sampling rate atau karena proses frame blocking yang menyebabkan sinyal menjadi discontinue. Hamming windows digunakan pada perancangan sistem ini dikarenakan tujuan penulis untuk mengetahui seberapa besar pengaruh windowing ini terhadap sinyal analog yang akan diproses. Secara umum Fungsi ini menghasilkan sidelobe level yang tidak terlalu tinggi kurang lebih -43 dB. Selain itu, noise yang dihasilkan pun tidak terlalu besar kurang lebih 1.36 BINS. Untuk lebih jelas memahami mengenai sistem kerja atau pengaruh sinyal yang diakibatkan oleh Hamming window ditunjukan pada Gambar 3.6 [6]. Gambar 3.6Pengaruh sinyal yang diakibatkan Hamming window Untuk lebih jelas, adapun script sintaks program Windowing pada Matlab adalah sebagai berikut : Windowing frameSize = sizeframes; nbFrames = frameSize1; nbSamples = frameSize2; Hamming Window w = hammingnbSamples; Windows = zerosnbFrames,nbSamples; for i = 1:nbFrames temp = Framesi,1:nbSamples; Windowsi, 1:nbSamples = w.tempt; end subplot6, 1, 3; plotw; title After Hamming Window ; 5. FFT fast fourier transform Pada perancangan sistem ini untuk mendapatkan sinyal dalam domain frekuensi dari sebuah sinyal discrete, maka digunakan salah satu metode transformasi discrete fourier transform.DFT dilakukan terhadap masing-masing frame dari sinyal yang telah di windowing. Namun, yang menjadi persoalan adalah bahwa DFT tersebut memerlukan waktu komputasi yang sangat panjang untuk data yang besar. Oleh karena itu, diperlukan suatu teknik komputasi yang efisien, baik dari sisi waktu maupun dari sisi penggunaan memori. FFT adalah algoritma cepat untuk mengimplementasikan discrete fourier transform DFT.FFT ini mengubah masing-masing frame N sampel dari domain waktu menjadi domain frekuensi. Hasil transformasi ini dipengaruhi oleh beberapa parameter, yaitu sample rate sinyal suara dan FFT size. Sample rate adalah banyaknya sampel input analog yang diambil secara digital dengan satuan Hertz Hz. Sample rate sinyal suara berpengaruh pada besarnya jangkauan frekuensi dari koefisien hasil FFT. Jangkauan frekuensi hasil FFT adalah setengah dari sample rate sinyal suara yang ditransformasi. Artinya, apabila terdapat sinyal suara dengan sample rate 44100 Hz, maka koefisien-koefisien hasil transformasi dari sinyal suara tersebut berkisar dari 0 Hz sampai 22050 Hz. Jadi, semakin besar sample rate , maka akan semakin detail pula sampel analog yang diambil secara digital. Sedangkan FFT size adalah panjang dari FFT yang digunakan. FFT size berpengaruh terhadap ketelitian tiap koefisien FFT. Semakin besar FFT size, maka tiap koefisien hasil FFT akan mewakili rentang frekuensi yang semakin kecil, sehingga ketelitiannya semakin tinggi. Sebaliknya apabila ukuran sampel FFT semakin kecil, maka tiap koefisien hasil FFT akan mewakili rentang frekuensi yang semakin besar, sehingga ketelitiannya semakin rendah. Adapun script program Matlab tentang FFT fast fourier transform adalah sebagai berikut : Fourier Transform.. ffts = fft Windows; subplot6, 1, 4; plotffts; title After Fourier Transform ; 6. MFCC mel frequency cepstrum coefficients Pada perancangan sistem ini dibutuhkan suatu metode yang mampu mengidentifikasi sinyal yang masuk. Untuk itu MFCC dipilih sebagai salah satu metode yang digunakan untuk tujuan tersebut. MFCC berasal dari tipe representasi kepstral dari klip audio yang disebut sebagai spectrum yag berasal dari spectrum yang lain. Perbedaan antara ceptrum dan mel frequency cepsturm adalah terletak pada MFC nya, Band frekuensi diposiskan secara algoritma pada skala mel yang mendekati respon sistem pendengaran manusia, lebih dekat dari band frekuensi ruang yang diperoleh secara langsung dari FFT dan DCT. Cara ini mampu memberikan peluang yang lebih baik dalam memproses data, sebagai contonya adalah audio compression. MFCC secara umum diperoleh sebagai berikut : a. Mengambil perubahan Fourier dari windowing sebuah sinyal b. Pemetaan logaritma amplitude dari perolehan spectrum diatas menuju ke skala mel, menggunakan jendela overlap berbentuk segitiga c. Memerlukan discrete cosine transform DCT dari logaritma amplitude mel, hanya jika itu merupakan sebuah sinyal d. MFCC adalah aplitudo dalam menghasilkan spectrum Dalam metode MFCC ini dapat dijelaskan script pemrograman dalam Matlab adalah sebagai berikut : Mel-frequency Wrapping.. a Calculate Power spectrum.. PowSpecs = absffts.2; PowSpecs = PowSpecs1:NN-1,:; b Mel filter generation nof_c = 20; Number of channels.. df = FsN; Nmax = N2; fmax = Fs2; Convert to mel scale.. melmax = 2595log101+fmax700; melinc = melmaxnof_c+1; melcenters = 1:nof_c.melinc; Convert to frequency scale.. fcenters = 70010.melcenters.2595-1; centerf = roundfcenters.df; startf = [1,centerf1:nof_c-1]; stopf = [centerf2:nof_c,Nmax]; W = zerosnof_c,Nmax; Making filter.. for i = 1:nof_c increment = 1.0centerfi-startfi; for j = startfi:centerfi Wi,j = j-startfiincrement; end decrement = 1.0stopfi-centerfi; for j = centerfi:stopfi Wi,j = j-centerfidecrement; end end Normalising.. for i = 1:nof_c Wi,: = Wi,:sumWi,:; end c Apply mel filters to Power spectrum coeffs.. melPowSpecs = WPowSpecs; d MFCC calculations.. melCeps = dctlogmelPowSpecs; melCeps1,: = []; subplot6, 1, 5; plotmelCeps; title After MFCC ; 7. Cepstrum Pada perancangan sistem pengenalan suara ini cepstrum dikembangkan untuk penggunaan dengan sinyal ucapan, yang secara spectral mempunyai banyak puncak dan selalu memiliki jeda datar. Ketika logaritma magnitude spektrrum telah dapat diambil, puncak ini dapat dikurangi, amplitudonya dibawa kedalam suatu skala yang dapat dipakai, dan menghasilkan suatu bentuk gelombang periodik dalam daerah frekuensi, periode berhubungan dengan frekuensi fundamental sinyal asli. Cepstrum merupakan suatu analisis spectral dengan keluaran berupa alihragam Fourier dari fungsi logaritma magnitudo spectrum gelombang masukan. Prosedur ini dikembangkan dalam percobaan untuk membuat suatu sistem tidak linier agar lebih linier. Cepstrum atau koefisien cepstral, didefenisikan sebagai balikan alihragam Fourier dari spectrum amplitude logaritmik waktu pendek. Maksud dari cepstrum sesungguhnya adalah menyederhanakan koefisien yang diperoleh dari MFCC. Hasil dari penyederhanaan inilah yang menjadi data Matriks yang digunakan untuk mengidentifikasi kepemilikan sinyal suara masukan. Adapun script pemrograman Matlab tentang cepstrum ini adalah sebagai berikut : Cepstrum cepstrum = rcepsmelCeps; [long,coefficient] = sizecepstrum; x = iccpeslong,coefficient; z = maxsumabscepstrum; y = round10000z; figure6; title After Cepstrum ;

BAB IV HASIL DAN PENGUJIAN SISTEM

4.1 Gambaran Umum pengujian Sistem Pengenalan Pembicara

Tahapan pengujian sistem perancangan ini dilakukan dengan tujuan adalah untuk mengetahui hasil dari perancangan sistem yang telah dibuat. Pada pengujian sistem ini terdiri dari beberapa tahapan, dimulai dari gambaran umum pengujian sistem pengenalan pembicara, kemudian persiapan perangkat pendukung pengujian sistem dan pengujian terhadap file suara yang akan dianalisa. Sistem yang digunakan pada aplikasi ini menitikberatkan pada pengguna. Pengguna harus melakukan pengujian terhadap file suara yang mana akan diproses untuk dapat dikenali kepilikan suara tersebut. File suara yang merupakan hasil dari kontruksi ulang yang berasal dari pengiriman data oleh sistem filter anti aliasing. Rekontruksi ulang file suara yang berasal dari data tersebut akan diubat menjadi file suara dalam format dot wave menggunakan software pemrograman Matlab. Program Matlab yang digunakan hanya berbentuk data dalam lingkungan kerja coding m-file. Adapun langkah – langkah untuk melakukan pengujian sistem ini adalah sebagai berikut : 1. Jalankan program Matlab 2. Pilih program m-file yang telah dibuat sebelumnya 3. Atur parameter N dan M pada frame blocking 4. Tentukan file suara yang akan dianalisa 5. Jalankan program sistem pengenalan pembicara.m 6. Analisa setiap output yang ditampilkan secara grafik 7. Simpulkan apakah file suara yang dianalisa sesuai dengan file suara yang diinputkan

4.2 Persiapan Perangkat Pendukung Pengujian Sistem

Untuk melakukan pengujian sistem ini diperlukan beberapa perangkat pendukung yang digunakan untuk mempermudah pengujian sistem yang baik untuk data referensi maupun mempermudah pengujian sistem untuk proses yang diharapkan penulis. Perangkat yang dimaksud penulis dalam pengujian sistem ini tidak hanya beralat yang berupa barang tetapi berhubungan juga terhadap tempat dan waktu serta orang – orang yang membantu dalam pengujian sistem ini. Adapun beberapa perangkat yang digunakan antara lain : 1. Tempat dan Waktu Pengujian sistem dan pengambilan data ini dilakukan pada tanggal 20 Agustus 2015 dan bertempat di Komplek Puri, Pasar 1 Tanjung Sari No. 30 Ringroad Medan. 2. Partisipasi Partisipasi adalah orang yang ikut membantu pengujian sistem dan pengambilan data yang mana orang tersebut diambil sampel suara nya untuk dijadikan sebagai data pengujian. Jumlah orang yang ikut berpartisipasi sebanyak 6 orang yang merupakan sahabat penulis dan termasuk penulis sendiri.

Dokumen yang terkait

Implementasi Metode Mel-Frequency Cepstrum Coefficients (MFCC) Dalam IDentifikasi jenis Suara Burung Berkicau

15 74 61

Penerapan Mel Frequency Cepstrum Coefficients (MFCC) sebagai ekstraksi ciri pada pengenalan fonem dengan Probabilistic Neural Network (PNN) sebagai classifier

0 8 48

Pengenalan Karakteristik Suara Menggunakan Mel Frequency Cepstrum Coefficients (Mfcc) Pada Sistem Pengenalan Pembicara (Speaker Recognition Sistem)

0 1 8

Pengenalan Karakteristik Suara Menggunakan Mel Frequency Cepstrum Coefficients (Mfcc) Pada Sistem Pengenalan Pembicara (Speaker Recognition Sistem)

0 0 1

Pengenalan Karakteristik Suara Menggunakan Mel Frequency Cepstrum Coefficients (Mfcc) Pada Sistem Pengenalan Pembicara (Speaker Recognition Sistem)

0 2 5

Pengenalan Karakteristik Suara Menggunakan Mel Frequency Cepstrum Coefficients (Mfcc) Pada Sistem Pengenalan Pembicara (Speaker Recognition Sistem)

0 0 12

Pengenalan Karakteristik Suara Menggunakan Mel Frequency Cepstrum Coefficients (Mfcc) Pada Sistem Pengenalan Pembicara (Speaker Recognition Sistem)

0 1 1

Pengenalan Karakteristik Suara Menggunakan Mel Frequency Cepstrum Coefficients (Mfcc) Pada Sistem Pengenalan Pembicara (Speaker Recognition Sistem)

0 0 12

SIMULASI DAN ANALISIS SPEAKER RECOGNITION MENGGUNAKAN METODE MEL FREQUENCY CEPSTRUM COEFFICIENT (MFCC) DAN GAUSSIAN MIXTURE MODEL (GMM) SPEAKER RECOGNITION SIMULATION AND ANALYSIS USING MEL FREQUENCY CEPSTRUM COEFFICIENT (MFCC) DAN GAUSSIAN MIXTURE MODEL

0 0 7

IDENTIFIKASI PENUTUR MENGGUNAKAN METODE MEL FREQUENCY CEPSTRAL COEFFICIENTS (MFCC) DAN JARINGAN SYARAF TIRUAN MODEL MADALINE Speaker Identification using Mel Frequency Cepstrum Coefficients (MFCC) and Madaline Neural Network

0 1 12