• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI

2.4 Pemprosesan Suara

Speech (wicara) dihasilkan dari sebuah kerjasama antara paru), glottis (dengan

cavity/rongga hidung). Gambar 2.2 menunjukkan penampang melintang dari organ wicara manusia. Untuk menghasilkan

ucapan), paru-paru menekan udara melalui

menginterupt udara melalui aliran udara dan menghasilkan sebuah gelombang tekanan quasi-periodic

Impuls tekanan pada umumnya disebut sebagai frekuensi sinyal tekanan adalah

dalam Gambar 2.3a sederetan impuls (fungsi tekanan suara) dihasikan oleh cords untuk sebuah suara. Ini merupakan bagian dari sinyal

mendefinisikan speech melody

sebuah frekuensi pitch konstan, suara sinyal wicara kasus normal sebuah perubahan

frekuensi pitch dapat dilihat seperti pada Gambar 2.3b Pemprosesan Suara

(wicara) dihasilkan dari sebuah kerjasama antara (dengan vocal cords) dan articulation tract (mouth

/rongga hidung). Gambar 2.2 menunjukkan penampang melintang dari organ wicara manusia. Untuk menghasilkan sebuah voiced sounds

paru menekan udara melalui epiglottis, vocal cords

menginterupt udara melalui aliran udara dan menghasilkan sebuah gelombang periodic (hampir periodik).

Gambar 2.2: Organ wicara manusia

Impuls tekanan pada umumnya disebut sebagai pitch impulses frekuensi sinyal tekanan adalah pitch frequency atau fundamental frequency dalam Gambar 2.3a sederetan impuls (fungsi tekanan suara) dihasikan oleh

untuk sebuah suara. Ini merupakan bagian dari sinyal voice

speech melody (melodi wicara). Ketika kita berbicara dengan sebuah frekuensi pitch konstan, suara sinyal wicara monotonous

kasus normal sebuah perubahan permanen pada frekuensi terjadi. Variasi frekuensi pitch dapat dilihat seperti pada Gambar 2.3b

(wicara) dihasilkan dari sebuah kerjasama antara lungs (paru-mouth/mulut dan nose /rongga hidung). Gambar 2.2 menunjukkan penampang melintang dari voiced sounds (suara vocal cords bergetar, menginterupt udara melalui aliran udara dan menghasilkan sebuah gelombang

pitch impulses dan fundamental frequency. Di dalam Gambar 2.3a sederetan impuls (fungsi tekanan suara) dihasikan oleh vocal voice (suara) yang (melodi wicara). Ketika kita berbicara dengan monotonous tetapi dalam permanen pada frekuensi terjadi. Variasi

Gambar 2.3a: Sederet impuls yang sama

Gambar 2.3b: Variasi pada frekuensi pitch

Impuls pitch merangsang udara di dalam mulut, dan untuk suara terten (nasals) juga merangsang

beresonansi, akan menimbulkan radiasi sebuah gelombang suara yang mana merupakan sinyal wicara. Kedua rongga beraksi sebagai resonators dengan karakteristik frekuensi resonansi masing

frequencies. Pada saat rongga mulut dapat mengalami perubahan besar, manusia mampu untuk menghasilkan beragam pola ucapan suara yang berbeda. mampu untuk menghasilkan beragam pola ucapan suara yang berbeda.

Gambar 2.3a: Sederet impuls yang sama

Gambar 2.3b: Variasi pada frekuensi pitch

Impuls pitch merangsang udara di dalam mulut, dan untuk suara terten ) juga merangsang nasal cavity (rongga hidung). Ketika rongga beresonansi, akan menimbulkan radiasi sebuah gelombang suara yang mana merupakan sinyal wicara. Kedua rongga beraksi sebagai resonators dengan karakteristik frekuensi resonansi masing-masing, yang disebut

. Pada saat rongga mulut dapat mengalami perubahan besar, manusia mampu untuk menghasilkan beragam pola ucapan suara yang berbeda. mampu untuk menghasilkan beragam pola ucapan suara yang berbeda.

