• Tidak ada hasil yang ditemukan

AUDIO FINGERPRINTING MENGGUNAKAN SHORT TIME FOURIER TRANSFORM UNTUK MENINGKATKAN AKURASI IDENTIFIKASI LAGU SKRIPSI NUR ANNISA

N/A
N/A
Protected

Academic year: 2022

Membagikan "AUDIO FINGERPRINTING MENGGUNAKAN SHORT TIME FOURIER TRANSFORM UNTUK MENINGKATKAN AKURASI IDENTIFIKASI LAGU SKRIPSI NUR ANNISA"

Copied!
101
0
0

Teks penuh

(1)

IDENTIFIKASI LAGU

SKRIPSI

NUR ANNISA 131401121

PROGRAM STUDI S-1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2020

(2)

IDENTIFIKASI LAGU

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer

NUR ANNISA 131401121

PROGRAM STUDI S-1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2020

(3)
(4)

PERNYATAAN

AUDIO FINGERPRINTING MENGGUNAKAN SHORT TIME FOURIER TRANSFORM UNTUK MENINGKATKAN AKURASI

IDENTIFIKASI LAGU

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 31 Januari 2020

Nur Annisa 131401121

(5)

UCAPAN TERIMA KASIH

Puji syukur penulis panjatkan kepada Allah Subhaanahu wa ta’aala atas segala rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan laporan penelitian (skripsi) ini sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S-1 Ilmu Komputer Universitas Sumatera Utara. Shalawat dan salam penulis hadiahkan teruntuk Nabi Muhammad Shallallaahu’alaihi wa sallam sebagai sosok manusia terbaik di muka bumi yang senantiasa menjadi inspirasi dan suri tauladan bagi penulis. Penulis juga menyampaikan rasa hormat dan terima kasih yang sebesar-besarnya kepada :

1. Bapak Prof. Dr. Runtung Sitepu, S.H., M. Hum. selaku Rektor Universitas Sumatera Utara (USU);

2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc. selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara (Fasilkom-TI USU);

3. Ibu Dr. Elviawaty Muisa Zamzami, S.T., M.T., M.M. selaku Wakil Dekan I Fakultas Ilmu Komputer dan Teknologi Universitas Sumatera Utara (Fasilkom-TI USU) yang telah memberikan dorongan dan motivasi kepada penulis dalam pengerjaan skripsi ini;

4. Bapak Dr. Poltak Sihombing, M.Kom. selaku ketua Program Studi S-1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara sekaligus dosen pembimbing yang telah memberikan bimbingan, saran dan dukungan kepada penulis dalam pengerjaan skripsi ini;

5. Bapak Drs. Dahlan Sitompul, M.Eng. selaku dosen pembimbing yang telah memberikan kritik, saran, dan dukungan dalam penyusunan skripsi ini;

6. Seluruh tenaga pengajar di Program Studi S-1 Ilmu Komputer yang telah berdedikasi tinggi memberikan ilmu dan pelajaran yang sangat berarti bagi penulis selama masa perkuliahan;

7. Seluruh pegawai yang telah bekerja keras dalam membantu penulis menjalani proses perkuliahan di Program Studi S-1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara;

(6)

8. Ibunda Asma dan Ayahanda Herman atas kasih sayang dan jasa besarnya dalam merawat dan mendidik penulis hingga akhirnya mampu mencapai tahapan hidup saat ini;

9. Seluruh keluarga dan saudara terutama kepada Elsa Krismonti (adik) dan Fatma Sari (adik) yang telah memberikan banyak dukungan kepada penulis untuk bisa menyelesaikan skripsi;

10. Seluruh teman perkuliahan terutama kepada sahabat terkasih Sari, Sihar, Atika, Putri, Windi, Cut, Nur, Lili, Sasti, Resti, Ani, Purnama, dan Desi yang selalu memberikan dukungan dan semangat baru;

11. Dan semua pihak yang telah banyak membantu dalam pengerjaan skripsi ini yang tentu tidak dapat disebutkan satu persatu.

Semoga kebaikan, dukungan, dan perhatian yang telah diberikan kepada penulis selama ini mendapat balasan pahala, berkah dan rahmat dari Allah Subhaanahu wa ta’aala.

Medan, Januari 2020

Penulis

(7)

ABSTRAK

Audio fingerprinting adalah metode yang digunakan untuk mengekstrak sidik jari dari sebuah file audio. Sama halnya dengan sidik jari manusia, sidik jari dari sebuah file audio lagu juga merupakan bagian kecil dari kesuluruhan audio lagu tersebut. Sidik jari audio dapat digunakan untuk mengidentifikasi sebuah lagu. Untuk mendapatkan hasil identifikasi lagu yang akurat, sidik jari audio yang digunakan haruslah unik dan robust. Salah satu fitur audio dari sebuah lagu yang dapat dijadikan sebagai sidik jari audio yang unik dan robust adalah peak frequency yaitu frekuensi yang memiliki magnitudo tertinggi di antara frekuensi-frekuensi lainnya dalam rentang frekuensi tertentu. Untuk mendapatkan peak frequency, sinyal audio lagu ditransformasikan dari domain waktu ke domain waktu-frekuensi menggunakan algoritma STFT (Short Time Fourier Transform). Sistem identifikasi lagu yang dibangun dengan metode audio fingerprinting menggunakan algoritma STFT dapat mengidentifikasi rekaman 2 detik dari sebuah lagu yang sudah terdistorsi oleh derau dan hanya dapat mengidentifikasi lagu yang ada di dalam basis data. Parameter yang digunakan untuk mengukur akurasi identifikasi lagu adalah precision dan specificity. Berdasarkan hasil pengujian, nilai precision yang didapatkan adalah 100% dan nilai nilai specificity yang didapatkan adalah 86%.

Katak kunci: Audio Fingerprinting, Short Time Fourier Transform (STFT), Identifikasi lagu

(8)

AUDIO FINGERPRINTING USING SHORT TIME FOURIER TRANSFORM TO IMPROVE THE ACCURACY OF SONG IDENTIFICATION

ABSTRACT

Audio fingerprinting is a method to extract fingerprint of an audio file. Just like human‟s fingerprint, the fingerprint of a song audio file is also a small part of the whole audio file. Audio fingerprint can be used to identify a song. To get an accurate result of song identification, the song fingerprint has to be unique and robust. One of the unique and robust audio features of a song is peak frequency, a frequency with the highest magnitude among other frequencies in a certain frequency range. To get peak frequency, audio signal of a song is transformed from time domain to time-frequency domain using STFT (Short Time Fourier Transform) algorithm. The song identification system built with audio fingerprinting method using STFT algorithm is capable of identifying 2 seconds recording of a song that has been distorted by noise and only capable of identifying songs that are already present in the database. The parameters used to measure the accuracy of song identification are precision and specificity. Based on the test results, the value of precision is 100% and the value of specificity is 86%.

Keywords: Audio Fingerprinting, Short Time Fourier Transform (STFT), Song Identification

(9)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Ucapan Terima Kasih iv

Abstrak vi

Abstract vii

Daftar Isi viii

Daftar Gambar xi

Daftar Tabel xiii

BAB 1 PENDAHULUAN 1

1.1. Latar Belakang 1

1.2. Rumusan Masalah 2

1.3. Batasan Masalah 2

1.4. Tujuan Penelitian 2

1.5. Manfaat Penelitian 3

1.6. Metodologi Penelitian 3

1.7. Sistematika Penulisan 4

BAB 2 LANDASAN TEORI 5

2.1. Lagu 5

2.2. Suara 5

2.3. Sinyal Analog dan Sinyal Digital 6

2.4. Sampling 7

2.5. File WAV 7

2.6. File MP3 9

2.7. Representasi Sinyal 10

2.8. Identifikasi Lagu 11

2.9. Audio Fingerprinting 12

2.10. Fourier Transform 13

2.11. Short Time Fourier Transform 13

2.11.1. Frame Blocking 14

2.11.2. Windowing 15

2.11.3. Discrete Fourier Transform (DFT) 16

2.11.4. Fast Fourier Transform (FFT) 17

2.11.5. Spektrogram 20

2.12. Ekstraksi Fingerprint 21

2.13. Tabel Hash 23

2.14. Matching 25

(10)

2.15. Pengukuran Akurasi Algoritma 27

2.16. Penelitian Terdahulu 28

BAB 3 ANALISIS DAN PERANCANGAN SISTEM 30

3.1. Analisis Sistem 30

3.1.1. Analisis Masalah 30

3.1.2. Analisis Kebutuhan 32

3.1.2.1. Kebutuhan Fungsional 32

3.1.2.2. Kebutuhan Non-fungsional 32

3.1.3. Analisis Proses 33

3.1.3.1. Pre-processing 34

3.1.3.2. Short Time Fourier Transform 34

3.1.3.3. Ekstraksi fingerprint 38

3.1.3.4. Matching 38

3.2. Perancangan Sistem 39

3.2.1. Pemodelan Sistem 39

3.2.1.1. Use Case Diagram 39

3.2.1.2. Activity Diagram 41

3.2.1.3. Sequence Diagram 43

