[FOO02] Foote, Jonathan and Adcock, J. 2002. Time Base Modulation: A New
Approach to Watermarking Audio and Images. FX Paulo Labortory, Inc.
[HAM01] Hammer, Florian. 2001. Time-scale Modification using the Phase Vocoder.
Institute for Electronic Music and Acoustics (IEM), Graz University of Music and Dramatic Arts, A-8010 Graz, Austria.
[KIM05] Kim, Hyoung Joong. 2005. Audio Watermarking Techniques. Departement
of Control and Intrumentation Engineering. Kangwon National Univercity.
[MUN04] Munir, Rinaldi. 2004. Kuliah IF5054 Kriptografi: Steganografi dan
Watermarking. ITB.
[RUM06] Rumondang, Martha. 2006. Perlindungan Hak Cipta Pada Data Audio Menggunakan Teknik Watermarking Phase Coding. ITB.
[SMI01] Smith, Steven W. 2001. The Scientist and Engineer's Guide to Digital Signal
Processing.
[SON06] Sonic Spot. 2006. Wave File Format.
URL: http://www.sonicspot.com/guide/wavefiles.html
Tanggal Akses : 5 Januari 2006.
[TJO05] Tjokronegoro, Harijono A. 2005. Diktat Kuliah Pengolahan Sinyal. Departemen Teknik Fisika, ITB.
[WIK06] Wikipedia. 2006. Short-time Fourier transform.
URL: http://en.wikipedia.org/wiki/Short-time_Fourier_transform
Tanggal Akses : 8 Januari 2006
[ARN00] Arnold, Michael. 2000. Audio Watermarking and Algorithms. IEEE
International.
[BER05] Bernsee, Stephan M. 2005. The DFT "à Pied": Mastering The Fourier
Transform in One Day.
URL : http://www.dspdimension.com
Tanggal Akses : 8 Desember 2005.
[FOO02] Foote, Jonathan and Adcock, J. 2002. Time Base Modulation: A New
Approach to Watermarking Audio and Images. FX Paulo Labortory, Inc.
[GOR05] Gordy, J. D. and Burton, L. T. 2005. Performance Evaluation of Digital
Audio Watermarking Algorithms. Departemen of Electrical and Computer Engineering, Univercity of Calgary.
[HAM01] Hammer, Florian. 2001. Time-scale Modification using the Phase Vocoder.
Institute for Electronic Music and Acoustics (IEM), Graz University of Music and Dramatic Arts, A-8010 Graz, Austria.
[SMI01] Smith, Steven W. 2001. The Scientist and Engineer's Guide to Digital Signal
Processing.
A.1 Header Format WAV - Chunk Tipe RIFF
Header dari berkas WAV mengikuti standar stuktur dari format RIFF. 8 byte pertama adalah chunk header standart RIFF yang mempunyai Chunk ID “RIFF” dan informasi besar chunk yang
tidak lain adalah besar berkas dikurangi 8 byte yang dipakai sebagai header. 4 byte pertama dari
chunk data dalam chunk “RIFF” (RIFF Type ID pada Gambar 2-6) menentukan tipe dari isi yang
ditemukan dalam chunk data dari chunk “RIFF”. Berkas WAV selalu memakai “WAVE” pada 4
byte pertama itu, 4 byte pertama disebut juga RIFF Type. Setelah RIFF Type maka isi selanjutnya
adalah chunk WAVE yang merupakan data audio dalam waveform. Lebih lanjut lihat Tabel A-1. Tabel A-1: Detail isi header chunk dan data chunk
Offset Ukuran (byte) Deskripsi Nilai
0x00 4 Chunk ID “RIFF” (0x52494646)
0x04 4 Chunk Data Size (ukuran file) – 8 byte
0x08 4 RIFF Type “WAVE” (0x57415645)
0x10 Wave chunk(s)
A.2 Jenis-jenis Chunk pada berkas WAV
Berkas WAV didefinisikan oleh beberapa tipe chunk. Kebanyakan berkas WAV hanya mengandung dua tipe saja, biasanya chunk Format dan chunk Data (chunk dengan Chunk ID “fmt” dan “data” pada Gambar 2-7). Dua chunk ini adalah chunk yang dibutuhkan untuk menyatakan format dari sampel audio digital dan sampelnya sendiri.
Semua chunk RIFF, dan karenanya juga chunk WAV, disimpan dalam format yang dijabarkan pada Tabel A-2.
Tabel A-2: Format chunk RIFF
Offset Ukuran (byte) Deskripsi
0x00 4 Chunk ID
0x04 4 Chunk Data Size
0x08 Chunk Data Bytes
A.3 Chunk Format - “fmt”
Chunk ini mengandung informasi tentang bagaimana data waveform disimpan dan bagaimana
cara memutar ulangnya, chunk ini juga memuat informasi tentang kompresi yang digunakan, jumlah
channel, sample rate, bits per sample dan atribut lainnya. Tabel A-3 menyatakan detail dari chunk
Format.
Tabel A-3: Detail dari chunk Format
Offset Ukuran (byte) Deskripsi Nilai
0x00 4 Chunk ID “fmt” (0x666D7420)
0x04 4 Chunk Data Size 16 + extra format bytes
0x08 2 Compression code 1 - 65,535
0x0a 2 Number of channels 1 - 65,535
0x0c 4 Sample rate 1 – 0xFFFFFFFF
0x10 4 Average bytes per second 1 – 0xFFFFFFFF
0x14 2 Block align 1 - 65,535
0x16 2 Significant bits per sample 2 - 65,535
0x18 2 Extra format bytes 0 - 65,535
0x1a Extra format bytes
Penjelasan:
● Chunk ID dan Data Size
Chunk ID selalu bernilai “fmt” (0x666D7420) dan Data Size bernilai ukuran standar dari
data format WAV (16 byte) ditambah dengan ukuran dari extra format bytes yang dibutuhkan jika format WAV ini tidak mengandung data PCM tak terkompresi. String
Chunk ID berakhir dengan karakter spasi (0x20). ● Compression Code
Menyatakan kompresi yang digunakan pada data waveform yang berada pada chunk RIFF “ini”. Tabel A-4 menampilkan kompresi yang umum dipakai dan kode yang berkaitan dengannya.
● Number of Channels (Jumlah Kanal)
Menyatakan berapa banyak sinyal audio terpisah yang ada dalam Chunk Data. Satu berarti mono, dua berarti stereo dan seterusnya.
● Sample Rate
Tabel A-4: Daftar kompresi WAVE yang umum digunakan Kode Deskripsi 0(0x0000) Unknown 1(0x0001) PCM/uncompressed 2(0x0002) Microsoft ADPCM 6(0x0006) ITU G.711 a-law 7(0x0007) ITU G.711 17(0x0011) IMA ADPCM
20(0x0016) ITU G.723 ADPCM (Yamaha) 49(0x0031) GSM 6.10
64(0x0040) ITU G.721 ADPCM
80(0x0050) MPEG
65,536(0xFFFF) Experimental ● Avarage Bytes Per Second
Menyatakan berapa banyak byte dari data WAV yang harus dialirkan ke dalam konverter D/A per satu detik agar berkas WAV dapat diputar dengan benar. Informasi ini berguna untuk menentukan apakah data dapat dialirkan dari sumber dalam kecepatan yang cukup untuk mendukung pemutaran yang baik dari berkas WAV. Nilai ini didapatkan dari:
Avarage Bytes Per Second = Sample Rate * Block Align
● Block Align
Menyatakan jumlah byte per sampel. Nilainya tidak dipengaruhi of jumlah kanal. Nilai ini diperoleh dari:
Block Align = Significant Bits Per Sample /(8 * Number of Channels)
● Significant Bits Per Sample
Menyatakan jumlah bit yang digunakan untuk mendefinisikan tiap sampel. Nilainya biasanya 8, 16, 24, 32. Jika jumlah bitnya bukan kelipatan dari delapan maka jumlah bit yang digunakan per sampel dibulatkan ke ukuran byte terdekat dan byte yang tidak terpakai diset dengan 0 dan diabaikan.
● Exta Format Bytes
Menyatakan berapa banyak byte format tambahan yang ditambahkan. Tidak ada jika kode kompresi adalah 0 (berkas PCM tidak dikompresi) tetapi mungkin ada dan mempunyai nilai untuk menyatakan tipe kompresi lain (yang tidak umum) tergantung dari informasi kompresi apa yang dibutuhkan untuk memainkan data WAV. Jika nilai bukan kelipatan dua, maka harus ditambahkan padding bit pada data ini, tetapi nilainya
harus tidak berubah.
A.3.1 Chunk Data - “data”
Chunk Data menyimpan data sampel audio digital yang bisa diputar menggunakan format dan
metode kompresi yang dispesifikasikan pada chunk Format. Jika kode kompresi 1 (PCM tidak terkompresi) maka sampel yang disimpan dalam chunk ini adalah sampel yang tidak terkompresi (mentah atau raw).
Berkas WAV biasanya hanya mengandung satu chunk Data, tetapi dapat juga lebih bila mereka disimpan dalam chunk Wave List (“wavl”). Format dapat dilihat pada Tabel 2-5.
Tabel A-5: Format chunk Data.
Offset Panjang Tipe Deskripsi Nilai
0x00 4 Char[4] Chunk ID “data” (0x64617461)
0x04 4 Dunsign
ed short
Chunk Size Tergantung pada panjang sampel dan kompresi
0x08 Sample data
Sampel digital audio kanal banyak (multi-channel) disimpan berurutan tiap sampel per kanalnya per satuan waktu. Ini dilakukan sehingga berkas audio dapat diputar atau dialirkan walaupun belum seluruh data dibaca. Ini berguna ketika berkas yang diputar mempunyai ukuran yang besar sehingga mungkin tidak cukup muat dalam memori atau ketika berkas dialirkan melalui internet.
Satu hal tentang data sampel yang mungkin membingungkan adalah ketika sampel direpresentasikan dalam 8 bit, sampel dispesifikasikan sebagai positif (hanya bernilai positif). Ukuran bit sampel lainnya dispesifikasikan sebagai nilai bertanda (bisa positif atau negatif), sebagai contoh sampel 16 bit mempunyai rentang nilai dari -32,768 sampai +32,768.
Seperti telah disebutkan sebelumnya, semua chunk RIFF (termasuk chunk “data” berkas WAV) harus mempunyi jumlah byte yang genap, jika tidak maka sebuah padding byte dengan nila nol harus ditempatkan pada akhir sampel data itu. Tetapi byte ini tidak boleh diikutkan dalam catatan di
header chunk “data”.
A.3.2 Chunk Fact - “fact”
Chunk Fact menyimpan informasi tentang isi berkas WAV, isi dari informasi ini ditentukan oleh
kode kompresi yang dipakai. Chunk ini diperlukan oleh seluruh format WAV yang terkompresi dan jika data waveform (audio) disimpan dalam chunk “wavl”. Chunk ini tidak dibutuhkan pada berkas
WAV tak terkompresi. Format chunk ini dapat dilihat pada Tabel A-6. Tabel A-6: Format chunk Fact
Offset Ukuran Deskripsi Nilai
0x00 4 Chunk ID “fact” (0x66616374)
0x04 4 Chunk Data Size Tergantung format
0x08 Format Dependant Data
Saat ini hanya satu seksi yang didefinisikan untuk format dependant data. Seksi ini mempunyai nilai tunggal dengan panjang 4 byte yang menyatakan banyak sampel pada data audio dalam chunk
Data. Nilai yang tersimpan disini, bersamaan dengan nilai Samples Per Second pada chunk format,
dapat dipakai untuk menghitung panjang waktu data audio.
A.3.3 Chunk WAVE List - “wavl”
Chunk ini dipakai jika ada lebih dari satu chunk “data” dan chunk “slnt” dan letaknya
berselang-seling. Cara penggunaan itu bisa membantu mengurangi besar berkas WAV ketika data audio mempunyai beberapa periode tanpa suara.
Chunk ini dipandang banyak pemrogram sebagai penggunaan yang salah dari format berkas
WAV dan dukungan terhadap chunk ini tidak disarankan. Banyak program tidak mengenali dan tidak memperhatikan tipe chunk ini jika menemukannya pada berkas WAV. Cara pengurangan besar (atau kompresi) berkas seperti dikatakan di atas mempersulit struktur berkas WAV dan dapat diimplementasikan dengan cara lain yang lebih baik, termasuk dengan menggunakan format-format kompresi yang telah ada dan umum digunakan.
Tabel A-7: Format chunk Wave List
Offset Ukuran Deskripsi Nilai
0x00 4 Chunk Id "wavl" (0x7761766C)
0x04 4 Chunk Data Size Tergantung pada besar chunk data dan slnt 0x08 Daftar chunk “slnt” dan “data” yang berselang-seling
A.3.4 Chunk Silent - “slnt”
Chunk ini dipakai untuk menandakan segmen tanpa suara yang berlangsung selama durasi
tertentu dari sampel. Chunk ini selalu dikandung dalam chunk Wave List. Walaupun chunk ini menyatakan tanpa suara, ia tidak mendifeninisikan sampel dengan volume nol. Chunk ini
sebenarnya menyimpan nilai sample terakhir dari chunk Data sebelumnya. Jika tidak ada chunk
Data sebelumnya dalam chunk Wave List, maka sebaiknya digunakan suatu nilai dasar (127 untuk
data 8-bit, 0 untuk data 16 bit atau lebih). Ketentuan ini tampak tidak penting, tetapi bila tidak dipatuhi dapat menyebabkan suara “klik” atau “pop” yang tidak diingini dalam sinyal audio. Jumlah sampel tanpa suara pada Tabel A-8 menyatakan jumlah sampel tanpa suara yang muncul dalam
waveform pada saat tersebut pada chunk Wave List.
Tabel A-8: Format chunk Silent
Offset Ukuran Deskripsi Nilai
0x00 4 Chunk ID "slnt" (0x736C6E74)
0x04 4 Chunk Data Size 4
0x08 4 Jumlah sampel tanpa suara 0 - 0xFFFFFFFF
A.3.5 Chunk Cue - “cue”
Chunk ini menyatakan satu atau lebih offset sampel, chunk ini sering dipakai untuk menandai
bagian-bagian penting dari audio. Contoh, permulaan dan akhir dari suatu Reff dalam suatu lagu mungkin diinginkan untuk mempunyai titik-titik penanda untuk memudahkan pencarian bagian tersebut. Chunk ini bersifat opsional, atau tidak harus ada, tetapi jika ada maka hanya boleh ada satu
chunk Cue untuk menyatakan semua titik penanda untuk chunk “WAVE” tersebut. Format chunk
ini dapat dilihat pada Tabel A-9.
Tabel A-9: Format chunk Cue
Offset Ukuran Deskripsi Nilai
0x00 4 Chunk ID "cue " (0x63756520)
0x04 4 Chunk Data Size Tergantung pada jumlah titik penanda 0x08 4 Num Cue Points Jumlah titik penanda dalam daftar
0x0c List of Cue Points
Penjelasan Tabel A-9:
● Chunk ID dan Data Size
Chunk ID untuk chunk Cue selalu bernilai "cue " (0x63756520). Perhatikan bahwa string Chunk ID ini diakhiri dengan karakter spasi (0x20). Chunk Data Size bernilai:
Chunk Data Size = 4 + (Num Cue Points * 24)
● Num Cue Points
● List of Cue Points
Berisi kumpulan deskripsi titik penanda (cue point) yang mengikuti format yang dijelaskan pada Tabel A-10.
Tabel A-10: Format titik penanda
Offset Ukuran Deskripsi Nilai
0x00 4 ID Nilai identifikasi yang unik
0x04 4 Position Posisi urutan pemutaran 0x08 4 Data Chunk ID ID RIFF dari chunk Data 0x0c 4 Chunk Start Offset byte dari chunk Data
0x10 4 Block Start Offset byte sampel dari kanal pertama 0x14 4 Sample Offset Offset byte byte sampel dari kanal pertama
Penjelasan Tabel A-10: ID
Setiap titik penanda mempunyai nilai identifikasi unik yang digunakan untuk mengasosiasikan titik penanda dengan informasi pada chunk lain. Contoh, chunk
Label mengandung teks yang menjelaskan titik dalam berkas WAV dengan
mereferensi pada titik penanda yang terkait. Position
Menandakan offset sampel yang diasosiasikan dengan titik penanda, dalam maksud posisi dari sampel dalam aliran final sampel-sampel yang dihasilkan oleh chunk Play
List. Dalam kata lain, jika chunk Play List ada nilai dari seksi ini sama dengan nomor
urutan sampel di mana titik penanda ini akan muncul pada saat pemutaran ulang dari keseluruhan Play List seperti didefinisikan dalam urutan Play List pada chunk Play
List. Jika chunk Play List tidak ada maka nilai seksi ini harus nol. Data Chunk ID
Nilainya menyatakan ID dengan panjang empat byte dari chunk yang mengandung sampel yang ditandai oleh titik penanda ini.
Chunk Start
Nilainya menyatakan offset dari byte chunk dalam chunk Wave List yang mengandung sampel yang ditandai oleh titik penanda ini. Chunk yang dinyatakan disini sama dengan chunk yang dinyatakan oleh nilai Data Chunk ID. Jika berkas WAV tidak mempunyai chunk Wave List maka nilai dari seksi ini adalah nol. Jika
ada chunk Wave List nilainya adalah offset dari chunk pada chunk “wavl”. Chunk pertama dalam chunk Wave List akan dinyatakan dengan nilai offset nol.
Block Start
Nilainya menandakan offset byte dalam chunk-chunk “data” atau “slnt” dari blok yang mengandung sampel tersebut. Permulaan sebuah blok didefinisikan sebagai
byte pertama dalam PCM yang tak terkompresi, atau byte terakhir dalam data WAV
terkompresi di mana dekompresi bisa dimulai untuk menemukan nilai yang berhubungan dengan nilai dari sampel tesebut.
Sample Offset
Menyatakan offset dalam blok (yang dinyatakan oleh Block Start) untuk sampel yang ditandai oleh titik penanda ini. Pada data waveform PCM tak terkompresi, ini adalah
offset byte dalam chunk “data”, nilai di Sample Offset sama dengan jumlah sampel
(boleh dalam byte boleh tidak) dari Block start sampai ke sampel yang ditandai oleh titik penanda ini.
A.3.6 Chunk Play List - “plst”
Chunk ini menyatakan urutan pemutaran dari sederetan titik penanda. Titik-titik penanda
didefinisikan dalam chunk cue, di suatu tempat lain dalam berkas. Sebuah urutan pemutaran dibentuk dari sebuah larik berelemen segmen, setiap segmen mengandung informasi tentang segmen ini harus memulai pemutaran dari sampel mana, berapa panjang segmen ini (dalam sampel) dan berapa banyak pengulangan segmen ini sebelum lanjut ke segmen berikutnya dala urutan pemutaran. Format chunk ini dapat dilihat pada Tabel A-11.
Tabel A-11: Format chunk Play List
Offset Ukuran Deskripsi Nilai
0x00 4 Chunk ID "plst" (0x736C6E74) 0x04 4 Chunk Data Size Banyak segmen * 12 0x08 4 Number of Segments 1 – 0xFFFFFFFF
0x0a List of Segments
Penjelasan Tabel A-11: ● Number of Segments
● List of Segments
Berisi kumpulan deksripsi urutan segmen, formatnya dijelaskan pada Tabel A-12. Tabel A-12: Format segmen
Offset Ukuran Deskripsi Nilai
0x00 4 Cue Point ID 0 – 0xFFFFFFFF 0x04 4 Lenght (in samples) 1 – 0xFFFFFFFF 0x08 4 Number of Repeats 1 – 0xFFFFFFFF Penjelasan Tabel A-12:
Cue Point ID
Menyatakan sampel awal untuk segmen ini dengan merujuk pada nilai ID dari titik penanda yang telah didefinisikan dalam Cue Point List. Nilai seksi ini harus unik terhadap dan pada semua segmen lain.
Length
Panjang segment menyatakan jumlah sampel untuk diputar/diulang untuk titik penanda tertentu. Panjang segmen dihitung mulai dari sampel awal yang telah dinyatakan Cue Point ID.
Number of Repeats
Menentukan berapa kali segmen ini harus diulang sebelum pemutaran dilanjutkan ke segmen berikutnya.
A.3.7 Chunk Associated Data List -”list”
Chunk ini digunakan untuk mendefinisikan label dan nama teks yang diasosiasikan dengan titik
penanda untuk menyediakan bagi setiap label atau nama teks sebuah posisi. Format Tabel ini dapat dilihat pada Tabel A-13.
Tabel A-13: Format chunk Associated Data List
Offset Ukuran Deskripsi Nilai
0x00 4 Chunk ID "list" (0x6C696E74)
0x04 4 Chunk Data Size Tergantung dari teks yang dikandung
0x08 4 Type ID "adtl" (0x6164746C) 0x0c List of Text Labels and Names
Penjelasan Tabel A-13: ● Type ID
digunakan untuk mengidentifikasi tipe dari Associated Data List dan selalu bernilai “adtl”.
● List of Text Lables and Names
Adalah sebuah daftar berisi chunk-chunk berbeda yang mendefinisikan teks dalam cara-cara yang tidak sama. Tiga macam tipe utama yang dipakai dalam berkas WAV adalah:
A.3.7.1 Chunk Label - “labl”
Chunk ini hanya bisa dikandung dalam chunk Associated Data List. Chunk ini digunakan unuk
mengasosiasikan sebuah label teks dengan sebuah titik penanda. Informasi ini sering ditampilkan setelah sebuah penanda atau bendara pada program editor audio digital. Format chunk ini dapat dilihat pada Tabel A-14.
Tabel A-14: Format chunk Label
Offset Ukuran Deskripsi Nilai
0x00 4 Chunk ID "labl" (0x6C61626C)
0x04 4 Chunk Data Size Tergantung pada teks yang dikandung
0x08 4 Cue Point ID 0 - 0xFFFFFFFF
0x0c Text
Penjelasan Tabel A-14: ● Cue Point ID
Menyatakan titik sampel yang berkoresponden dengan label teks ini dengan merujuk pada ID dari titik penanda yang telah didefinisikan dalam Cue Point List.
● Text
Teks yang dikandung di sini berupa string karakter yang diterminasi dengan karakter NULL (0x00). Jika jumlah karakter tidak genap, maka padding byte harus ditambahkan pada akhir string. Padding byte tidak boleh diikutsertakan dalam Chunk Data Size.
A.3.7.2 Chunk Labeled Text - ”ltxt”
Chunk ini hanya bisa dikandung dalam chunk Associated Data List. Chunk ini digunakan untuk
mengasosiasikan label teks dengan sebuah bagian atau seksi dari data waveform. Informasi ini sering ditampilkan dalam bagian yang ditandai dari waveform pada program editor audio digital. Format chunk ini dapat dilihat pada Tabel A-15.
Tabel A-15: Format chunk Labeled Text
Offset Ukuran Deskripsi Nilai
0x00 4 Chunk ID "ltxt" (0x6C747874)
0x04 4 Chunk Data Size Tergantung teks yang dikandung
0x08 4 Cue Point ID 0 - 0xFFFFFFFF 0x0c 4 Sample Length 0 - 0xFFFFFFFF 0x10 4 Purpose ID 0 - 0xFFFFFFFF 0x12 2 Country 0 - 0xFFFF 0x014 2 Language 0 - 0xFFFF 0x16 2 Dialect 0 - 0xFFFF 0x18 2 Code Page 0 - 0xFFFF 0x1A Text
Penjelasan Tabel A-15: ● Cue Point ID
Menyatakan titik awal sampel yang berkoresponden dengan label teks ini dengan merujuk pada ID dari titik penanda yang telah didefinisikan dalam Cue Point List. Nilainya harus unik terhadap dan untuk setiap Cue Point ID.
● Sample Lenght
Mendefinisikan berapa banyak sampel dimulai dari titik penanda sebuah bagian atau seksi merenentang.
○ Purpose ID
Menyatakan untuk kegunaan apa teks yang dinyatakan disini. Contoh, nilai “scrp” menyatakan teks skrip, “capt” menyatakan close-caption. Masih ada beberapa Purpose ID lainnya, tetapi biasanya digunakan untuk tipe berkas RIFF lain (tidak biasa ditemukan dalam berkas WAV)
● Country, Language, Dialect dan Code Page
Seksi ini digunakan untuk menyatakan informasi tentang lokasi dan bahasa yang digunakan dalam teks dan biasanya digunakan untuk queri untuk mendapatkan informasi dari sistem operasi
● Text
Teks yang dikandung di sini berupa string karakter yang diakhiri dengan simbol null. Jika jumlah karakter tidak genap, maka padding byte harus ditambahkan pada akhir
A.3.7.3 Chunk Note - “note”
Chunk ini hanya bisa dikandung dalam chunk Associated Data List. Chunk ini digunakan untuk
mengasosiasikan komentar teks dengan titik penanda. Informasi dalam chunk ini disimpan dengan cara yang sama seperti dalam chunk Label. Format chunk ini dapat dilihat pada Tabel A-16.
Tabel A-16: Format chunk Note
Offset Ukuran Deskripsi Nilai
0x00 4 Chunk ID "note" (0x6E6F7465)
0x04 4 Chunk Data Size Tergantung dari teks yang dikandung
0x08 4 Cue Point ID 0 – 0xFFFFFFFF
0x0C Text
Penjelasan Tabel A-16: ● Cue Point ID
Menyatakan titik sampel yang berkoresponden dengan teks ini dengan merujuk pada ID dari titik penanda yang telah didefinisikan dalam Cue Point List. Nilainya harus unik terhadap dan untuk setiap Cue Point ID.
● Text
Teks yang terkandung adalah dalam bentuk string karakter yang diterminasi dengan karakter NULL (0x00). Jika jumlah karakter tidak genap, maka padding byte harus ditambahkan pada akhir string. Padding byte tidak boleh diikutsertakan dalam Chunk
Data Size.
A.3.8 Chunk Sampler - “smpl”
Format chunk ini bisa dilihat pada Tabel A-17. Chunk ini bersifat opsional. Tabel A-17: Format chunk Sampler
Offset Ukuran Deskripsi Nilai
0x00 4 Chunk ID "smpl" (0x736D706C)
0x04 4 Chunk Data Size 36 + (Num Sample Loops * 24) + Sampler Data
0x08 4 Manufacturer 0 - 0xFFFFFFFF
0x0C 4 Product 0 - 0xFFFFFFFF
0x10 4 Sample Period 0 - 0xFFFFFFFF 0x14 4 MIDI Unity Note 0 - 127
Offset Ukuran Deskripsi Nilai
0x18 4 MIDI Pitch Fraction 0 - 0xFFFFFFFF
0x1C 4 SMPTE Format 0, 24, 25, 29, 30 0x20 4 SMPTE Offset 0 - 0xFFFFFFFF 0x024 4 Num Sample Loops 0 - 0xFFFFFFFF 0x28 4 Sampler Data 0 - 0xFFFFFFFF
0x2C List of Sample Loops
Penjelasan Tabel A-17: ● Manufacturer
Seksi ini menyatakan kode MMA (MIDI Manufacturer's Association) dari sampler yang seharusnya menerima berkas WAV ini. Setiap pembuat produk MIDI mempunyai ID unik yang mengidentifikasikan perusahaan pembuat tersebut.
Nilainya disimpan dengan beberapa informasi tambahan agar dapat dilakukan translasi ke nilai yang digunakan dalam MIDI System Exclusive. Byte yang tinggi menyatakan jumlah byte bawah (low order byte) yang valid sebagai kode pembuatnya (1 atau 3 byte). ● Product
Menyatakan MIDI model ID, ID ini didefinisikan oleh pembuat yang dinyatakan pada seksi Manufacturer.
● Sample Period
Menyatakan durasi waktu dari satu sampel dalam nano detik (biasanya sama dengan 1/
Samples Per Second). ● MIDI Unity Mode
Menspesifikasikan di tangga nada apa sampel akan dimainkan dalam sample rate aslinya. Seksi ini sama dengan seksi MIDI Unshifted Note dalam chunk Instrument. ● MIDI Pitch Fraction
Menyatakan fraksi dari kenaikan semitone dari yang dispesifikasikan oleh seksi MIDI
Unity Note. ● SMPTE Format
SMPTE adalah akronim dari Society of Motion Picture and Television, seksi ini menyatakan format waktu SMTPE yang dipakai pada seksi SMTPE Offset. Jika nilai seksi ini nol, maka nilai dari seksi SMTPE Offset juga harus nol. Tabel A-18 menunjukkan nilai yang mungkin dipakai dan artinya.
Tabel A-18: Nilai Format SMPTE
Nilai Format SMPTE
0 No SMPTE offset
24 24 frames per second
25 25 frames per second
29 29 frames per second
30 30 frames per second ● SMPTE Offset
Nilainya menyatakan offset waktu untuk sinkronisasi atau kalibrasi sampel pertama dalam waveform. Nilai ini menggunakan format 0xhhmmssff, dimana hh adalah jam (-23 sampai 23), mm adalah menit (0 sampai 59), ss adalah detik (0 sampai 59) dan ff adalah nilai yang menyatakan jumlah frame (0 sampai -1).
● Num Sample Loops
Menyatakan jumlah definisi Sample Loop dalam List of Sample Loops. Nilainya sama dengan nol jika tidak ada List of Sample Loops.
● Sample Data
Nilainya menyatakan jumlah byte yang termasuk ke dalam chunk ini setelah seksi ini, atau dalam kata lain menyatakan besarnya List of Sample Loops.
● List of Sample Loops
Daftar ini berisi kumpulan terurut deskripsi pengulangan sampel, deskripsinya mengikuti format pada Tabel A-19.
Tabel A-19: Format Sample Loop
Offset Ukuran Deskripsi Nilai
0x00 4 Cue Point ID 0 - 0xFFFFFFFF 0x04 4 Type 0 - 0xFFFFFFFF 0x08 4 Start 0 - 0xFFFFFFFF 0x0C 4 End 0 - 0xFFFFFFFF 0x10 4 Fraction 0 - 0xFFFFFFFF 0x14 4 Play Count 0 - 0xFFFFFFFF
Penjelasan Tabel A-19: ■ Cue Point ID
Menyatakan ID unik yang berkoresponden dengan sebuah titik penanda yang telah didefinisikan dalam Cue Point List.
■ Type
Mendefinisikan bagaimana cara pengulangan sampel. Nilai dan tipe pengulangan yang berasosiasi dengan nilai tersebut dijabarkan dalam Tabel A-20.
Tabel A-20: Nilai dan Tipe pengulangan
Nilai Tipe Pengulangan
0 Loop forward (normal)
1 Alternating loop (forward/backward, aslo known as Ping Pong)
2 Loop backward (reverse)
3-31 Reserved for future standard types
32 - 0xFFFFFFFF Sampler specific types (defined by manufacturer) ■ Start
Menyatakan offset byte sampel pertama dalam data waveform yang akan diputar dalam pengulangan
■ End
Menyatakan offset byte sampel terakhir dalam data waveform yang akan diputar dalam pengulangan
■ Fraction
Menyatakan bagian mana dari sampel yang akan dilakukan pengulangan. Nilai nol berarti tidak ada pembagian sampel, atau keseluruhan sampel akan diulang. ■ Play Count
Menyatakan jumlah atau banyaknya pengulangan yang akan dilakukan. Nilai nol menyatakan pengulangan tak berakhir, pengulangan ini akan berakhir ketika ada gangguan atau interupsi dari luar yang mengganggu pemutaran.
A.3.9 Chunk Instrument - "inst"
Chunk ini dipakai untuk menjelaskan bagaimana data waveform sebaiknya dimainkan dengan
instrumen. Informasi ini berguna untuk menkomunikasikan informasi musikal antar program-program musik yang berbasis sampel. Chunk ini bersifat opsional dan hanya boleh ada satu dalam satu berkas WAV. Tabel A-21 menjelaskan format chunk ini.
Tabel A-21: Format chunk Instrument
Offset Ukuran Deskripsi Nilai
0x00 4 Chunk ID "inst" (0x696E7374) 0x04 4 Chunk Data Size 7
0x08 1 Unshifted Note 0 – 127 0x09 1 Fine Tune (dB) -50 – +50 0x0A 1 Gain -64 – +64 0x0B 1 Low Note 0 – 127 0x0C 1 High Note 0 – 127 0x0D 1 Low Velocity 1 – 127 0x0E 1 High Velocity 1 – 127 Penjelasan Tabel A-21:
● Unsihfted Note
Seksi ini mempunyai arti yang sama dengan seksi MIDI Unity Note pada chunk Sampler, yang menspesifikasikan di tangga nada apa sampel akan dimainkan dalam sample rate aslinya.
● Fine Tune
nilainya menyatakan sebanyak apa pitch sampel harus diubah ketika suara akan diputar dalam ukuran cent (1 cent sama dengan 1/100 semitone). Nilai negatif berarti picth-nya dimainkan lebih rendah, nilai positif berarti kebalikannya.
● Gain
Nilainya menyatakan besar desibel untuk penyesuaian ketika sinyal dikeluarkan. Nilai 0dB berarti tidak ada perubahan terhadap sinyal, 6dB berarti amplitudo tiap sampel akan digandakan dan nilai -6dB berarti amplitudo tiap sampel akan di bagi dua. Setiap perubahan +/-6dB akan menggandakan atau membagi dua lagi amplitudo tiap sampel. ● Low Note dan High Note
Seksi ini menyatakan rentang nada MIDI, yang akan dipakai waveform ketika menerima
event nada MIDI (baik dari perangkat lunak atau dipicu oleh sebuah kontroler MIDI).
Nilai dari seksi Unshifted Note tidak perlu termasuk dalam rentang nada ini. ● Low Velocity dan High Velocity
Seksi ini menyatakan rentang kecepatan MIDI dari waveform ketika dimainkan. Nilai 1 adalah terendah dan 127 adalah tertinggi.
FFT adalah algoritma yang cukup sulit. Detail mengenai FFT hanya dipelajari orang yang mendalami jenis transformasi Fourier ini. Pada bagian ini akan dibahan mengenai operasi umu dari FFT serta pembahasan mengenai bilangan kompleks yang digunakan dalam operasi FFT.
Dalam notasi bilangan kompleks, domain waktu dan frekuensi terdiri dari sejumlah N bilangan kompleks. Setiap elemen N tersebut terdiri dari dua bagian, yaitu bagian bilangan riil dan bagian bilangan imajiner. Misalkan ketika berberbicara mengenai suatu sampel bilangan kompleks X[42], maka sampel tersebut mengacu pada kombinasi dari ReX[42] dan ImX[42]. Dengan kata lain setiap variabel kompleks memiliki dua bilangan di dalamnya. Ketika dua veriabel kompleks dikalikan maka empat komponen individual dikombinasikan untuk membentuk dua komponen hasil. Pembahasan berikutnya akan menggunakan notasi bilangan kompleks. Istilah sinyal, poin, sampel. Dan nilai mengacu pada kombinasi dari bilangan riil dan imajiner.
FFT beroperasi dengan memecah N poin sinyal domain waktu menjadi N sinyal domain waktu yang masing-masing terdiri dari poin tunggal. Langkah kedua adalah menghitung N spektrum frekuensi yamg bersesuaian dengan N sinyal domain waktu itu tersebut. Kemudian N spektrum tesebut dibuat menjadi sebuah spektrum frekuensi tunggal. Gambar B-1 memberikan contoh dekomposisi domain waktu menggunakan FFT.
Pada contoh Gambar B-1, 16 poin sinyal didekomposisi melalui emapt tahapan. Sinyal 16 poin dipecah menjadi dua sinyal yang masing-masing terdiri dari 8 poin. Kemudian sinyal didekomposisi menjadi 4 sinyal masing-masing 4 poin. Pola ini terus berlanjut sampai hanya terdapat N sinyal yang hanya terdiri dari sebuah poin. Suatu dekomposisi berkesinambungan digunakan setiap kali sebuah sinyal dipecah menjadi dua. Oleh karena itu, sinyal dipisahkan menajdi sampel genap dan ganjil. Dibutuhkan log2N tahapan untuk proses dekomposisi. Maka pada Gambar B-1,
dibutuhkan 4 tahapan untuk melakukan dekomposisi 16 ( 16=24 ) poin sinyal.
Pada Gambar B-2 diperlihatkan pola penyusunan kembali sinyal yang telah didekomposisi. Pada bagian kiri, jumlah sampel dari sinyal asli didaftarkan dengan representasi binernya. Pada bagian kanan, sampel yang telah disusun kembali tersebut didaftarkan dengan representasi binernya. Ide dasar dari proses ini adalah bahwa bilangan biner merupakan pembalikan satu sama lain. Misalkan sampel 3 (0011) dipertukarkan dengan sampel 12 (1100). demikian juga sampel 14 (1110) dipertukarkan dengan sampel 7 (0111), dan seterusnya. Dekomposisi FFT domain waktu ini biasanya dilakukan dengan algoritma bit reversal sorting. Algoritma ini melibatkan penyusunan kembali urutan N sampel sinyal domain waktu dengan cara menghitung diner dengan mebalik bit dari kiri ke kanan.
Langkah selanjutnya dari algoritma FFT adalah menghitung spektrum frekuensi dari 1 poin sinyal domain waktu. Dan langkah terakhir adalah mengkombinasikan N spektrum frekuensi dalam urutan pembalikan yang tepat. Pada tahapan pertama, 16 spektrum frekuensi (masing-masing 1 poin) disintesis menjadi 8 buah spektrum frekuensi (masing-masing 2 poin). Pada tahapan kedua 8 buah spektrum frekuensi masing 2 poin) disintesis mejadi 4 spektrum frekuensi (masing-masing 4 poin) dan demikian seterusnya. Pada tahapan terakhir dihasilkan 16 poin dalam 1 buah spektrum frekuensi.
Gambar B-3 menunjukkan bagaimana dua spektrum frekuensi yang masing-masing terdiri dari 4 poin dikombinasikan menajdi sebuah spektrum frekuensi 8 poin. Sintesisasi ini mengembalikan dekomposisi berkesinambungan yang dilakukan pada domain waktu. Dengan kata lain, operasi domain frekuensi harus bersesuaian dengan operasi pada domain waktu yang mengkombinasikan dua buah sinyal 4 poin. Misalkan terdapat dua sinyal domain waktu abcd dan efgh. Sebuah sinyal domain waktu 8 pon dapat dibentuk melalui penyisipan 4 poin sinyal dengan nol, sehingga abcd menjadi a0b0c0d0 dan efgh menjadi e0f0g0h0. Penambahan kedua sinyal 8 poin akan menghasilkan
abcdefgh.
Pada Gambar B-3 penyisipan domain waktu berkoresponden dengan duplikasi spektrum frekuensi. Oleh karena itu dalam FFT spektrum frekuensi dikombinasikan dengan cara penduplikasian kemudan menggabungkan spektrum yang terduplikasi tersebut.
Agar pencocokan terjadi saat penggabungan spektrum, maka dua sinyal domain waktu disisipi dengan nol dengan cara yang berbeda. Pada sinyal yang satu, poin ganjil adalah 0, sedangkan pada sinyal yang lain poin genap adalah 0. dengan kata lain, salah satu sinyal domain waktu (0e0f0g0h dalam Gambar B-3) digeser ke kanan. Pergeseran sinyal domain waktu ini sama halnya dengan mengalikan spektrum dengan suatu sinusoid. Untuk melihat hal ini, harus diingat bahwa pergeseran dalam domain waktu ekivalen dengan sinyal dengan fungsi delta. Hal tersebut menghasilkan pengalian spektrum sinyal dengan spektrum dari fungsi pergeseran delta. Spektrum dari fungsi
pergeseran delta adalah sinusoid. Gambar B-4 memperlihatkan diagram alir pengkombinasian dua spektrum 4 poin menjadi sebuah spektrum 8 poin.
Diagram alir sederhana ini sering disebut “butterfly” (Gambar B-5) karena melihar dari bentuk diagram intu yang mirirp dengan bentuk sayap kupu-kupu. “Buterfly” adalah dasar dari perhitungan FFT untuk mengubah dua poin bilangan kompleks menjadi dua poin bilangan kompleks lain.
Gambar B-3: Sintesis FFT
Gambar B-6 menunjukkan struktruk dari FFT. Dekomposisi domain waktu diselesaikan dengan
bit reversal algorithm. Sintesisasi domain frekuensi membutuhkan tiga pengulangan. Pengulangan
terluar melakukan log2N tahapan (setiap tahapan pada Gambar B-1), mulai dari bawah ke atas.
Pengulangan kedua berpindah melalui setiap spektrum frekuensi dalam tahapan (terlihat dari tiap kotak di tiap level dalam Gambar B-1). Perulangan terdalam (ketiga) menggunakan pola
“butterfly” untuk menghitung poin di tiap spektrum frekuensi (melakukan pengulangan sepanjang
sample dalam tiap kotak dalam Gambar B-1). Kotak overhead dalam Gambar B-6 menentukan indeks awal dan akhir dari pengulangan.
DFT menggunakan dua pengulangan bersarang dimana tiap pengulangan melakukan N poin putaran. Hal ini berarti jumlah total operasi sebanding dengan N kali N. Waktu yang dibutuhkan untuk menyelesaikan program adalah N2, dengan N adalah jumlah poin DFT. Dengan strategi
yang sama, dapat diturunkan waktu eksekusi untuk FFT (Gambar B-8), Waktu yang dibutuhkan untuk pembalikan bit dapat diabaikan. Dalam tiap log2N tahapan terdapat N /2 perhitungan
“butterfly”. Hal ini berarti waktu eksekusi program mendekati N log2N . Semakin tinggi nilai N,
maka eksekusi akan semakin lambat. Misalkan 32 poin FFT lebih cepat 10 kali daripada dihitung dengan metode korelasi. FFT dengan 4096 poin lebih cepat 1000 kali. Untuk nilai N kecil (
32≤ N ≤128 ), FFT cukup berpengaruh. Untuk nilai N yang besar ( N 1024 ) FFT sangat berpengaruh. Gambar B-7 mempelihatkan perbandingan waktu eksekusi DFT dengan FFT. [SMI06]
Gambar B-7: Perbandingan waktu eksekusi DFT dan FFT Gambar B-6: Diagram alir FFT
C.1 Pengujian 1.1.1
Tanda air masukan: 00100100 Tanda air keluaran: 01001001
C.2 Pengujian 1.1.2
Tanda air masukan: 1000101011100 Tanda air keluaran: 1001101100101
C-1
Tabel C-1: Data proses decoding pengujian 1.1.1
Tabel C-2: Data proses decoding pengujian 1.1.2
1 -4313090 -4301700 - -2 -4201170 -4184920 111925 116781 3 -3686890 -3683170 514275 501754 4 -3760870 -3840040 -73978.7 -156873 5 -3797920 -3826600 -37050 13438 6 -3791320 -3747280 6596.79 79321.6 7 -3773180 -3870580 18140.5 -123301 8 -4166990 -4181860 -393811 -311284 9 -4225970 -3946040 -58974.2 235825 10 -3401010 -3356100 824958 589944 11 -3294690 -3493390 106321 -137295 12 -3198710 -3014380 95978.5 479010 13 -3051430 -3215120 147277 -200741 14 -3339350 -3465500 -287912 -250381 Segmen ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
1 -4313090 -4302160 - -2 -4201170 -4236410 111925 65744 3 -3686890 -3690620 514275 545793 4 -3760870 -3789230 -73979 -98615 5 -3797920 -3830890 -37050 -41656 6 -3791320 -3793250 6597 37635 7 -3773180 -3839020 18141 -45766 8 -4166990 -4240940 -393811 -401925 9 -4225970 -3911550 -58974 329393 Segmen
ke-Data magnitudetotal per segmen Data Perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
C.3 Pengujian 1.2.1
Tanda air masukan: 00100100 Tanda air keluaran: 10001011
C.4 Pengujian 1.2.2
Tanda air masukan:1000101011100 Tanda air keluaran: 1000101101001
C.5 Pengujian 2.1.1
Tanda air masukan: 00100100 Tanda air keluaran: 00101101
Tabel C-3: Data proses decoding pengujian 1.2.1
Tabel C-4: Data proses decoding pengujian 1.2.2
1 -4313090 -4300570 - -2 -4201170 -4155660 111925 144909 3 -3686890 -3677570 514275 478089 4 -3760870 -3806360 -73978.7 -128793 5 -3797920 -3934410 -37050 -128048 6 -3791320 -3723010 6596.79 211398 7 -3773180 -4125590 18140.5 -402575 8 -4166990 -4264210 -393811 -138618 9 -4225970 -3304080 -58974.2 960128 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
1 -4313090 -4301370 - -2 -4201170 -4122760 111925 178611 3 -3686890 -3647350 514275 475402 4 -3760870 -3816250 -73978.7 -168899 5 -3797920 -3915460 -37050 -99204.3 6 -3791320 -3716600 6596.79 198853 7 -3773180 -4102910 18140.5 -386308 8 -4166990 -4282090 -393811 -179173 9 -4225970 -3356010 -58974.2 926075 10 -3401010 -3369170 824958 -13158 11 -3294690 -3119230 106321 249941 12 -3198710 -3208560 95978.5 -89329.7 13 -3051430 -3498800 147277 -290239 Segmen
ke-Data magnitude total per segmen ke-Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
C.6 Pengujian 2.1.2
Tanda air masukan: 1000101011100 Tanda air keluaran: 1001101110101
C.7 Pengujian 2.2.1
Tanda air masukan: 00100100 Tanda air keluaran: 01100011
Tabel C-5: Data proses decoding pengujian 2.1.1
Tabel C-6: Data proses decoding pengujian 2.1.2
1 -4792840 -4788100 - -2 -4124240 -4152250 668599 635850 3 -4163280 -4211550 -39039.3 -59298.7 4 -4137110 -4129730 26162.6 81818.2 5 -4112380 -4171410 24730.2 -41677.4 6 -4095040 -4137800 17348.3 33604.2 7 -4084150 -4087130 10882.5 50669.8 8 -4090910 -4121820 -6754.31 -34684.3 9 -3950470 -3905560 140438 216258 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
1 -4792840 -4788540 - -2 -4124240 -4103910 668599 684630 3 -4163280 -4208520 -39039.3 -104613 4 -4137110 -4190000 26162.6 18524.6 5 -4112380 -4161640 24730.2 28362.7 6 -4095040 -4116710 17348.3 44921 7 -4084150 -4110530 10882.5 6184.83 8 -4090910 -4071450 -6754.31 39078.8 9 -3950470 -3899370 140438 172086 10 -3671920 -3524730 278545 374639 11 -3587520 -3689360 84400.7 -164630 12 -3586360 -3442010 1162.44 247345 13 -3578400 -3729140 7964.72 -287132 14 -3529530 -3437850 48865 291289 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
C.8 Pengujian 2.2.2
Tanda air masukan: 1000101011100 Tanda air keluaran: 0001001101011
C.9 Pengujian 3.1.1
Tanda air masukan: 00100100 Tanda air keluaran: 00101100
Tabel C-8: Data proses decoding pengujian 2.2.2
1 -4792840 -4781150 2 -4124240 -4123250 668599 657909 3 -4163280 -4189570 -39039.3 -66328.9 4 -4137110 -4171360 26162.6 18216.2 5 -4112380 -4125300 24730.2 46054.1 6 -4095040 -4132090 17348.3 -6789.76 7 -4084150 -4122930 10882.5 9164.21 8 -4090910 -4040020 -6754.31 82904.6 9 -3950470 -3687440 140438 352588 10 -3671920 -3653360 278545 34079.3 11 -3587520 -3520830 84400.7 132528 12 -3586360 -3728140 1162.44 -207306 13 -3578400 -3501380 7964.72 226753 14 -3529530 -3286920 48865 214467 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
Tabel C-7: Data proses decoding pengujian 2.2.1
1 -4792840 -4781120 2 -4124240 -4155240 668599 625883 3 -4163280 -4181450 -39039.3 -26214.2 4 -4137110 -4145990 26162.6 35462.2 5 -4112380 -4135480 24730.2 10503 6 -4095040 -4129810 17348.3 5673.41 7 -4084150 -4142490 10882.5 -12677.4 8 -4090910 -4026130 -6754.31 116356 9 -3950470 -3676740 140438 349395 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
C.10 Pengujian 3.1.2
Tanda air masukan: 1000101011100 Tanda air keluaran: 1001111010101
C.11 Pengujian 3.2.1
Tanda air masukan: 00100100 Tanda air keluaran: 00100100
Tabel C-9: Data proses decoding pengujian 3.1.1
Tabel C-10: Data proses decoding pengujian 3.1.2
1 -4158280 -4148900 - -2 -3550310 -3576390 607969 572505 3 -3486920 -3538040 63393.3 38358.9 4 -3367570 -3375640 119351 162400 5 -3468100 -3527980 -100534 -152349 6 -3515920 -3573150 -47820.8 -45163.7 7 -3633660 -3591430 -117735 -18279.6 8 -3498980 -3507510 134679 83919.3 9 -3388500 -3416320 110483 91193.1 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
1 -4158280 -4148850 - -2 -3550310 -3515440 607969 633404 3 -3486920 -3514230 63393.3 1214.32 4 -3367570 -3428120 119351 86114.4 5 -3468100 -3520790 -100534 -92672.4 6 -3515920 -3525200 -47820.8 -4411.17 7 -3633660 -3635270 -117735 -110072 8 -3498980 -3452250 134679 183027 9 -3388500 -3411020 110483 41221.5 10 -3408820 -3342510 -20329.3 68512.6 11 -3403720 -3469280 5100.45 -126765 12 -3382000 -3328460 21721.5 140811 13 -3295120 -3335580 86880.2 -7119.59 14 -3262320 -3284160 32806.1 51420 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
C.12 Pengujian 3.2.2
Tanda air masukan: 1000101011100 Tanda air keluaran: 0011010001100
C.13 Pengujian 4.1.1
Tanda air masukan: 00100100 Tanda air keluaran: 01101101
Tabel C-11: Data proses decoding pengujian 3.2.1
Tabel C-12: Data proses decoding pengujian 3.2.2
1 -4158280 -4148860 - -2 -3550310 -3559010 607969 589851 3 -3486920 -3528320 63393.3 30688.9 4 -3367570 -3379490 119351 148831 5 -3468100 -3499810 -100534 -120326 6 -3515920 -3626070 -47820.8 -126256 7 -3633660 -3548590 -117735 77475.4 8 -3498980 -3447320 134679 101269 9 -3388500 -3349910 110483 97415.9 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
1 -4158280 -4149540 - -2 -3550310 -3553470 607969 596072 3 -3486920 -3531480 63393.3 21986.7 4 -3367570 -3400430 119351 131051 5 -3468100 -3491870 -100534 -91433.1 6 -3515920 -3615910 -47820.8 -124040 7 -3633660 -3539330 -117735 76576.4 8 -3498980 -3452860 134679 86468.3 9 -3388500 -3387190 110483 65668.8 10 -3408820 -3476950 -20329.3 -89755.9 11 -3403720 -3335050 5100.45 141895 12 -3382000 -3312420 21721.5 22637.7 13 -3295120 -3302350 86880.2 10069.6 14 -3262320 -3364030 32806.1 -61680.8 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
C.14 Pengujian 4.1.2
Tanda air masukan: 1000101011100 Tanda air keluaran: 1001100110000
C.15 Pengujian 4.2.1
Tanda air masukan: 00100100 Tanda air keluaran: 00001001
Tabel C-13: Data proses decoding pengujian 1.1.2
Tabel C-14: Data proses decoding pengujian 4.1.2
1 -4952970 -4935460 - -2 -3753280 -3764980 1199680 1170480 3 -3507640 -3511890 245642 253098 4 -3390450 -3392010 117192 119870 5 -3410230 -3445560 -19785.9 -53550.2 6 -3419720 -3448670 -9482.44 -3101.4 7 -3350380 -3322480 69339.7 126191 8 -3335990 -3424670 14387.8 -102192 9 -3405520 -3424230 -69536.2 440.95 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
1 -4952970 -4936680 - -2 -3753280 -3733480 1199680 1203200 3 -3507640 -3516280 245642 217195 4 -3390450 -3429650 117192 86638.6 5 -3410230 -3437230 -19785.9 -7587.08 6 -3419720 -3382800 -9482.44 54431.3 7 -3350380 -3346630 69339.7 36171.7 8 -3335990 -3358080 14387.8 -11450.9 9 -3405520 -3423660 -69536.2 -65580.8 10 -3431330 -3393370 -25804.9 30290 11 -3375350 -3360600 55975.4 32767.7 12 -3404920 -3400810 -29562.4 -40209.9 13 -3459570 -3553800 -54655.3 -152982 14 -3667040 -3768630 -207470 -214831 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
C.16 Pengujian 4.2.2
Tanda air masukan: 1000101011100 Tanda air keluaran: 1001100110001
C.17 Pengujian 5.1.1
Tanda air masukan: 00100100 Tanda air keluaran: 01101001
Tabel C-15: Data proses decoding pengujian 4.2.1
Tabel C-16: Data proses decoding pengujian 4.4.2
1 -4952970 -4921660 - -2 -3753280 -3745120 1199680 1176540 3 -3507640 -3500330 245642 244788 4 -3390450 -3402180 117192 98156.4 5 -3410230 -3445320 -19785.9 -43144.9 6 -3419720 -3387690 -9482.44 57631.9 7 -3350380 -3346910 69339.7 40782.9 8 -3335990 -3404940 14387.8 -58036.4 9 -3405520 -3412140 -69536.2 -7197.06 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
1 -4952970 -4921580 2 -3753280 -3707970 1199680 1213610 3 -3507640 -3499010 245642 208958 4 -3390450 -3424680 117192 74326.7 5 -3410230 -3442500 -19785.9 -17815.1 6 -3419720 -3400850 -9482.44 41643.8 7 -3350380 -3346140 69339.7 54712.3 8 -3335990 -3421780 14387.8 -75636.5 9 -3405520 -3433050 -69536.2 -11269.8 10 -3431330 -3349490 -25804.9 83556.2 11 -3375350 -3393820 55975.4 -44334.4 12 -3404920 -3539610 -29562.4 -145789 13 -3459570 -3800180 -54655.3 -260567 14 -3667040 -3711630 -207470 88551.9 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
C.18 Pengujian 5.1.2
Tanda air masukan: 1000101011100 Tanda air keluaran: 1010101100100
C.19 Pengujian 5.2.1
Tanda air masukan: 00100100 Tanda air keluaran: 10101011
Tabel C-17: Data proses decoding pengujian 5.1.1
Tabel C-18: Data proses decoding pengujian 5.1.2
1 -4385310 -4375540 2 -4273470 -4319890 111834 55655.3 3 -3665850 -3674690 607625 645193 4 -1.#INF -3798700 -1.#INF -124011 5 -3798360 -3838070 1.#INF -39365.6 6 -3751000 -3778900 47356.2 59167.5 7 -3793120 -3870240 -42113.5 -91341.1 8 -4230850 -4329470 -437732 -459227 9 -4289470 -4004230 -58619 325236 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
1 -4385310 -4375080 2 -4273470 -4257310 111834 117763 3 -3665850 -3662790 607625 594519 4 -1.#INF -3846640 -1.#INF -183847 5 -3798360 -3833690 1.#INF 12953 6 -3751000 -3740910 47356.2 92780.6 7 -3793120 -3910980 -42113.5 -170070 8 -4230850 -4247620 -437732 -336640 9 -4289470 -4027180 -58619 220437 10 -3484860 -3438100 804607 589078 11 -3384880 -3542260 99980 -104155 12 -3303760 -3115660 81125.9 426594 13 -3133430 -3255890 170322 -140231 14 -3387420 -3528360 -253982 -272462 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
C.20 Pengujian 5.2.2
Tanda air masukan: 1000101011100 Tanda air keluaran: 1010101101001
C.21 Pengujian 6.1.1
Tanda air masukan: 00100100 Tanda air keluaran: 00100110
Tabel C-19: Data proses decoding pengujian 5.2.1
Tabel C-20: Data proses decoding pengujian 5.2.2
1 -4385310 -4372380 2 -4273470 -4199380 111834 173006 3 -3665850 -3637210 607625 562165 4 -1.#INF -3830330 -1.#INF -193118 5 -3798360 -3915620 1.#INF -85290.8 6 -3751000 -3694730 47356.2 220896 7 -3793120 -4198430 -42113.5 -503703 8 -4230850 -4323820 -437732 -125387 9 -4289470 -3404660 -58619 919154 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
1 -4385310 -4372120 2 -4273470 -4193080 111834 179038 3 -3665850 -3630270 607625 562816 4 -1.#INF -3831290 -1.#INF -201026 5 -3798360 -3906800 1.#INF -75511 6 -3751000 -3729080 47356.2 177724 7 -3793120 -4177810 -42113.5 -448730 8 -4230850 -4345930 -437732 -168125 9 -4289470 -3443390 -58619 902538 10 -3484860 -3435130 804607 8269.66 11 -3384880 -3233920 99980 201208 12 -3303760 -3297320 81125.9 -63401.8 13 -3133430 -3542100 170322 -244785 14 -3387420 -3435290 -253982 106810 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
C.22 Pengujian 6.1.2
Tanda air masukan: 1000101011100 Tanda air keluaran: 1011011010101
C.23 Pengujian 6.2.1
Tanda air masukan: 00100100 Tanda air keluaran: 00110110
Tabel C-22: Data proses decoding pengujian 6.1.1 Tabel C-21: Data proses decoding pengujian 6.1.1
1 -4471400 -4463410 2 -3417540 -3418810 1053860 1044600 3 -3637640 -3687300 -220101 -268492 4 -3667900 -3629790 -30259 57509.5 5 -3556150 -3531170 111756 98625.3 6 -3512860 -3538360 43289.4 -7191.92 7 -3600470 -3584140 -87617.6 -45785 8 -3555690 -3537120 44780.7 47020.6 9 -3346220 -3360010 209471 177110 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
1 -4471400 -4463750 2 -3417540 -3369230 1053860 1094520 3 -3637640 -3673160 -220101 -303925 4 -3667900 -3688730 -30259 -15569.6 5 -3556150 -3518810 111756 169913 6 -3512860 -3538860 43289.4 -20041.1 7 -3600470 -3616440 -87617.6 -77582.5 8 -3555690 -3494380 44780.7 122055 9 -3346220 -3369940 209471 124442 10 -3397520 -3402270 -51296.9 -32333.2 11 -3319080 -3333040 78442.6 69234.2 12 -3365760 -3266820 -46686.8 66223.7 13 -3255590 -3312550 110175 -45729.4 14 -3299900 -3264280 -44313.2 48263.9 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
C.24 Pengujian 6.2.2
Tanda air masukan: 1000101011100 Tanda air keluaran: 0011011010101
C.25 Pengujian 7.1.1
Tanda air masukan: 00100100 Tanda air keluaran: 00100100
Tabel C-24: Data proses decoding pengujian 6.2.2 Tabel C-23: Data proses decoding pengujian 6.2.1
1 -4471400 -4480870 2 -3417540 -3446480 1053860 1034400 3 -3637640 -3691270 -220101 -244795 4 -3667900 -3639970 -30259 51298.7 5 -3556150 -3481660 111756 158309 6 -3512860 -3635160 43289.4 -153501 7 -3600470 -3620420 -87617.6 14744.8 8 -3555690 -3467130 44780.7 153293 9 -3346220 -3419850 209471 47271.6 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
1 -4471400 -4480380 2 -3417540 -3445650 1053860 1034730 3 -3637640 -3692270 -220101 -246623 4 -3667900 -3657710 -30259 34567.9 5 -3556150 -3474220 111756 183490 6 -3512860 -3632250 43289.4 -158030 7 -3600470 -3612400 -87617.6 19844.8 8 -3555690 -3483940 44780.7 128457 9 -3346220 -3419850 209471 64093.2 10 -3397520 -3358710 -51296.9 61140.1 11 -3319080 -3346660 78442.6 12054.1 12 -3365760 -3333050 -46686.8 13602.2 13 -3255590 -3300880 110175 32169.3 14 -3299900 -3201390 -44313.2 99494.3 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
C.26 Pengujian 7.1.2
Tanda air masukan: 1000101011100 Tanda air keluaran: 1001111010101
C.27 Pengujian 7.2.1
Tanda air masukan: 00100100 Tanda air keluaran: 00101110
Tabel C-26: Data proses decoding pengujian 7.1.2 Tabel C-25: Data proses decoding pengujian 7.1.1
1 -4270820 -4258640 2 -3720340 -3730880 550483 527754 3 -3609590 -3648480 110750 82404.6 4 -3509130 -3524440 100453 124038 5 -3539160 -3596640 -30024.2 -72198.7 6 -3599970 -3669660 -60818 -73017.8 7 -3647420 -3601090 -47441.4 68570 8 -3576870 -3594300 70549.4 6787.54 9 -3473550 -3495150 103316 99149 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
1 -4270820 -4258840 2 -3720340 -3687620 550483 571222 3 -3609590 -3642450 110750 45168 4 -3509130 -3580780 100453 61672.1 5 -3539160 -3583610 -30024.2 -2825.79 6 -3599970 -3608120 -60818 -24514.9 7 -3647420 -3645060 -47441.4 -36936.5 8 -3576870 -3544890 70549.4 100167 9 -3473550 -3475940 103316 68953.9 10 -3486030 -3426170 -12476.2 49772.1 11 -3472780 -3512260 13251.4 -86096.7 12 -3433320 -3405880 39451.5 106377 13 -3370570 -3451960 62757.7 -46077.1 14 -3377470 -3407670 -6900.26 44291.1 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
C.28 Pengujian 7.2.2
Tanda air masukan: 1000101011100 Tanda air keluaran: 0010110001000
C.29 Pengujian 8.1.1
Tanda air masukan: 00100100 Tanda air keluaran: 00101101
Tabel C-28: Data proses decoding pengujian 7.2.2 Tabel C-27: Data proses decoding pengujian 7.2.1
1 -4270820 -4255170 2 -3720340 -3730070 550483 525103 3 -3609590 -3633630 110750 96440 4 -3509130 -3501420 100453 132211 5 -3539160 -3594210 -30024.2 -92795.1 6 -3599970 -3652170 -60818 -57962.7 7 -3647420 -3608110 -47441.4 44061.8 8 -3576870 -3532560 70549.4 75556.3 9 -3473550 -3432940 103316 99618.3 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
1 -4270820 -4255860 2 -3720340 -3714800 550483 541067 3 -3609590 -3640560 110750 74232.4 4 -3509130 -3527220 100453 113341 5 -3539160 -3587360 -30024.2 -60135 6 -3599970 -3643200 -60818 -55847 7 -3647420 -3595610 -47441.4 47590.8 8 -3576870 -3540950 70549.4 54665.9 9 -3473550 -3458770 103316 82176.6 10 -3486030 -3546900 -12476.2 -88132.1 11 -3472780 -3385420 13251.4 161482 12 -3433320 -3410350 39451.5 -24927.9 13 -3370570 -3421710 62757.7 -11363.8 14 -3377470 -3487670 -6900.26 -65954.8 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
C.30 Pengujian 8.1.2
Tanda air masukan: 1000101011100 Tanda air keluaran: 1010100010101
C.31 Pengujian 8.2.1
Tanda air masukan: 00100100 Tanda air keluaran: 10101001
Tabel C-29: Data proses decoding pengujian 8.1.1
Tabel C-30: Data proses decoding pengujian 8.1.2
1 -4962720 -4941390 2 -3838570 -3837440 1124150 1103950 3 -3556040 -3573110 282530 264329 4 -3491900 -3436950 64143.7 136165 5 -3487490 -3499870 4405.47 -62921.8 6 -3448200 -3449670 39290.3 50196.7 7 -3372860 -3317960 75345.5 131710 8 -3366820 -3438670 6033.7 -120707 9 -3430480 -3468030 -63658.8 -29359.3 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
1 -4962720 -4941440 2 -3838570 -3789920 1124150 1151530 3 -3556040 -3573390 282530 216534 4 -3491900 -3479530 64143.7 93860.3 5 -3487490 -3487150 4405.47 -7623.23 6 -3448200 -3432520 39290.3 54628.9 7 -3372860 -3362230 75345.5 70285.3 8 -3366820 -3373150 6033.7 -10917.8 9 -3430480 -3469650 -63658.8 -96501.9 10 -3500500 -3430960 -70022.2 38696.3 11 -3389450 -3374060 111054 56898.9 12 -3390480 -3373670 -1029.56 389.41 13 -3484070 -3585820 -93591.2 -212147 14 -3728990 -3825770 -244919 -239949 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
C.32 Pengujian 8.2.2
Tanda air masukan: 1000101011100 Tanda air keluaran: 1000100110001
Tabel C-31: Data proses decoding pengujian 8.2.1
Tabel C-32: Data proses decoding pengujian 8.2.2
1 -4962720 -4928290 2 -3838570 -3802340 1124150 1125950 3 -3556040 -3542380 282530 259962 4 -3491900 -3441560 64143.7 100813 5 -3487490 -3485180 4405.47 -43613.6 6 -3448200 -3410620 39290.3 74554.4 7 -3372860 -3395260 75345.5 15365.7 8 -3366820 -3445120 6033.7 -49868.4 9 -3430480 -3452030 -63658.8 -6909.13 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air
1 -4962720 -4928290 2 -3838570 -3789060 1124150 1139230 3 -3556040 -3534610 282530 254449 4 -3491900 -3471400 64143.7 63213.4 5 -3487490 -3484650 4405.47 -13246.9 6 -3448200 -3401830 39290.3 82817.6 7 -3372860 -3401910 75345.5 -76.68 8 -3366820 -3475010 6033.7 -73108.6 9 -3430480 -3446140 -63658.8 28877 10 -3500500 -3404200 -70022.2 41933.8 11 -3389450 -3390370 111054 13834.7 12 -3390480 -3591710 -1029.56 -201338 13 -3484070 -3886500 -93591.2 -294789 Segmen Ke
Data magnitude total per segmen Data perbandingan dua segmen terdekat Berkas asli Berkas bertanda air Berkas asli Berkas bertanda air