Impuls pitch merangsang udara di dalam mulut, dan untuk suara tertentu (rongga hidung). Ketika rongga beresonansi, akan menimbulkan radiasi sebuah gelombang suara yang mana merupakan sinyal wicara. Kedua rongga beraksi sebagai resonators dengan masing, yang disebut formant . Pada saat rongga mulut dapat mengalami perubahan besar, manusia mampu untuk menghasilkan beragam pola ucapan suara yang berbeda. mampu

Di dalam kasus tract lebih menyerupai

suara-suara /a/, dan /f/. Untuk sementara perbedaan bentuk dan posisi pada organ artikulasi diabaikan saja.

Gambar 2.4:

2.5 Prapemprosesan Sinyal

Prapemprosesan sinyal mengekstrak informasi yang diinginkan dari sebuah sinyal suara. Untuk hal itu proses Normalisasi seperti pe

untuk mengurangi noise dan sampling perlu dilakukan. Sehingga dari input suara Raw (suara asli) menjadi sinyal suara yng telah digitalisasi. Seperti diperlihatkan pada gambar 2.5:

Di dalam kasus unvoiced sounds (suara tak terucap), eksitasi pada lebih menyerupai noise (derau). Gambar 2.4 menampilkan proses produksi

suara /a/, dan /f/. Untuk sementara perbedaan bentuk dan posisi pada organ artikulasi diabaikan saja.

Proses produksi suara, pembangkian ucapan /a/

panjang (atas), pembangkitan ucapan /f/ (bawah)

Prapemprosesan Sinyal

Prapemprosesan sinyal mengekstrak informasi yang diinginkan dari sebuah sinyal suara. Untuk hal itu proses Normalisasi seperti pe

untuk mengurangi noise dan sampling perlu dilakukan. Sehingga dari input suara Raw (suara asli) menjadi sinyal suara yng telah digitalisasi. Seperti diperlihatkan (suara tak terucap), eksitasi pada vocal (derau). Gambar 2.4 menampilkan proses produksi suara /a/, dan /f/. Untuk sementara perbedaan bentuk dan posisi pada organ

Proses produksi suara, pembangkian ucapan /a/

panjang (atas), pembangkitan ucapan /f/ (bawah)

Prapemprosesan sinyal mengekstrak informasi yang diinginkan dari sebuah sinyal suara. Untuk hal itu proses Normalisasi seperti penggunaan filter untuk mengurangi noise dan sampling perlu dilakukan. Sehingga dari input suara Raw (suara asli) menjadi sinyal suara yng telah digitalisasi. Seperti diperlihatkan

Gambar 2.5: Diagram Blok Prapemprosesan Sinyal

Awalnya sebuah mikropon atau handset telepon dapat digunakan untuk merubah gelombang akustik ke dalam sebuah sinyal analog. Sebelum proses perubahan sinyal, suara difiltering terlebih dahulu dengan filter noise seperti antialiasing filter (dan mungkin filter tambahan untuk mengimbangi setiap perusakan channel).

Aliasing adalah fenomena gelombang sinus merubah frekuensi ketika proses sampling. Hal ini dapat menghancurkan penampilan sample sehingga data menjadi rusak. Oleh karena itu dengan Antialiasing filter membatasi bandwidth sinyal menjadi kira-kira Nyquist rate (setengah sampling rate/frekuensi).

Sinyal analog terkondisikan kemudian diubah ke dalam bentuk sebuah sinyal digital oleh sebuah analog-to-digital (A/D) converter.

Proses perubahan sinyal analog ini menggunakan proses Sampling [6], yaitu proses merubah sinyal analog yang berbentuk sinyal kontinu terhadap waktu menjadi sinyal diskrit atau sering disebut Sample yang berulang, suatu sample menunjukkan suatu set nilai yang pada sebuah titik dalam suatu waktu atau ruang. Proses sampling perlu memenuhi teorema Nyquist yang menyatakan :

≥ 2 =

Pada komputer proses sampling dilakukan oleh sound card sehingga sistem aplikasi yang akan dibangun perlu proses pengaksesan sound card agar informasi yang diperoleh dari sinyal dapat diketahui.

2.5.1 Mel-Frequency Cepstrum Coefficients

Input suara biasanya direkam pada sampling rate diatas 8000 Hz.