3.2.1.4. Entity Relationship Diagram (ERD) 45

3.2.2. Flowchart 46

3.2.2.1. Flowchart Sistem 46

3.2.2.2. Flowchart Short Time Fourier Transform 47 3.2.3. Perancangan Antarmuka (Interface) 47 3.2.3.1. Rancangan Aplikasi Android 47 3.2.3.2. Rancangan Aplikasi Desktop 51

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 54

4.1. Implementasi Sistem 54

4.1.1. Aplikasi Android 54

4.1.1.1. Halaman Identify 54

4.1.1.2. Halaman History 56

4.1.1.3. Halaman About 56

4.1.2. Aplikasi Desktop 57

4.1.2.1. Halaman Manage Database 57

4.1.2.2. Halaman About 61

4.1.3. Aplikasi Web Java 62

4.2. Pengujian Sistem 62

4.2.1. Insert Referensi 62

4.2.2. Peluncuran Server 63

4.2.3. Identifikasi Lagu 64

4.2.4. Hasil Pengujian Identifiable Query 68 4.2.5. Hasil Pengujian Unidentifiable Query 69

4.2.6. Analisis Hasil Pengujian Sistem 70

(11)

BAB 5 KESIMPULAN DAN SARAN 71

5.1. Kesimpulan 71

5.2. Saran 71

DAFTAR PUSTAKA 72

LAMPIRAN 74

(12)

DAFTAR GAMBAR

Halaman Gambar 2.1. Gelombang sinus dengan frekuensi 5 Hz 6 Gambar 2.2. Bentuk sinyal analog (atas) dan sinyal digital (bawah) (Sipasulta,2014) 7 Gambar 2.3. Representasi sinyal domain frekuensi 11

Gambar 2.4. Diagram Blok STFT 14

Gambar 2.5. Frame blocking 14

Gambar 2.6. Tahap divide pada FFT 18

Gambar 2.7. Diagram butterfly 19

Gambar 2.8. Diagram Butterfly untuk N=8 20

Gambar 2.9. Spektrogram 21

Gambar 2.10. Peak frequency yang terdeteksi dari sebuah lagu 22

Gambar 2.11. Contoh pembentukan fingerprint 23

Gambar 2.12. Open hashing 24

Gambar 2.13. Pasangan key dan Value 25

Gambar 2.14. Proses matching terhadap kumpulan landmark (fingerprint) sebuah lagu referensi. Segi empat kecil mewakili setiap landmark. 26 Gambar 2.15. Contoh jumlah landmark untuk setiap delta 27

Gambar 3.1. Diagram Ishikawa 31

Gambar 3.2. Proses identifikasi lagu. 33

Gambar 3.3. Diagram Butterfly FFT untuk N = 4 36

Gambar 3.4. Use case diagram sistem identifikasi lagu 39

Gambar 3.5. Activity diagram Identifikasi Lagu. 42

Gambar 3.6. Activity diagram Insert Lagu Referensi 43

Gambar 3.7. Sequence diagram Identifikasi lagu 44

Gambar 3.8 Sequence diagram Insert Lagu Referensi 45 Gambar 3.9. ERD basis data sistem identifikasi lagu 45

Gambar 3.10. Flowchart Sistem 46

Gambar 3.11. Flowchart Short Time Fourier Transform (STFT) 47 Gambar 3.12. Rancangan antarmuka halaman identify 48 Gambar 3.13. Rancangan antarmuka halaman history 49

(13)

Gambar 3.14. Rancangan antarmuka halaman about aplikasi android 50 Gambar 3.15. Rancangan antarmuka halaman Manage Database 51 Gambar 3.16. Rancangan antarmuka halaman About aplikasi desktop 52

Gambar 4.1. Halaman identify. 55

Gambar 4.2. Notifikasi untuk memeriksa koneksi internet 55

Gambar 4.3. Halaman history 56

Gambar 4.4. Halaman about 57

Gambar 4.5. Halaman manage database 58

Gambar 4.6. Kotak dialog untuk memilih koleksi lagu referensi 59 Gambar 4.7. Daftar Koleksi lagu yang berhasil di masukkan ke dalam basis data 59 Gambar 4.8. Kotak dialog konfirmasi hapus lagu referensi 60

Gambar 4.9. Lagu berhasil dihapus 61

Gambar 4.10. Halaman about 61

Gambar 4.11. Tabel song_catalog 63

Gambar 4.12. Hash dan value dari fingerprint (sidik jari) lagu Kiroro - Mother. 63 Gambar 4.13. Sample lagu rekaman Kiroro - Mother. 64 Gambar 4.14. Hasil pengalian sample dengan fungsi Hamming Window. 65 Gambar 4.15. Hasil Fast Fourier Transform sample lagu Kiroro-Mother. 65 Gambar 4.16. Peak frequency rekaman lagu Kiroro-Mother. 66 Gambar 4.17. Fingerprint rekaman lagu Kiroro-Mother. 67 Gambar 4.18. Sistem identifikasi lagu berhasil mengidentifikasi lagu 67 Gambar 4.19. Hasil identifikasi lagu yang tidak terdapat di dalam basis data. 68

(14)

DAFTAR TABEL

Halaman

Tabel 2.1. Struktur file WAV 9

Tabel 2.2. Bit-reverse indeks n dengan 19

Tabel 2.3. Penelitian terdahulu yang relevan 28

Tabel 3.1. Bit-reverse indeks n dengan N= 4 36

Tabel 3.2. Magnitudo frekuensi 38

Tabel 3.3. Spesifikasi use case identifikasi lagu 40

Tabel 3.4. Spesifikasi insert lagu referensi 40

Tabel 3.5. Spesifikasi use case delete lagu referensi 41

Tabel 3.6. Spesifikasi use case lihat history 41

Tabel 3.7. Keterangan gambar rancangan antarmuka halaman identify 48 Tabel 3.8. Keterangan gambar rancangan antarmuka halaman history 49 Tabel 3.9. Keterangan gambar rancangan antarmuka halaman about 50 Tabel 3.10. Keterangan gambar rancangan antarmuka halaman Manage Database 51

Tabel 3.11. Keterangan antarmuka halaman About 53

Tabel 4.1. Hasil pengujian identifiable query 68

Tabel 4.2. Hasil pengujian unidentifiable query 69

Tabel 4.3. Tingkat akurasi identifikasi lagu berdasarkan precision dan specificity 70

(15)

1.1. Latar Belakang

Lagu adalah elemen yang selalu mewarnai kehidupan sehari-hari manusia. Lagu dapat didengar di manapun, baik di rumah, di jalan, di dalam kendaraan umum, di restoran, di kafe, dan sebagainya. Banyaknya lagu yang tercipta memungkinkan lagu-lagu yang sedang diputar adalah lagu-lagu yang tidak dikenali. Terkadang diantara lagu-lagu tersebut terdapat lagu yang terdengar menarik dan membuat seseorang ingin mengetahui judul serta penyanyinya untuk dapat diunduh.

Untuk mengetahui judul dan penyanyi sebuah lagu yang tidak dikenali, dapat dilakukan dengan bertanya kepada orang lain, atau dengan menggunakan lirik lagu tersebut sebagai keyword pencarian di search engine (mesin telusur). Namun terkadang orang yang juga ditanya tidak mengetahui judul lagu tersebut atau lagu tersebut tidak memiliki lirik sama sekali seperti lagu instrumental, sehingga diperlukan cara lain untuk mencari identitas lagu yang tidak dikenal. Masalah ini dapat diselesaikan dengan menggunakan sistem identifikasi lagu. Sistem identifikasi lagu mampu mengenali sebuah lagu hanya dengan merekaman lagu tersebut dalam beberapa detik saja.

Lagu merupakan sinyal suara, sehingga lagu juga memiliki karakteristik- karakteristik sinyal suara yang ditentukan oleh amplitudo dan frekuensi. Karakteristik- karakteristik ini dapat digunakan untuk mengidentifikasi sebuah lagu. Untuk meningkatkan akurasi hasil identifikasi sebuah lagu, karakteristik sinyal suara lagu yang digunakan haruslah unik atau berbeda-beda antara satu lagu dengan lagu lainnya.

Selain itu, query berupa rekaman lagu biasanya direkam di tempat yang memiliki derau sehingga karakteristik sinyal suara lagu yang digunakan juga harus robust atau tahan terhadap degradasi sinyal akibat derau. Karakteristik unik dan robust sinyal suara lagu ini biasa disebut sebagai fingerprint (sidik jari) lagu.

(16)

Proses yang dilakukan untuk mengekstrak fingerprint sebuah lagu disebut sebagai Audio Fingerprinting. Untuk mengekstrak fingerprint sebuah lagu diperlukan transformasi representasi sinyal dari domain waktu menjadi domain waktu-frekuensi atau Time-Frequency Representation (TFR). Salah satu algoritma yang paling sering digunakan untuk mengubah representasi sinyal dari domain waktu menjadi domain waktu-frekuensi adalah algoritma Short Time Fourier Transform (STFT).

1.2. Rumusan Masalah

Rumusan masalah pada penelitian ini adalah bagaimana mengekstrak fingerprint sinyal suara lagu agar hasil identifikasi lagu lebih akurat.

