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