Frekuensi sampling ini dipilih untuk meminimalisasi efek dari aliasing dalam konversi analog kedigital. Sinyal yang telah di-sampling ini dapat menangkap semua frekuensi sampai dengan 5 kHz, yang meliputi kebanyakan energi suara yang dihasilkan oleh manusia. Seperti telah disebutkan pada bagian sebelumnya, tujuan utama dari prosesor MFCC adalah untuk menirukan perilaku telinga manusia.

Gambar 2.6 Input Suara

Gambar 2.7 Prosesor Mel-frequency Cepstrum Coefficients

Seperti terlihat pada gambar, prosesor MFCC mempunyai lima tahap, yaitu Frame Blocking, Windowing, FFT, Mel-frequency Wrapping, dan Cepstrum.

Berikut adalah penjelasan dari masing-masing bagian tersebut.

2.5.1.1. Frame Blocking

Dalam tahap ini sinyal suara diblok menjadi banyak frame dengan N sampel, dengan frame-frame selanjutnya dipisahkan oleh M

Gambar 2.8 Input Suara Setelah Melalui Tahap Frame Blocking

Frame yang pertama terdiri dari N sampel yang pertama. Frame yang kedua mulai M sampel setelah frame yang pertama dan di-overlap oleh N-M sampel. Frame yang ketiga mulai dari 2M sampel setelah frame yang pertama atau M sampel setelah frame yang kedua dan di-overlap oleh N-2M sampel. Proses ini berlangsung kontinu hingga seluruh suara atau ucapan dihitung sebagai satu atau lebih frame. Nilai untuk N dan M yang umum adalah N=256 (yang ekuivalen dengan 30 msec windowing dan memfasilitasi radix-2 FFT) dan M=100.

2.5.1.2. Windowing: Window sangat berkaitan pada proses FFT hal ini berguna untuk, sbb:

1. Mengurangi dampak dari batas ketidak-kontinuan (boundary of discontinues). Ketidak-kontinuan berada pada awal dan akhir tiap frame. Window berupaya untuk mengurangi kerusakan spektrum dengan cara meruncingkan sinyal dengan menset nol pada awal dan akhir tiap frame

2. Diaplikasikan dalam sinyal domain waktu sebelum digunakan pada FFT.

3. Tersedia berbagai macam window untuk mengurangi kebocoran sinyal.

Sinyal dengan ketidak-kontinuan jika dikalikan dengan fungsi window maka menjadi sinyal kontinu.

Berikut beberapa fungsi Window pada domain waktu, sbb:

Window Hanning

Persamaan window Hanning adalah sebagai berikut:

Window Hanning memiliki lobe utama dua kali lebih lebar dari window rectangular, dan hampir tiga baris spektral akan

bandwidth noise adalah 1,5 dan

Window Hamming diperoleh dengan memodifikasi koefisien window Hanning untuk mencegah dengan tepat pada

Berikut beberapa fungsi Window pada domain waktu, sbb:

Window Hanning

samaan window Hanning adalah sebagai berikut:

Window Hanning memiliki lobe utama dua kali lebih lebar dari window rectangular, dan hampir tiga baris spektral akan selalu dibangkitkan. Frekuensi bandwidth noise adalah 1,5 dan sidelobe paling tinggi turun 32dB, dan

Window Hamming diperoleh dengan memodifikasi koefisien window Hanning untuk mencegah dengan tepat pada sidelobe pertama, tapi menjadi Window Hanning memiliki lobe utama dua kali lebih lebar dari window selalu dibangkitkan. Frekuensi paling tinggi turun 32dB, dan turun 18 dB tiap oktav. Grafik spektrum hasil window dapat

Gambar 2.9: Spektrum dengan Window Hanning

Window Hamming diperoleh dengan memodifikasi koefisien window pertama, tapi menjadi

sangat kurang tepat

Hamming menaikkan 42 dB di bawah lobe utama, namun secara asimtot sidelobe decay dengan 6 dB per oktav, dan noise berada 1,36. Grafik spektrum hasil window dapat diperlihatkan pada gambar 2.7:

Gambar 2.10: Spektrum dengan Window Hamming .