1.3. Batasan Masalah

Untuk menghindari penyimpangan atau perluasan yang tidak diperlukan dalam penelitian, maka penelitian ini dibatasi dengan cakupan sebagai berikut:

1. Bahasa pemrograman yang digunakan adalah Java.

2. Query berupa rekaman lagu selama 2 detik, baik bagian awal, pertengahan maupun akhir lagu.

3. Format query lagu yang direkam adalah WAV mono, 16 bit dengan samplerate 8000 Hz.

4. Format lagu-lagu yang dijadikan sebagai referensi adalah MP3.

5. Sistem identifikasi lagu yang dirancang dapat mengenali lagu yang direkam di tempat yang memiliki derau.

6. Parameter yang digunakan untuk menguji akurasi hasil identifikasi lagu adalah precision dan specificity.

1.4. Tujuan Penelitian

Tujuan penelitian ini adalah mengetahui pengaruh Audio Fingerprinting menggunakan algoritma Short Time Fourier Transform terhadap akurasi hasil identifikasi lagu.

(17)

1.5. Manfaat Penelitian

Manfaat dari penelitian ini adalah tersedianya sistem identifikasi lagu berbasis android untuk mengenali lagu-lagu yang sedang diputar disekitar pengguna.

1.6. Metodologi Penelitian

Penelitian ini menerapkan beberapa metode penelitian sebagai berikut:

1. Studi Literatur

Pada tahap ini penulisan dimulai dengan studi kepustakaan yaitu proses pengumpulan bahan-bahan referensi baik dari buku-buku, artikel-artikel, maupun dari hasil penelitian sebelumnya mengenai Identifikasi Lagu, Audio Fingerprinting,dan algoritma Short Time Fourier Transform (STFT).

2. Analisis Data

Pada tahap ini dilakukan analisis data yang berhubungan dengan cara kerja Identifikasi Lagu, Audio Fingerprinting,dan algoritma Short Time Fourier Transform (STFT).

3. Perancangan Sistem

Pada tahap ini dilakukan perancangan sistem dengan flowchart,UML,dan perancangan User Interface.

4. Implementasi Sistem

Audio Fingerprinting dengan menggunakan Algoritma Short Time Fourier Transform(STFT) diimplementasikan untuk membuat sistem identifikasi lagu berbasis android, desktop (client-side), dan web (server-side) menggunakan bahasa java.

5. Pengujian Sistem

Pada tahap ini akan dilakukan pengujian terhadap sistem yang telah dikembangkan untuk mengetahui apakah sistem yang dibuat telah berhasil berjalan sesuai dengan keinginan dan melakukan perbaikan apabila masih terdapat kesalahan pada sistem identifikasi lagu.

6. Dokumentasi Sistem

Melakukan pembuatan dokumentasi sistem mulai dari tahap awal hingga pengujian sistem, untuk selanjutnya dibuat dalam bentuk laporan penelitian (skripsi).

(18)

1.7. Sistematika Penulisan

Agar pembahasan menjadi lebih sistematis, skripsi ini dibuat dalam lima bab, meliputi:

BAB I PENDAHULUAN

Bab ini berisi latar belakang penelitian judul skripsi “Audio Fingerprinting Menggunakan Short Time Fourier Transform untuk Meningkatkan Akurasi Identifikasi Lagu”, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan skripsi ini.

BAB II LANDASAN TEORI

Bab ini berisi penjelasan singkat mengenai identifikasi lagu dan teori – teori yang berhubungan dengan Audio Fingerprinting seperti, algoritma Short Time Fourier Transform (STFT), ektraksi fingerprint, tabel hash, matching, pengukuran akurasi algoritma dan beberapa penelitian terdahulu yang relevan.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi uraian dari analisis sistem identifikasi lagu dengan metode audio fingerprinting menggunakan algoritma Short Time Fourier Transform(STFT) yang terdiri dari, analisis masalah, analisis kebutuhan, analisis proses, diagram Unified Modeling Language (UML), flowchart, dan desain antarmuka sistem.

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi penjelasan implementasi sistem identifikasi lagu berdasarkan analisis dan perancangan sistem, skenario pengujian terhadap sistem yang telah dibangun serta pembahasan hasil pengujian.

BAB V KESIMPULAN DAN SARAN

Bab terakhir akan memuat kesimpulan dari keseluruhan uraian penjelasan bab-bab sebelumnya dan saran-saran berdasarkan hasil pengujian yang diharapkan dapat bermanfaat dalam pengembangan sistem selanjutnya.

(19)

BAB 2

LANDASAN TEORI

2.1. Lagu

Lagu adalah karya seni berupa suara. Lagu dinyanyikan oleh satu atau lebih penyanyi dan diiringi dengan alat musik. Penyanyi dan alat musik tersebut menghasilkan suara berupa kombinasi dari gelombang-gelombang sinus dengan berbagai frekuensi dan amplitudo.

2.2. Suara

Suara adalah sinyal atau gelombang yang merambat di udara dengan frekuensi dan amplitudo tertentu. Selain melalui udara gelombang suara juga dapat merambat melalui media padat, dan cair. Gelombang suara merambat paling cepat di media padat dan tidak dapat merambat di ruang hampa.

Karakteristik gelombang suara ditentukan oleh frekuensi dan amplitudo.

Frekuensi adalah jumlah siklus gelombang suara yang terjadi dalam satu detik.

Frekuensi akan semakin tinggi apabila getaran gelombang suara semakin cepat.

Misalnya apabila seseorang bernyanyi dengan pitch yang tinggi akan memaksa pita suara untuk bergetar lebih cepat sehingga menghasilkan gelombang suara dengan frekuensi yang tinggi. Satuan dari Frekuensi adalah Herzt atau disingkat dengan Hz.

Standar frekuensi gelombang suara yang dapat didengar oleh manusia berada diantara 20Hz sampai dengan 20kHz. Frekuensi ini disebut sebagai Frekeunsi Audio.

Amplitudo adalah jarak simpangan terjauh dari titik kesetimbangan sebuah gelombang. Satuan amplitudo adalah desibel (dB). Amplitudo menentukan kuat lemahnya suara, semakin besar amplitudo maka semakin keras suara yang terdengar.

Gelombang suara dapat dimodelkan dengan gelombang sinus seperti yang terlihat pada Gambar 2.1.

(20)

Gambar 2.1. Gelombang sinus dengan frekuensi 5 Hz

Suara yang hanya memiliki satu gelombang sinus atau satu frekuensi saja disebut sebagai nada murni (pure tone). Hampir semua suara yang ada di alam adalah suara yang merupakan penjumlahan dari beberapa nada murni dengan amplitudo yang berbeda-beda.

2.3. Sinyal Analog dan Sinyal Digital

Sinyal adalah input dan output dari proses yang membawa informasi dalam suatu sistem. Berdasarkan bentuknya, data dan sinyal dapat dibedakan ke dalam sinyal analog dan sinyal digital. Suatu data atau sinyal dikatakan analog apabila amplitudo dari data atau sinyal tersebut terus-menerus ada dalam rentang waktu tertentu(kontinyu) dan memiliki variasi nilai amplitudo tak terbatas. Sebaliknya data atau sinyal dikatakan digital apabila amplitudo dari data atau sinyal tersebut tidak kontinyu atau diskrit dan memiliki variasi nilai amplitudo terbatas (Sipasulta, 2014).

Bentuk gelombang sinus dari sinyal analog adalah kontinyu sedangkan gelombang sinus dari sinyal digital biasanya berbentuk kotak-kotak. Bentuk sinyal analog dan sinyal digital dapat dilihat pada Gambar 2.2.

(21)

Gambar 2.2. Bentuk sinyal analog (atas) dan sinyal digital (bawah) (Sipasulta,2014) Sinyal digital dari suara diperoleh dari hasil sampling terhadap sinyal suara analog, dan disimpan di dalam sebuah media penyimpanan elektronik. Komputer hanya mampu mengenal sinyal dalam bentuk biner, maka hasil sampling sinyal suara digital disimpan dalam bentuk angka 0 dan 1. Sinyal suara digital dapat disimpan dalam berbagai format seperti WAV, MP3, AAC, FLAC, 3GP, dan sebagainya.

2.4. Sampling

Sampling adalah proses pengambilan sample dari sinyal analog dan diubah kedalam bentuk bit-bit digital. Proses ini disebut juga sebagai Analog to Digital Conversion (ADC).

Proses sampling sebuah sinyal suara pada frekuensi F membutuhkan sekurang- kurangnya dua titik sample agar dapat diidentifikasi, sehingga proses sampling harus memenuhi kriteria Nyquist, yaitu samplerate atau jumlah pencuplikan sample dalam satu detik terhadap sinyal dengan frekuensi tertinggi F Hz harus lebih atau sama dengan 2F Hz. Jika tidak, maka sinyal suara yang terekam akan berbeda dengan sinyal sumber (Binanto, 2010).

2.5. File WAV

WAV adalah format file standar yang digunakan untuk menyimpan data audio. File

(22)