2.5.1.3 FFT: Fast Fourier Transform

Transformasi Fourier merubah sebuah sinyal domain waktu untuk ditampilkan menjadi sinyal domain Frekuensi. Bagaimanapun juga, sebuah sample yang berbentuk gelombang (

bentuk nilai diskrit. Karena transformasi ini, transformasi Fourier tidak akan bekerja dalam bentuk data diskrit. Akhirnya digunakan

Transform (DFT), yang menghasilkan hasil akhir dalam domain frekuensi dengan nilai diskrit atau disebut

efisien untuk proses perhitungan DFT (

inversenya dengan membutuhkan sedikit proses aritmetika.

sangat kurang tepat bernilai nol pada tiap tepi. Dengan alasan ini window Hamming menaikkan 42 dB di bawah lobe utama, namun secara asimtot dengan 6 dB per oktav, dan noise berada 1,36. Grafik spektrum hasil window dapat diperlihatkan pada gambar 2.7:

Gambar 2.10: Spektrum dengan Window Hamming

Fast Fourier Transform (FFT)

Transformasi Fourier merubah sebuah sinyal domain waktu untuk ditampilkan menjadi sinyal domain Frekuensi. Bagaimanapun juga, sebuah sample yang berbentuk gelombang (waveform) dan ditransformasikan dalam bentuk nilai diskrit. Karena transformasi ini, transformasi Fourier tidak akan bekerja dalam bentuk data diskrit. Akhirnya digunakan Discrete Fourier (DFT), yang menghasilkan hasil akhir dalam domain frekuensi dengan ilai diskrit atau disebut bins. Fast Fourier Transform merupakan algoritma yang efisien untuk proses perhitungan DFT (Discrete Fourier Transform inversenya dengan membutuhkan sedikit proses aritmetika.

bernilai nol pada tiap tepi. Dengan alasan ini window Hamming menaikkan 42 dB di bawah lobe utama, namun secara asimtot dengan 6 dB per oktav, dan noise berada 1,36. Grafik

Gambar 2.10: Spektrum dengan Window Hamming

Transformasi Fourier merubah sebuah sinyal domain waktu untuk ditampilkan menjadi sinyal domain Frekuensi. Bagaimanapun juga, sebuah dan ditransformasikan dalam bentuk nilai diskrit. Karena transformasi ini, transformasi Fourier tidak akan Discrete Fourier (DFT), yang menghasilkan hasil akhir dalam domain frekuensi dengan merupakan algoritma yang Discrete Fourier Transform) dan

Dimana DFT didefinisikan dengan rumus :

= = 0, … , − 1

dimana: x0, ...., xN-1berupa angka komplek

Proses penjumlahan rumus tersebut secara langsung dapat menghabiskan O(N2) operasi aritmetika. Namun jika digunakan algoritma FFT hanya diperlukan O(NlogN) operasi. Perbandingan kecepatan eksekusi DFT dan FFT dapat dilihat pada gambar 2.10:

N 10 100 1000 106 109

N2 100 104 106 1012 1018

NlogN 10 200 3000 6x106 9x109

Gambar 2.11: Waktu komputasi yang diperlukan untuk proses O(NlogN) Misalnya jika sebuah mesin memiliki 1 MFLOP (satu juta floating point per detik). Dimana N = 1 juta = 106. Sehingga sebuah algoritma O(N2) memerlukan 1012flot atau 106 detik ≃ 11.5 hari. Jika sebuah algoritma O(NlogN) memerlukan 6x106 Flot atau 6 detik. Namun N = 1 juta tidak mungkin. Contohnya, 3 mega pixel kamera digital dapat menghasilkan 3x106 angka untuk tiap foto. Sehingga untuk dua titik N berulang f[n] dan h[n]. Jika menghitung (f[n]⊛h[n]) secara langsung memerlukan sejumlah O(N2) operasi.

Perhitungan FFT -- O(NlogN) Perkalian FFT -- O(N)

Inverse FFT -- O(NlogN).

Total kompleksitas adalah O(NlogN).

Sedangkan Persamaan FFT adalah sebagai berikut ini:

X(f) = F{x(t)} = ∫ x(t)e π dt

FFT Sama seperti DFT yaitu memetakan perulangan dalam bentuk nilai diskrit-waktu kemudian direpresentasikan menjadi diskrit-frekuensi.

Ketika menggunakan DFT, transformasi Fourier pada tiap perulangan x, dimana x berbentuk nilai real atau komplek, selalu menghasilkan dalam sebuah keluaran perulangan nilai komplek X sesuai dengan persamaan berikut:

F(x) = X = X + jX = Re{X} + jIm{X}

Suatu hal yang tidak dipisahkan dengan properti DFT berikut ini:

X = X

Dimana elemen (n-i) dari X berisi hasil –i yang harmonik. Selanjutnya jika x real, maka i harmonik dan –i harmonik adalah bernilai komplek konjugate:

X = X = X

Konsekuensinya,

Re(X ) = Re(X ) dan

Im(X ) = −Im(X )

Properti Fourier yang simetris ini adalah perulangan real mengacu sebagai simetri konjugate simetris atau genap-simetris, dan anti-simetris atau ganjil-simetris Penggunaan FFT untuk analisa frekuensi menandakan dua relasi penting , yaitu:

1) Relasi pertama yaitu frekuensi tertinggi dapat dianalisa (Fmax) dengan frequensi sampling ( fs ).

F =

2) Relasi kedua yaitu resolusi frekuensi ( f ) sampai total waktu akuisisi (T), yang berhubungan dengan frekeunsi sampling ( fs ) dan ukuran blok FFT (N).

Δf = =

Keluaran spektrum FFT bernilai komplek, sehingga setiap komponen frekuensi memiliki sebuah amplitudo dan fasa. Nilai fasa tergantung waktu perekaman, atau tergantung dari gelombang cosinus yang dimulai pada waktu pertama perekaman. Pengukuran chanel satu fasa bernilai stabil hanya jika sinyal input dibangkitkan. Sedangkan pengukuran dua chanel fasa perhitungan perbedaan fasa berbeda antara chanel-chanel lain sehingga jika chanel secara simultan disample, pembangkitan biasanya tidak penting. Untuk mencari amplitudo dapat diperoleh dengan persamaan berikut:

A[k] = Re(X[k]) + Im(X[k])

Dan fasa dihitung dengan persamaan:

Fasa(X[k]) = arctan ( [ ])( [ ]) .

2.5.1.4. Mel-Frequency wrapping: tahap ini merupakan proses pengfilteran dari

spektrum setiap frame yang diperoleh dari tahapan sebelumnya, menggunakan sejumlah M filter segitiga dengan tinggi satu. Filter ini dibuat dengan mengikuti persepsi telinga manusia dalam menerima suara. Persepsi ini dinyatakan dalam skala ’mel’ (berasal dari Melody) yang mempunyai hubungan tidak linear dengan frekuensi suara, Dalam hal ini skala mel-frequency adalah linear untuk frekuensi kurang dari 1000 Hz dan logaritmik untuk frekuensi di atas 1000 Hz. Satu relasi antara frekuensi bunyi (dalam Hz) dengan skala mel adalah,

= 2569 ∗ 1 + 700

Grafik relasi di atas disajikan pada Gambar dibawah ini.

Gambar 2.12: Suatu Filter Segitiga ke i dengan Tinggi 1

2.5.1.5.Cepstrum : Pada tahap ini dilakukan konversi dari koefisien spektrum mel kembali ke domain waktu menggunakan transformasi kosinus berikut :

= cos ∗( − 0.5) ∗

20

dengan j = 1, 2, 3,…,K; K adalah banyaknya koefisien MFCC yang diinginkan; M adalah banyaknya filter segitiga; Xi adalah koefisien spektrum mel yang diperoleh dengan Pers. (2). Dalam hal ini Cj disebut sebagai koefisien ke j dari mel frequency cepstrum coefficients (MFCC).

2.5.2 Vector Quantization

Vector Quantization adalah proses untuk memetakan vektor dari ruang vector yang sangat luas, menjadi region-region dengan jumlah terbatas di dalam ruang itu. Setiap region disebut cluster, dan dapat direpresentasikan dengan intinya, yang disebut codeword. Kumpulan dari codeword adalah codebook.