yang sama dengan sumber audio. WAV jarang sekali digunakan di internet karena ukurannya yang relatif besar dengan batasan maksimal untuk file WAV adalah 2GB.

Suara yang dihasilkan dari proses sampling sinyal suara analog menjadi sinyal digital tergantung terhadap samplerate, bit-depth, dan jumlah channel. Samplerate atau frekuensi sampling menyatakan jumlah sample tiap detik. Dr.Nyquist dengan teoremanya yang dikenal dengan Nyquist Theorem atau Teorema Sampling mengatakan bahwa untuk melakukan sampling pada sinyal dengan maksimal frekuensi , harus dilakukan dengan samplerate minimal . Jika tidak maka frekuensi yang paling tinggi tidak akan dapat direpresentasikan dalam bentuk digital dengan benar. Samplerate yang sering digunakan adalah 8800hz, 11025Hz, 22050Hz, 44100Hz. Berdasarkan frekuensi tertinggi yang bisa didengar manusia, yaitu 20000Hz, standar samplerate yang paling banyak digunakan pada tahap sampling adalah 44100Hz.

Bit-depth adalah ukuran bit tiap sample, seperti 8-bit, 16-bit, 24-bit atau 32- bit. Bit-depth 8-bit memiliki variasi nilai amplitudo antara 0 sampai 255, sedangkan bit-depth 16-bit memiliki variasi nilai amplitudo antara -32768 sampai 32768.

Sehingga fila WAV dengan bit-depth 16-bit memiliki kualitas suara yang lebih baik dari pada bit-depth 8-bit.

Terdapat dua macam file WAV, yaitu mono dan stereo. Mono WAV adalah file WAV yang terdiri atas satu channel atau satu saluran saja. Sedangkan stereo WAV adalah file WAV yang terdiri atas dua channel, yaitu left channel dan right channel.

File WAV menggunakan struktur file RIFF (Resource Interchange File Format), yaitu struktur file yang dikembangkan oleh Microsoft dan IBM. Multy-byte data pada file RIFF disimpan dalam bentuk Little Endian, yaitu Least Significant Byte (LSB) disimpan pada alamat memori terkecil. Sebuah file RIFF mengelompokkan isi file (sample format, sample audio digital, dan lain sebagainya) menjadi “Chunk” yang terpisah, setiap bagian mempunyai header dan ukurannya masing-masing. Header berfungsi untuk menetapkan jenis file, samplerate, bit-depth dan ukuran file. Dengan metode pengaturan seperti ini maka program yang tidak mengenali jenis Chunk yang khusus dapat dengan mudah melewati bagian Chunk ini dan melanjutkan langkah memproses Chunk yang dikenalnya. Struktur file WAV dapat dilihat pada Tabel 2.1.

(23)

Tabel 2.1. Struktur file WAV Off-

set

Size Nama Field Deskripsi

0 4 ChunkID Terdiri atas kata “RIFF” dalam bentuk ASCII (0x52494646 dalam bentuk big-endian) 4 4 ChunkSize 36 + Subchunk2Size, atau lebih tepatnya :

4 + (8 + Subchunk1Size) + (8 + Subchunk2Size).

Ini adalah ukuran dari dari seluruh file dalam byte dikurangi dengan 8 byte untuk dua field yang tidak termasuk dalam hitungan : ChunkID dan

ChunkSize.

8 4 Format Terdiri atas kata “WAVE” (0x57415645 dalam bentuk big-endian).

12 4 Subchunk1ID Terdiri atas kata “fmt” (0x666d7420 dalam bentuk big-endiani)

16 4 Subchunk1Size 16 untuk PCM.

20 2 AudioFormat Tipe format, 1 adalah PCM. Nilai selain 1 mengindikasikan bentuk kompresi.

22 2 NumChannels Mono = 1,Stereo = 2.

24 4 SampleRate 8000 Hz,44100 Hz,dll.

28 4 ByteRate SampleRate * NumChannels * BitsPerSample / 8 32 2 BlockAlign NumChannels * BitsPersample / 8

34 2 BitsPerSample 8 bits = 8, 16 bits = 16,dan seterusnya.

36 4 Subchunk2ID Terdiri atas kata “data” ( 0x64617461 dalam bentuk big-endian)

40 4 Subchunk2Size NumSamples * NumChannels * BitsPerSample / 8 44 * Data Data suara sebenarnya.

2.6. File MP3

MP3 merupakan salah satu format file audio digital yang awalnya tersedia untuk PC (Personal Computer). Namun pada perkembangannya MP3 mulai memasuki dunia yang lebih luas, tidak terbatas hanya pada PC tetapi juga perangkat pemutar audio

(24)

digital layaknya CD. MP3 adalah singkatan dari MPEG Audio Layer-3, sebuah teknologi kompresi untuk file audio digital sehingga diperoleh ukuran file yang lebih kecil dibandingkan dengan format audio digital sebelumnya.

Proses kompresi dibedakan menjadi dua, yaitu lossy compression (setelah dekompresi ada data yang hilang) dan lossless compression (setelah dekompresi tidak ada data yang hilang). Kompresi MP3 termasuk lossy compression, sehingga apabila file MP3 didekompresi dan dijadikan sinyal analog, suara yang dihasilkan tidak sama dengan aslinya. Akan tetapi ketidaksamaan ini tidak dapat dirasakan oleh pendengaran manusia.

Format file MP3 mampu memberikan kualitas suara yang mendekati kualitas CD stereo dengan 16-bit. MP3 mengalami kejayaan pada tahun 1995, dimana semakin banyak file MP3 tersedia di internet dan popularitasnya semakin terdongkrak karena kualitasnya yang bagus dan kapasitas yang relatif sangat kecil. Kualitas suara file MP3 tergantung pada sebagian besar bitrate yang digunakan untuk kompresi. Bitrate yang sering digunakan biasanya berkisar antara 128, 160, 192, 256 dan 320 kbps. Semakin besar bitrate, semakin bagus kualitasnya, namun hal tersebut berpengaruh pada kebutuhan ruang dalam disk yang semakin besar pula. Untuk mendapati kualitas yang mendekati kualitas CD diperlukan bitrate 320 kbps.

2.7. Representasi Sinyal

Sinyal digital yang dihasilkan dari proses sampling biasanya direpresentasikan dalam domain waktu. Sinyal dalam domain waktu ketika diplot, salah satu sumbunya merepresentasikan waktu dan sumbu lain merepresentasikan amplitudo(dB) seperti yang terlihat pada Gambar 2.1.

Representasi sinyal dalam domain waktu biasanya bukanlah representasi sinyal yang baik untuk digunakan dalam penelitian yang berkaitan dengan bidang pengolahan sinyal. Dalam banyak kasus, informasi penting dari sebuah sinyal tersembunyi di dalam frekuensi dari sinyal tersebut, sehingga diperlukan representasi sinyal dalam domain frekuensi. Visualiasi dari sinyal domain frekuensi dapat dilihat pada Gambar 2.3.

(25)

Gambar 2.3. Representasi sinyal domain frekuensi

Representasi domain frekuensi sebuah sinyal mengandung informasi magnitudo(dB) setiap frekuensi dari sinyal tersebut. Magnitudo pada domain frekuensi menunjukan berapa banyak komponen frekuensi yang ada di dalam sinyal.

Intensitas atau magnitudo frekuensi sebuah sinyal suara berubah terhadap waktu, inilah yang membuat setiap suara alat musik atau suara penyayi unik atau berbeda dari yang lain. Jika sebuah lagu yang sama dinyanyikan oleh orang yang berbeda maka perubahan intensitas frekuensi dari sinyal digital lagu tersebut juga akan berbeda.

2.8. Identifikasi Lagu

Identifikasi Lagu (Song Recognition) adalah proses untuk mengetahui informasi berupa metadata dari sebuah lagu. Berikut adalah gambaran umum dari proses Identifikasi Lagu :

1. Audio fingerprint dari sejumlah lagu diekstrak dan disimpan ke dalam basis data beserta judul dan nama penyanyi masing-masing lagu.

2. Pengguna merekam beberapa detik dari lagu yang akan diidentifikasi

3. Fingerprint dari rekaman lagu dikirim ke server untuk selanjutnya dibandingkan dengan fingerprint lagu referensi.

4. Jika lagu yang cocok dengan rekaman ditemukan, maka informasi judul beserta penyanyi lagu akan ditampilkan. Apabila tidak ada lagu yang cocok maka pesan lagu tidak ditemukan akan ditampilkan.

(26)

Berdasarkan penelitian terdahulu sistem identifikasi lagu yang ideal harus memenuhi syarat sebagai berikut:

1. Robust

Sebuah algoritma Identifikasi Lagu yang baik harus bisa mengidentifikasi rekaman lagu yang terdegradasi oleh derau.

2. Granularity

Sistem identifikasi lagu mampu mengenali query berupa rekaman beberapa detik lagu, baik rekaman di bagian awal, pertengahan, maupun di bagian akhir lagu.

3. Precision

False positive atau kesalahan dalam mengidentifikasi lagu harus sedikit.

4. Scalability

Kemampuan sistem dalam menemukan fingerprint lagu referensi yang cocok dengan fingerprint lagu rekaman harus cepat dengan waktu konstan yaitu O(1).