Jarak vektor ke codeword yang terdekat dalam suatu codebook disebut VQdistortion. Dalam fase pengenalan, suara seorang pembicara yang tak dikenal di-“vector quantize” menggunakan codebook, lalu total VQ-distortion dihitung.

VQ-distortion dengan codeword yang terkecil diidentifikasi sebagai pembicaranya.

Namun, dalam aplikasi ini, permasalahannya sedikit berbeda. Algoritma Vector Quantization yang sebenarnya, digunakan untuk mengidentifikasi suara pembicara tidak dikenal dengan beberapa sample suara dari pembicara yang berbeda, yang sudah disimpan sebelumnya (dalam codebook). Namun dalam

aplikasi ini, suara pembicara yang disimpan hanya satu. Yaitu si pelaku enkripsi.

Dalam Vector Quantization, VQ-distortion di-inisialisasikan sebagai infinite.

Kemudian, jika ditemukan VQ-distortion yang lebih kecil dari sebelumnya dalam suatu pengulangan, VQ-distortion itu akan disimpan. Jadi, VQ-distortion yang terkecil yang akan muncul sebagai pembicara yang di-identifikasi. Sedangkan pada aplikasi ini, algoritma tersebut diubah sedikit menjadi: Hitung nilai VQ-distortion. Jika VQ-distortion-nya cukup kecil, maka kembalikan nilai true.

Dalam mengaplikasikan metode Vector Quantization pada aplikasi pengenalan pembicara, jumlah centroid yang paling optimal adalah 16 buah untuk memudahkan dalam pencarian Euclidean Distance.

BAB III PEMBAHASAN

3.1 Gambaran Umum Sistem

Aplikasi yang kami namakan ”Miracle Voice Data Protection” ini, mempunyai alur program sebagai berikut:

Gambar 3.1 Skema Sistem

Aplikasi Miracle Voice Data Protection ini diawali dengan dua pilihan, yaitu Enkripsi dan Dekripsi. Untuk melakukan enkripsi pada file, langkah-langkahnya adalah: pilih file yang akan di-enkripsi, rekam suara, lalu membaca MD5 atau signature yang berguna sebagai kunci blowfish file. Setelah itu file akan dienkripsi oleh program menggunakan metode blowfish dengan kunci MD5 yang telah kita dapatkan tadi. Lalu file master akan dihapus dan file enkripsi dirubah ekstensi menjadi (.mvdp)

Untuk melakukan deskripsi file langkah-langkahnya adalah pilih file yang telah dienkripsi dan harus berekstensi (.mvdp) lalu rekam suara yang akan digunakan untuk membuka file setelah direkam maka suara tadi akan dicocokan dengan suara yang kita rekam sebelumnya sebagai password apabila kedua file tersebut cocok maka proses deskripsi akan dilanjutkan dan file akan dikembalikan ke nama dan ekstensi sebelumnya. Apabila suara yang kita rekam tidak cocok dengan suara password maka proses deskripsi akan dihentikan dan harus merekam suara lagi.

3.2 Proses Enkripsi

Proses Enkripsi terdiri dari beberapa langkah, sesuai dengan Gambar 3.1.

Detil dari langkah-langkah tersebut akan dijabarkan disini.

3.2.1 Pemilihan File

File yang akan di-enkripsi bisa berupa file apa saja, kecuali file hasil dekripsi.

Ukuran file tidak dibatasi, namun, sebaiknya ukuran file tidak terlalu besar dan nama file jangan terlalu panjang. Seratus Mega byte adalah limit yang direkomendasikan. File ini nantinya akan dihapus, dan digantikan dengan file yang sudah di-enkripsi. Dalam melakukan pemilihan file, user akan menggunakan dialog untuk membuka file, yang umum digunakan dalam system operasi Windows.

3.2.2 Perekaman Suara

Untuk merekam suara, user perlu menekan tombol record, dan Miracle Voice Data Protection akan merekam suara melalui microphone selama 5 detik.

Bila user merasa perekamannya kurang baik, ia dapat menekan tombol record kembali, untuk merekam ulang. Hasil perekaman suara akan disimpan sementara di folder enskrip yang berada difolder aplikasi. Perekaman suara harus dilakukan dengan mendekatkan mikrofon ke mulut, dan mengucapkan passwordnya dengan cukup keras, sehingga nantinya akan memudahkan dalam melakukan pengenalan.

Dan akan lebih baik jika dalam melakukan perekaman, kondisi ruangan tidak bising.Sebaiknya, password diucapkan dengan nada yang datar, atau dengan nada yang biasa dan tidak dibuat-buat. Ini penting karena jika nada yang dipakai dalam enkripsi dan dekripsi terlampau berbeda, pengenalan akan tidak dapat untuk dilakukan.

3.2.3 Enkripsi Blowfish

Setelah suara disimpan, berarti file sudah siap di-enkripsi. Enkripsi dilakukan dengan metode Blowfish dengan kunci MD5 (digital signature) dari file, yang mempunyai tingkat keamanan tinggi dan tidak dipatenkan. Baris program

untuk enkripsi Blowfish ini akan ditulis dalam Visual Basic, karena operasi yang diperlukan hanya operasi-operasi byte seperti XOR.

3.2.4 Penyimpanan File Hasil Enkripsi

Setelah file selesai di-enkripsi, file tersebut akan ‘berubah’ menjadi file berekstensi .mvdp (Miracle Voice Data Protection). Artinya adalah, file ekstensi asli akan dihapus, dan file berekstensi .mvdp akan dibuat untuk menggantikannya.

User harus menyimpan file ini. Jika user mencoba membuka file hasil enkripsi dengan program seperti Notepad, yang akan muncul adalah deretan karakter-karakter aneh yang tidak dapat dibaca.

3.3 Proses Dekripsi

Proses dekripsi terdiri dari beberapa langkah, sesuai dengan Gambar 3.1.

Detil dari langkah-langkah tersebut akan dijabarkan disini.

3.3.1 Pemilihan file

File yang dapat dipilih untuk di-dekripsi adalah file dengan ekstensi .mvdp Open File Dialog akan memakai filter agar hanya file tersebut yang dapat dibuka.

mvdp adalah kependekan dari Miracle Voice Data Protection. Sehingga, user dapat mengidentifikasi file tersebut sebagai file yang terenkripsi. Untuk melakukan dekripsi, file tersebut harus mempunyai file suara yang disimpan pada folder enskrip terletak di folder aplikasi dengan ekstensi Wav. File tersebut berisi suara yang akan digunakan sebagai password untuk mendeskripsi file. Jika salah satu file hilang, maka dekripsi tidak dapat dilakukan.

3.3.2 Perekaman Suara

Proses perekaman suara sama dengan yang terdapat pada enkripsi. User harus mengucapkan password-nya dengan jelas dan cukup keras, dengan mendekatkan mikrofon ke mulut. Suasana ruangan pun harus tidak bising, untuk memudahkan dalam melakukan pengenalan. Dalam mengucapkan password, user harus mengucapkannya dengan nada yang mirip seperti yang diucapkan saat melakukan enkripsi. Hal ini diperlukan karena pengenalan dilakukan dengan berbasis frekuensi. Maka apabila beda frekuensi dan amplitudonya terlalu jauh, meskipun kata yang diucapkan sama, user tidakakan dikenali. Untuk mencegah hal yang tidak dinginkan, sebaiknya password diucapkan dengan nada yang biasa atau datar.

3.3.3 Feature Extraction

Ekstraksi ciri (feature extraction), yaitu dengan MFCC (Mel-frequency Cepstrum Coefficients) dan dilanjutkan dengan Vector Quantization. untuk dibandingkan dengan vektor suara pada saat enkripsi, agar bisa dilakukan pengenalan atau verifikasi, apakah pemilik suara tersebut berhak membuka file atau tidak. Yang dibandingkan adalah Euclidean Distance-nya, yang merupakan langkah berikutnya dari proses dekripsi ini.

3.3.4 Perhitungan Euclidean Distance

Dalam metode Vector Quantization, untuk melakukan pengenalan perlu

Dalam metode Vector Quantization, untuk melakukan pengenalan perlu

Dokumen terkait