5. Specificity

Algoritma identifikasi lagu hanya dirancang untuk mengidentifikasi lagu yang terdapat di dalam basis data.

2.9. Audio Fingerprinting

Audio Fingerprinting adalah metode yang digunakan untuk mendapatkan ciri unik yang dapat membedakan suatu audio dengan audio lainnya, ciri unik ini disebut sebagai audio fingerprint atau sidik jari audio.

Secara umum kerangka kerja dari proses Audio Fingerprinting terdiri dari tiga tahap, yaitu:

1. Pre-processing

Pada tahap ini untuk query lagu dilakukan proses sampling yaitu mengubah sinyal analog dari lagu yang akan diidentifikasi menjadi sinyal digital. Khusus untuk lagu referensi, dilakukan konversi format dari MP3 ke WAV, downsampling atau memperkecil samplerate dan konversi channel dari stereo ke mono.

2. Transformation

Pada tahap ini representasi sinyal digital dari sebuah lagu dalam domain waktu diubah menjadi representasi sinyal dalam domain waktu-frekuensi (Time-

(27)

Frequency Representation) menggunakan algoritma Short Time Fourier Transform (STFT).

3. Fingerprint Extraction

Setelah proses transformasi, proses selanjutnya adalah ektraksi fitur akustik atau ektraksi ciri khusus sinyal digital lagu yang unik dan robust (tahan terhadap berbagai macam degradasi sinyal). Ciri khusus ini disebut sebagai audio fingerprint (sidik jari audio). Sidik jari audio ini kemudian digunakan sebagai pembanding untuk mengidentifikasi rekaman potongan sebuah lagu.

2.10. Fourier Transform

Fourier Transform atau Transformasi Fourier adalah suatu metode yang dilakukan untuk mentrasnformasikan sinyal domain waktu menjadi sinyal domain frekuensi.

Kelebihan Transformasi Fourier adalah :

1. Mampu menunjukkan frekuensi-frekuensi apa saja yang terdapat di dalam sinyal.

2. Mampu menunjukkan berapa jumlah komponen frekuensi yang terdapat di dalam sinyal.

Sedangkan kelemahan dari Transformasi Fourier adalah, tidak dapat menunjukan kapan suatu frekuensi terjadi pada sinyal non-stationary atau sinyal yang frekuensinya berubah seiring dengan perjalanan waktu.

2.11. Short Time Fourier Transform

Algoritma Short Time Fourier Transform(STFT) adalah pengembangan dari Transformasi Fourier. Transformasi Fourier hanya dapat menghasilkan informasi apakah suatu sinyal memiliki komponen frekuensi tertentu atau tidak. Hasil Transformasi Fourier tidak dapat menunjukkan kapan komponen frekuensi tersebut terjadi. Sehingga Transformasi Fourier hanya cocok diterapkan pada sinyal stasioner yaitu sinyal yang komponen frekuensinya tidak berubah seiring dengan perubahan waktu atau semua komponen frekuensi terjadi di semua waktu.

Lagu adalah sinyal non-stationary atau sinyal yang komponen frekuensinya berubah terhadap waktu. Untuk mengetahui kapan suatu komponen frekuensi dari sinyal suara lagu terjadi, dapat digunakan algoritma STFT. Ide dibalik algoritma ini adalah membagi-bagi sinyal non-stationary menjadi beberapa frame yang masing-

(28)

masing frame merupakan sinyal yang dianggap stasioner. STFT menghasilkan representasi frekuensi-waktu (Time-Frequency Representation) sebuah sinyal yang dapat digambarkan dengan sebuah spektrogram. Diagram blok algoritma STFT dapat dilihat pada Gambar 2.4.

Gambar 2.4. Diagram Blok STFT

2.11.1. Frame Blocking

Frame Blocking adalah pembagian sinyal suara digital menjadi beberapa frame.

Frame Blocking berguna untuk mempermudah dalam perhitungan dan analisis sinyal suara, karena proses analisis akan berhasil dengan baik apabila sinyal yang dianalisis memiliki parameter yang tetap (berubah dengan lambat) terhadap waktu(time invariant). Framing dibuat sedemikian rupa sehingga sinyal suara pada satu frame dapat dianggap sebagai sinyal yang tidak berubah terhadap waktu. Satu frame terdiri dari beberapa sample tergantung dengan samplerate.

Dalam proses frame blocking, sinyal suara dibagi menjadi beberapa frame yang saling tumpang tindih (overlap). Parameter yang biasa digunakan dalam proses frame blocking adalah N untuk banyak sample dalam setiap frame, dan M untuk hop size atau jarak antara permulaan satu frame dengan permulaan frame berikutnya.

Overlap berfungsi untuk mencegah hilangnya informasi yang terdapat di pinggiran frame sebelumnya. Ilustrasi frame blocking dapat dilihat pada Gambar 2.5.

Gambar 2.5. Frame blocking

(29)

Untuk menghitung banyak frame, dapat digunakan persamaan berikut :

⌈( )

⌉ (2.1)

Sebagai contoh perhitungan digunakan sinyal suara dengan samplerate 44100 Hz dengan jumlah sample dalam setiap frame 1024, dan jarak antara frame adalah 512. Lama rekaman adalah 1s.

- ( ) -

-

-

- ( ) ( ) - ( )

⌈( )

2.11.2. Windowing

Proses windowing adalah suatu proses yang berguna untuk mengurangi efek diskontinuitas atau kesenjangan pada awal dan akhir frame yang dihasilkan dari proses frame blocking dengan cara mengalikan setiap frame dengan sebuah fungsi window untuk memperkecil sinyal hingga mendekati nol pada awal dan akhir tiap frame. Dengan berkurangnya efek diskontinuitas pada sinyal, maka sinyal tersebut akan lebih simetris dan periodis sehingga informasi yang dihasilkan setelah proses selanjutnya lebih akurat.

Terdapat beberapa fungsi window yang dapat digunakan, yaitu Rectangular Window, Hanning Window, Hamming Window dan Blackman Window. Fungsi window yang paling sering digunakan pada proses Identifikasi Lagu(Song Recognition) adalah Hamming Window karena cocok digunakan untuk sinyal degan amplitudo atau loudness yang berbeda-beda seperti sinyal lagu. Selain itu, Hamming

(30)

Window juga cocok digunakan untuk sinyal yang memiliki banyak derau seperti rekaman potongan sebuah lagu yang direkam di tempat yang ramai.

Persamaan Hamming Window adalah sebagai berikut :

( ) (

) (2.2) Nilai adalah jumlah sample pada setiap frame. Misalkan sinyal frame input adalah ( ) dan sinyal output dari proses windowing adalah ( ). Untuk memperoleh sinyal ( ) dapat dilakukan dengan menggunakan persamaan dibawah ini :

( ) ( ) ( ) (2.3)

2.11.3. Discrete Fourier Transform (DFT)

DFT adalah transformasi matematika yang memkonversikan sinyal suara digital dari domain waktu ke domain frekuensi.

Output dari DFT adalah bilangan kompleks X(k). Untuk mencari X(k) dapat digunakan persamaan (2.4).

( ) ∑ ( )

(2.4)

merupakan konstanta yang disebut sebagai Twiddle Factor. memiliki nilai

, sehingga

( ) ∑ ( )

( 2 . 5 )

Persamaan (2.5) kemudian dihubungkan dengan dengan rumus Euler ( ) ( ), sehingga setara dengan

( ) ∑ ( ), ( )

(

)- ( 2 . 6 )

(31)

Keterangan :

- N adalah jumlah sample input

- X(k) adalah nilai output DFT pada urutan ke-k

- k adalah indeks output DFT dalam domain frekuensi (0,1,2,…,N-1) - x(n) adalah nilai sample input dalam domain waktu ke-n

- n adalah nilai indeks input dalam domain waktu (0,1,2,…,N-1) - j adalah konstanta bilangan imaginer

- = 3.14159

Dari persamaan (2.6) dapat disimpulkan untuk mencari nilai real dari bilangan kompleks X(k) adalah

( ) ∑ ( ) ( )

(2.7)

dan untuk mencari nilai imaginer dari X(k) adalah

( ) ∑ ( ) ( )

(2.8)

Untuk menghitung nilai magnitude dari bilangan kompleks X(k) dapat digunakan persamaan (2.9).

( ) | ( )| √( ( )) ( ( )) (2.9)

2.11.4. Fast Fourier Transform (FFT)

FFT merupakan algoritma yang mengimplementasikan Discrete Fourier Transform(DFT). FFT merupakan teknik perhitungan cepat dari DFT. Dengan menerapkan algoritma FFT jumlah operasi aritmatika pada DFT sebanyak O( ) dapat dikurangi menjadi O( ). Untuk mengurangi kompleksitas perhitungan DFT, algoritma FFT memanfaatkan sifat periodisitas dan simetris dari Twiddle Factor.

Terdapat beberapa macam pendekatan algoritma FFT, dalam penelitian ini pendekatan yang digunakan adalah radix-2 Decimation in Time. Algoritma radix-2

(32)

Decimation in Time dikemukakan oleh J.W. Cooley dan John Tukey pada tahun 1965, sehingga algoritma ini juga dikenal dengan Algoritma Cooley-Tukey. Algoritma ini adalah algoritma yang paling sering digunakan pada pengolahan sinyal digital. FFT menerapkan prinsip Divide and Conquer dalam mengurangi kompleksitas perhitungan DFT.

Pada tahap divide, sinyal input x(n) dipisahkan menjadi dua bagian yaitu bagian x(n) dengan indeks n genap (n = 0, 2, 4, …) dan bagian x(n) dengan indeks n ganjil (n = 1, 3, 5, …). Ilustrasi tahap divide dengan N=8 dapat dilihat pada Gambar 2.6.

Gambar 2.6. Tahap divide pada FFT

Untuk memperoleh hasil dari tahap divide ini dapat digunakan prosedur bit- reverse, yaitu membalikkan bit dari indeks n pada x(n). Jumlah bit yang akan dibalikkan pada prosedur Bit-reverse adalah bit, dimana .

Misalnya, jumlah sample( ) , maka jumlah bit yang akan dibalikkan adalah 3. Hasil dari prosedur bit-reverse indeks n dengan jumlah sample ( ) = 8 dapat dilihat pada Tabel 2.2.

(33)

Tabel 2.2. Bit-reverse indeks n dengan n Bit Bit-reverse Hasil

0 000 000 0

1 001 100 4

2 010 010 2

3 011 110 6

4 100 001 1

5 101 101 5

6 110 011 3

7 111 111 7

Setelah tahap divide dilakukan, tahap selanjutnya adalah tahap conquer. Pada tahap conquer digunakan persamaan (2.10) dan persamaan (2.11).

( ) ( ) ( ) (2.10)

( ) ( ) ( ) (2.11)

Tahap conquer dapat gambarkan dengan diagram butterfly seperti yang terlihat pada Gambar 2.7.

Gambar 2.7. Diagram butterfly

Untuk 8 titik sample, proses FFT dengan pendekatan radix-2 Decimation in Time digambarkan secara menyeluruh oleh diagram pada Gambar 2.8.

(34)

Gambar 2.8. Diagram Butterfly untuk N=8

2.11.5. Spektrogram

Representasi frekuensi-waktu sebuah sinyal suara lagu hasil proses STFT dapat divisualisasikan dengan sebuah spektogram. Spektrogram seperti yang terlihat pada Gambar 2.9 adalah grafik tiga dimensi yaitu :

1. Sumbu x merepresentasikan waktu (s).

2. Sumbu y merepresentasikan frekuensi (Hz).

3. Dimensi ketiga yaitu warna merepresentasikan magnitudo (dB).

(35)

Gambar 2.9. Spektrogram

2.12. Ekstraksi Fingerprint

Setiap file lagu pada dasarnya memiliki sebuah karakteristik unik yang dapat membedakannya dari lagu-lagu yang lain. Karakteristik ini disebut sebagai fingerprint atau sidik jari. Sama halnya dengan sidik jari manusia, sidik jari atau fingerprint sebuah lagu juga berisi sebagian dari informasi yang terdapat di dalam sinyal digital lagu tersebut. Fingerprint sebuah lagu sangat unik sehingga dapat digunakan untuk mengidentifikasi lagu tersebut.

Selain unik, fingerprint dari lagu harus robust. Robust artinya adalah fingerprint yang diekstrak dari lagu referensi harus bisa diekstrak kembali dari lagu yang sama yang sudah terdegradasi oleh derau. Untuk mendapatkan fingerprint lagu yang robust, fingerprint harus diambil dari fitur sinyal audio yang tahan terhadap degradasi sinyal. Salah satu fitur audio yang robust ini adalah peak frequency. Peak frequency adalah frekuensi yang memiliki magnitudo terbesar pada rentang frekuensi tertentu.

Pada bagian awal dan akhir dari beberapa file lagu biasanya tidak terdapat suara sama sekali (silent), sehingga untuk menghindari kesalahan dalam mendeteksi peak frequency pada bagian yang silent (diam), maka suatu frekuensi hanya bisa dikategorikan sebagai peak frequency apabila magnitudo frekuensi tersebut melebihi

(36)

threshold tertentu. Selain itu, memberikan threshold juga dapat menyaring frekuensi derau yang biasanya memiliki magnitudo yang kecil.

Contoh peak frequency yang terdeteksi dari sebuah potongan lagu digambarkan oleh titik hitam pada spektogram yang terlihat pada Gambar 2.10.

Gambar 2.10. Peak frequency yang terdeteksi dari sebuah lagu

Setelah semua peak frequency didapatkan, langkah selajutnya adalah membentuk fingerprint. Berdasarkan cara yang dikemukakan oleh Avery Wang, salah seorang founder Shazam pada tahun 2003 di dalam makalahnya yang berjudul “An Industrial-Strength Audio Search Algorithm”, untuk membentuk fingerprint yang unik dapat dilakukan dengan memasangkan setiap peak frequency (anchor point) dengan peak frequency lainnya (point) yang berada di dalam sebuah target zone seperti yang terlihat pada Gambar 2.11. Pasangan peak frequency ini disebut juga sebagai landmark.

(37)

Gambar 2.11. Contoh pembentukan fingerprint

Menyimpan peak frequency secara berpasangan membentuk landmark membuat fingerprint lebih unik dan membuat proses matching (pencocokan) fingerprint dapat dilakukan lebih cepat dari pada menyimpan peak frequency satu per satu.

2.13. Tabel Hash

Tabel hash adalah sebuah struktur data yang mengimplementasikan array asosiatif.

Setiap record di dalam tabel hash terdiri dari pasangan key (kunci) dan value (nilai).

Key adalah nilai yang akan dijadikan indeks dari elemen array(record), dan value adalah nilai yang berkaitan dengan key. Untuk mendapatkan angka (hash) lokasi atau indeks sebuah record digunakan hash function (fungsi hash).

Tabel Hash memungkinkan proses penyimpanan data, pencarian data, penambahan data, dan penghapusan data dapat dilakukan dengan cepat atau dalam waktu konstan O(1). Ide dasarnya adalah menghitung indeks record yang dicari dalam array dengan menggunakan hash function, sehingga tidak perlu memeriksa setiap record di dalam array satu per satu.

Salah satu hambatan dalam struktur data tabel hash adalah terjadinya collision, yaitu ketika dua atau lebih value yang berbeda memiliki key atau hash yang sama,

(38)

sedangkan sebuah key harus unik dan hanya bisa memiliki satu value. Untuk mengatasi collision ada beberapa pendekatan yang dapat dilakukan yaitu:

1. Closed hashing

Closed hashing adalah solusi untuk mengatasi collision dengan mencari lokasi alternatif. Salah satu contoh closed hashsing adalah linear probing, yaitu apabila terjadi collision maka value akan disimpan di indeks berikutnya sampai ditemukan indeks yang kosong.

2. Open Hashing

Open hashing adalah solusi collision yang paling sering digunakan. Pada open hashing setiap value pada tabel hash adalah linked list. Apabila terjadi collision, maka value dengan hash yang sama disimpan di dalam linked list yang sama.

Ilustrasi open hashing dapat dilihat pada Gambar 2.12.

Gambar 2.12. Open hashing

Untuk sistem identifikasi lagu yang memiliki basis data berukuran besar berisi fingerprint ribuan bahkan jutaan lagu, menggunakan tabel hash merupakan pilihan yang sangat tepat. Nilai key dan value setiap record di dalam tabel hash fingerprint lagu didapatkan dari koordinat landmark (pasangan anchor point dan point) seperti yang terlihat pada Gambar 2.13.

(39)

Gambar 2.13. Pasangan key dan Value Nilai key didapatkan dengan menggunakan persamaan (2.12).

(2.12) , adalah frekuensi dari anchor point, adalah frekuensi dari point, dan adalah perbedaan waktu absolut anchor point dan point (| |). Untuk lagu query, value setiap record berisi waktu absolut anchor point ( ), sedangkan untuk lagu referensi, value didapatkan menggunakan persamaan berikut:

(2.13)

2.14. Matching

Setelah fingerprint lagu query dan fingerprint semua lagu referensi diekstrak, maka langkah selanjutnya adalah melakukan matching (pencocokan). Ide dasar dari proses matching adalah melakukan pemindaian terhadap tabel hash semua lagu renferensi untuk mencari kumpulan landmark lagu referensi yang saling bersesuaian dengan landmark lagu query baik dalam domain frekuensi maupun domain waktu. Proses matching diilustrasikan pada Gambar 2.14.

(40)

Gambar 2.14. Proses matching terhadap kumpulan landmark (fingerprint) sebuah lagu referensi. Segi empat kecil mewakili setiap landmark.

Langkah-langkah dalam proses matching (pencocokan) adalah sebagai berikut :

1. Mencari kumpulan landmark dari semua lagu referensi yang saling bersesuaian dengan landmark lagu query dalam domain frekuensi. Langkah ini dapat dilakukan dengan mencari key tabel hash lagu referensi yang sama dengan key tabel hash lagu query.

2. Langkah selanjutnya adalah mencari apakah kumpulan landmark lagu referensi yang saling bersesuaian dalam domain frekuensi dengan landmark lagu query juga saling bersesuaian dalam domain waktu. Kumpulan landmark lagu referensi dapat dikatakan saling bersesuaian dalam domain waktu (time-aligned) apabila kumpulan landmark tersebut memiliki delta yang sama. Delta adalah time offset atau posisi awal lagu query di dalam sebuah lagu referensi. Untuk setiap landmark yang saling bersesuaian dalam domain frekuensi (memiliki key yang sama dengan key landmark lagu query), delta diperoleh dengan mencari perbedaan waktu absolut anchor point landmark lagu query dengan waktu absolut anchor point landmark lagu referensi (persamaan (2.14))

(41)

| | (2.14)

3. Langkah selanjutnya adalah menghitung jumlah landmark lagu referensi untuk setiap delta yang sama. Berdasarkan contoh pada Gambar 2.14, jumlah landmark untuk setiap delta yang sama dapat dilihat pada gambar grafik dibawah ini.

Gambar 2.15. Contoh jumlah landmark untuk setiap delta

Apabila pada sebuah lagu referensi terdapat delta dengan jumlah landmark terbanyak dan melebihi threshold yang telah ditentukan, maka lagu query merupakan potongan dari lagu referensi tersebut.

2.15. Pengukuran Akurasi Algoritma

Pengukuran akurasi merupakan tahapan untuk membuktikan tingkat performa suatu algoritma. Akurasi algoritma yang digunakan pada sistem identifikasi lagu diukur dengan menggunakan precision dan specificity. Secara makna, precision adalah tingkat ketepatan jawaban yang diminta pengguna dengan jawaban yang diberikan oleh sistem, sedangkan specificity merupakan tingkat ketepatan sistem dalam melaporkan tidak adanya jawaban yang dicari di dalam basis data.

Untuk menghitung tingkat precision dan specificity dapat digunakan persamaan (2.15) dan persamaan (2.16).

(2.15)

(42)

(2.16)

Nilai True Positive (TP) adalah jumlah data ditemukan dan benar, False Postive (FP) adalah jumlah data ditemukan namun tidak benar, False Positive dalam konteks specificity (FPs) adalah jumlah data ditemukan namun tidak terdapat dalam basis data, dan True Negative (TN) adalah jumlah data tidak ditemukan dan tidak terdapat dalam basis data. Satuan precision dan specificity adalah persen (%).

2.16. Penelitian Terdahulu

Penelitian terdahulu yang relevan dapat dilihat pada Tabel 2.3.

Tabel 2.3. Penelitian terdahulu yang relevan

No Nama Penulis Judul Hasil Penelitian

1 Sutara, F.Abdella

Analisis dan Implementasi Song Recognition

Menggunakan Algoritma Fast Fourier Transform

Pengenalan lagu dengan merekam potongan lagu selama 10 detik melalui mikrofon laptop menghasilkan keluaran penyanyi dan judul lagu dengan tepat. Namun, dikarenakan batas ambang minimal hash yang sama adalah sebanyak 5 hash sehingga pada saat menguji lagu yang tidak ada pada file indeks, aplikasi masih mengenali lagu tetapi menghasilkan penyanyi dan judul lagu yang salah.

2 Sonnleitner, Reinhard

Audio Identification via Fingerprinting:

Achieving

Robustness to Severe Signal Modifications

Merumuskan Quad - based fingerprinting (Qfp) sebagai metode Audio Fingerprinting yang robust terhadap distorsi sinyal seperti derau, kompresi, pitch shifting, dan time scalling. Dengan metode Qfp, ketepatan hasil identifikasi lagu sangat tinggi, namun run time dalam

(43)

mengidentifikasi satu juta query lagu yang telah mengalami berbagai macam distorsi cukup lambat.

3 Scerri, Erik Music Recognition, Analysis, and Automatic Tagging Using Spectrogram Patern Matching

Implementasi algoritma Scale Invariant Feature Transform (SIFT) untuk mengidentifikasi lagu menghasilkan laju akurasi sebanyak 84.15%, namun sistem masih menggunakan linear search sehingga proses identifikasi lagu akan semakin lambat seiring bertambahnya referensi lagu di dalam basis data.

4 Gutierrez, Salvador dan Garcia, Salvador

Landmark Based Music Recognition System Optimisation Using Genetic Algorithms

Membandingkan algoritma Genetic CHC dengan Algoritma Hill-Climbing untuk optimisasi hasil Landmark- based Music Recognition. Hasil perbandingan menunjukan bahwa algoritma CHC menghasilkan proses optimisasi yang lebih konsisten dari pada algoritma Hill-Climbing.

5 Liu, Feng Audio

Fingerprinting for Speech

Reconstruction and Recognition in Noisy Environments

Mengimplementasikan Landmark- Based Audio Fingerptinting untuk mengidentifikasi audio. Hasil implementasi menunjukkan algoritma Landmark-Based Audio Fingerptinting mampu menghasilkan akurasi hasil identifikasi terhadap audio berdurasi 15 detik yang cukup bagus yaitu 90%.

6 Ramona, Mathieu dan Peeters, Geoffroy

Audio Identification based on Spectral Modelling of Bark- Bands Energy and Synchronization through Onset Detection.

Mengimplementasikan algoritma Double-Nested Short Time Fourier Transform untuk membuat sistem identifikasi audio. Sistem yang dibuat diujikan terhadap koleksi file audio yang besar. Hasil uji sistem menunjukkan algoritma yang digunakan dapat mengidentifikasi audio yang sudah terdistorsi oleh derau, kompresi dan time-scalling dengan baik.

(44)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1. Analisis Sistem

Analisis sistem (systems analysis) adalah sebuah teknik pemecahan masalah dengan menguraikan sistem menjadi beberapa komponen dengan tujuan untuk mempelajari kinerja masing-masing komponen tersebut dalam mencapai tujuan sistem. Tahap analisis sistem dilakukan sebelum tahap perancangan sistem. Tahap ini merupakan tahap yang sangat penting dan kritis, karena kesalahan yang terjadi pada tahap ini dapat menyebabkan kesalahan pada tahap-tahap berikutnya.

Analisis sistem memiliki 3 tahap untuk menguraikan pendekatan terhadap proses pengembangan system, yaitu analisis masalah, analisis kebutuhan, dan analisis proses.

3.1.1. Analisis Masalah

Pada tahap analisis masalah akan dihasilkan deskripsi penyebab dari masalah yang akan diselesaikan oleh sistem. Masalah-masalah yang diperoleh tersebut kemudian digambarkan dalam sebuah diagram yang dikenal dengan sebutan Diagram Ishikawa atau Diagram Tulang Ikan (Fishbone Diagram). Diagram Ishikawa adalah diagram yang menunjukkan penyebab-penyebab dari sebuah kejadian spesifik. Diagram Ishikawa digunakan untuk membantu mengidentifikasi faktor-faktor yang signifikan memberi efek terhadap suatu kejadian.

Permasalahan yang akan diangkat dalam penelitian ini, yaitu bagaimana mengekstrak fingerprint sinyal suara lagu agar hasil identifikasi lagu lebih akurat digambarkan dalam Diagram Ishikawa seperti yang terlihat pada Gambar 3.1.

(45)

Gambar 3.1. Diagram Ishikawa

Gambar diagram di atas dibagi menjadi 2 (dua) bagian, yakni head dan bone.

Head biasanya selalu terletak disebelah kanan. Di bagian head dituliskan even yang dipengaruhi oleh penyebab-penyebab yang nantinya dituliskan di bagian bone. Bone terdiri dari 4 (empat) aspek, yakni material, metode, manusia, dan mesin. Material adalah semua hal yang diperlukan untuk menjalankan sistem seperti koleksi lagu referensi dalam format MP3, dan lagu query dalam format WAV. Metode adalah bagaimana proses dilakukan dan kebutuhan yang spesifik dari proses, yaitu ektraksi fingerprint menggunakan algoritma Short Time Fourier Transform. Aspek manusia adalah peran manusia dalam penggunaan sistem, yaitu menentukan lagu referensi dan menentukan lagu query. Mesin adalah semua hal yang dilakukan oleh sistem guna memberikan solusi permasalahan, yaitu transformasi representasi sinyal lagu dari domain waktu ke domain waktu-frekuensi, ektraksi fingerprint, matching atau pencocokan fingerprint, dan menampilkan hasil identifikasi lagu.

(46)

3.1.2. Analisis Kebutuhan

Analisis kebutuhan mencakup kebutuhan atau kondisi yang harus dipenuhi dalam suatu sistem. Analisis kebutuhan terbagi menjadi 2 (dua) bagian, yakni kebutuhan fungsional dan kebutuhan non-fungsional.

3.1.2.1. Kebutuhan Fungsional

Kebutuhan fungsional adalah kebutuhan yang berisi proses-proses apa saja yang nantinya dilakukan oleh sistem, mencakup bagaimana reaksi sistem pada kondisi tertentu. Kebutuhan fungsional sistem identifikasi lagu adalah:

1. Mengidentifikasi lagu yang sedang diputar di sekitar pengguna.

Sistem mampu mengenali judul dan penyanyi sebuah lagu melalui rekaman 2 detik lagu tersebut. Sistem mengenali lagu dengan membandingkan fingerprint (sidik jari) dari lagu query dengan fingerprint dari semua lagu referensi yang ada di dalam basis data.

2. Menyimpan dan menampilkan history yaitu daftar lagu yang berhasil teridentifikasi dan tanggal identifikasi.

3. Menerima input berupa lagu-lagu yang akan dijadikan sebagai referensi.

3.1.2.2. Kebutuhan Non-fungsional

Kebutuhan non-fungsional adalah kebutuhan yang menitikberatkan pada properti perilaku yang dimiliki oleh sistem. Kebutuhan non-fungsional sistem identifikasi lagu adalah sebagai berikut:

1. User Friendly

Sistem memiliki rancangan antar muka yang mudah dipelajari dan digunakan.

2. Robust

Sistem mampu mengidentifikasi rekaman lagu yang terdegradasi oleh derau.

3. Granularity

Sistem identifikasi lagu mampu mengenali query berupa rekaman beberapa detik lagu, baik rekaman di bagian awal, pertengahan, maupun di bagian akhir lagu.

4. Precision

False positive atau kesalahan dalam mengidentifikasi lagu harus sedikit.

(47)

5. Scalability

Kinerja sistem dalam melakukan pencocokan lagu tidak tergantung terhadap ukuran basis data atau pencocokan lagu dilakukan dalam waktu konstan yaitu O(1), sehingga sistem mudah untuk dikembangkan.

6. Specificity

Sistem identifikasi lagu hanya dirancang untuk mengidentifikasi lagu yang terdapat di dalam basis data.

3.1.3. Analisis Proses

Sistem identifikasi lagu memiliki 2 (dua) tahapan proses, yaitu tahap offline dan tahap online. Pada tahap offline, fingerprint (sidik jari) dari lagu-lagu referensi diekstraksi dan disimpan ke dalam basis data. Pada tahap online, sistem disuguhkan dengan query berupa rekaman potongan lagu yang tidak dikenal. Fingerprint dari lagu query tersebut kemudian diekstraksi dan dikirim ke server untuk selanjutnya dilakukan proses matching (pencocokan) dengan fingerprint semua lagu referensi. Diagram blok keseluruhan proses dalam sistem identifikasi lagu dapat dilihat pada Gambar 3.2.

Gambar 3.2. Proses identifikasi lagu.

(48)

3.1.3.1. Pre-processing

Pre-processing adalah proses pengolahan data masukkan sebelum data tersebut melalui proses utama sistem. Pre-processing bertujuan untuk memperoleh data yang sesuai dengan kebutuhan proses utama sistem.

Pada tahap pre-processing untuk lagu referensi, dilakukan konversi format lagu referensi dari MP3 menjadi WAV. Selanjutnya dilakukan proses downmixing, yaitu mengubah channel dari stereo ke mono. Setelah proses downmixing, selanjutnya dilakukan proses downsampling atau memperkecil samplerate lagu referensi dari 44100Hz menjadi 8000 Hz. Dengan memperkecil samplerate menjadi 8000Hz, lagu referensi hanya mengandung informasi frekuensi dari 0Hz sampai 4000Hz, dimana frekuensi-frekuensi antara 0Hz dan 4000Hz biasanya merupakan frekuensi-frekuensi dengan komponen terkuat atau memiliki magnitudo terbesar pada sinyal suara lagu.

Downmixing dan downsampling berfungsi untuk memperkecil ukuran file lagu referensi sehingga dapat mempercepat proses selanjutnya.

Pada tahap pre-processing untuk lagu query dilakukan proses sampling yaitu mengubah sinyal analog lagu menjadi sinyal digital melalui proses perekaman lagu.

Lagu query direkam dengan format WAV mono, 16 bit dengan samplerate 8000Hz.

3.1.3.2. Short Time Fourier Transform

Pada proses Short Time Fourier Transform (STFT), dilakukan transformasi representasi sinyal suara lagu dari domain waktu ke domain waktu-frekuensi. Short Time Fourier Transform terdiri dari 3 (tiga) tahap, yaitu :

1. Frame Blocking

Pada tahap frame blocking dilakukan pembagian sinyal suara lagu menjadi beberapa frame yang saling tumpang tindih (overlap). Setiap frame terdiri dari potongan sinyal yang komponen frekuensinya dianggap tetap (sinyal stasioner).

Berdasarkan penelitian sebelumnya komponen frekuensi sinyal berubah setiap 0.128 detik, artinya komponen frekuensi sinyal tidak berubah atau tetap selama 0.128 detik. Sehingga durasi untuk setiap potongan sinyal (frame) yang baik adalah 0.128 detik. Banyak sample untuk setiap frame tergantung kepada durasi frame dan samplerate dari sinyal. Pada penelitian ini samplerate yang digunakan adalah 8000Hz, sehingga banyak sample untuk setiap frame adalah:

(49)

(3.1)

Setiap frame saling overlap dengan panjang overlap lebih kecil dari pada banyak sample setiap frame ( ). Panjang overlap yang digunakan dalam penelitian ini adalah , yaitu 512. Fungsi dari overlap adalah untuk mencegah hilangnya informasi komponen frekuensi pada bagian akhir frame sebelumnya.

2. Windowing

Tahap selanjutnya adalah tahap windowing, yaitu mengalikan setiap sample didalam frame dengan sebuah fungsi window untuk mengurangi efek diskontinuitas atau kesenjangan pada bagian awal dan akhir setiap frame. Fungsi window yang digunakan dalam penelitian ini adalah Hamming Window.

3. Fast Fourier Transform

Tahap terakhir adalah melakukan transformasi representasi setiap potongan sinyal (frame) dari domain waktu menjadi domain frekuensi dengan algoritma Fast Fourier Transform (FFT). FFT merupakan pengembangan dari algoritma Discrete Fourier Transfrom (DFT). Dengan menggunakan algoritma FFT, jumlah operasi aritmatika DTF sebanyak O( ) dapat dikurangi menjadi O( ). Misalnya =1024, maka dengan menggunakan algoritma DFT dibutuhkan operasi aritmatika sebanyak 1.048.576, sedangkan dengan menggunakan algoritma FFT hanya dibutuhkan operasi aritmatika sebanyak 10.240.

Terdapat beberapa macam pendekatan algortima FFT, pendekatan yang paling banyak digunakan adalah radix 2 Decimation in Time yang dikemukakan oleh J.W. Cooley dan John Tukey. Prinsip algoritma radix 2 Decimation adalah divide dan conquer. Pada tahap divide sinyal input x(n) dipisakan menjadi dua bagian yaitu x dengan indeks n genap ( ) dan x dengan indeks n ganjil ( ).

Tahap divide dapat dilakukan dengan prosedur bit-reverse atau membalikkan bit dari indeks n, misal potongan sinyal ( ) dengan banyak sample N = 4 sebagai berikut:

( ) * +

Gambar

Gambar 2.1. Gelombang sinus dengan frekuensi 5 Hz
Gambar 2.2. Bentuk sinyal  analog (atas) dan sinyal digital (bawah) (Sipasulta,2014)  Sinyal  digital  dari  suara  diperoleh  dari  hasil  sampling  terhadap  sinyal  suara  analog,  dan  disimpan  di  dalam  sebuah  media  penyimpanan  elektronik
Gambar 2.3. Representasi sinyal domain frekuensi
Gambar 2.8. Diagram Butterfly untuk N=8
+7

Referensi

Dokumen terkait

4l Melakukan dokumentasi dan pencatatan pada kegiatan pengawasan program pembimbingan klien anak berdasarkan hasil rekomendasi penelitian kemasyarakatan untuk tindak

Nur dan Widyastuti (2014) dalam penelitian yang dilakukan pada tiga orang subjek dengan anak terlambat bicara menunjukkan bahwa salah satu reaksi negatif yang

1) Anggota pengurus adalah Kepala SMP Negeri di wilayah Kabupaten Pasuruan yang mengelola SMP Negeri, dipilih serta ditetapkan dalam pemilihan pengurus.. 2) Pemilihan Ketua

Hasil laporan dari studi utama yang dilakukan Joint Governmental Study Group dengan maksud memper-erat hubungan ekonomi Jepang dan Swiss akhirnya dipublikasikan pada Januari

Jenis perekat yang digunakan dalam penelitian ini adalah Phenol Formaldehyde dengan solid content 41,37% (atas dasar perekat padat) sebanyak 7% atas dasar berat strand kering

Untuk meningkatkan aspek usability maka dibuatlah model UX untuk pengenalan aplikasi belajar berhitung, penulis melakukan analisis task menggunakan hierarcichal task analysis

Melakukan survey atas data calon tertanggung yang diberikan oleh bagian pemasaran, dengan mengambil gambar kendaraan yang akan di asuransikan, memeriksa kelengkapan surat

6ementara %a arb#nat untuk membebaskan pir#'en (depir#'enasi) dan disin9ektan. 6ementara %a arb#nat 0, ber9un'si untuk menetralkan sisa asam akibat l encer. &r#sedur