Bab ini menjelaskan tentang analisis dari sistem yang akan dibangun, tentang bagaimana teknik
Time Base Modulation digunakan dalam praktek serta metode yang dipakai untuk melakukan
pemanjangan dan pemendekan segmen waktu.
III.1 Proses Penyisipan Tanda Air
Seperti dijelaskan di sub bab II.3, proses penyisipan dalam teknik time base modulation (Gambar II-3) dilakukan dengan cara perubahan skala waktu terhadap segmen sinyal. Perubahan skala waktu ini dapat memakai teknik apapun yang dapat merubah durasi sinyal audio tanpa merubah pitch-nya. Teknik perubahan skala waktu umumnya didasarkan pada Short-time Fourier transform, tetapi metode lain seperti phase vocoder, Time Domain Harmonic Scaling, and Pitch-Synchronous
Overlap Add (TD-PSOLA) dapat juga digunakan.
Teknik perubahan skala waktu yang digunakan dalam tugas akhir ini adalah phase vocoder. Metode ini dijelaskan lebih lanjut pada sub bab II.8. Dalam tugas akhir ini phase vocoder yang dipakai tidak dikembangkan sendiri, tetapi memakai implementasi phase vocoder yang sudah ada. Implementasi phase vocoder yang dipakai dalam tugas akhir ini adalah pvoc-ex.
III.1.1 Pvoc-ex
Pvoc-ex adalah implementasi phase vocoder oleh Richard Dobson. Pvoc-ex dipilih karena berkas keluaran hasil pemanjangan atau pemendekkan waktu dari pvoc dinilai sebagai yang terbaik dibandingkan dengan phase vocoder lainnya. Penilaian baik atau tidaknya adalah kemiripan bunyi dari berkas asli sebelum pemanjangan atau pemendekan skala dengan berkas hasilnya. Kemiripan bunyi dinilai dengan cara mendengarkan dan membandingkan berkas hasil dan berkas asli.
Dengan pvoc-ex, maka pemrosesan berkas stereo dapat dilakukan. Sehingga pengujian terhadap teknik penyisipan time base modulation dapat dilakukan juga pada berkas stereo, tidak hanya pada berkas mono seperti dilakukan dalam [FOO02]. Selain itu pvoc-ex juga dapat melakukan overlap
window yang tidak dapat dilakukan dalam [FOO02].
Pvoc mempunyai bermacam-macam parameter sebagai masukkan untuk melakukan proses perubahan skala waktu terhadap berkas suara. Parameter-parameter yang ada dan penjelasan lebih lanjut dapat merujuk pada Tabel III-1. Parameter-parameter ini berpengaruh terutama pada saat inisiasi pvoc dan pada berkas keluaran hasil perubahan skala.
Tabel III-1: Parameter Pvoc-ex
Parameter Deskripsi
Skala perubahan menentukan besar perubahan terhadap fragmen waktu.
Mode Menentukan mode dari phase vocoder
Tipe skala Menentukan tipe perubahan skala
Window type Menentukan tipe window yang akan dipakai. Tipe
window yang disediakan adalah Von Hann
(Hanning), Kaiser dan Hamming.
Fftlen Menentukan jumlah sampel per window, nilai
terkecil yang dapat dipakai adalah 64
Sample rate Sampel rate dari berkas audio yang akan diproses
Overlap type Menyatakan tipe atau banyaknya overlap
antar-window saat tahap analisis dan resintesis.
III.1.2 Langkah-langkah Proses Penyisipan Tanda Air
Langkah-langkah yang dilakukan dalam proses penyisipan tanda air dengan teknik Time Base
Modulation adalah sebagai berikut:
1. Bagi sinyal menjadi N buah segmen, s[i] , 0≤i≤L−1 , dengan tiap segmen memiliki panjang yang sama yaitu sebesar L.
2. Terapkan phase vocoder pada tiap segmen tersebut, dengan besar skala perubahan waktunya tergantung dari bit tanda air yang akan disisipkan:
● Pada tahap ini tiap segmen akan dilakukan tahap analisis dari teknik phase vocoder, yang melibatkan perhitungan STFT (dalam hal ini menggunakan FFT).
● Setelah itu dilakukan tahap resintesis.
3. Tiap segmen yang sudah dimodifikasi sw[i] kemudian digabungkan kembali untuk
membentuk sinyal yang telah menyimpan tanda air.
III.2 Proses Ekstraksi Tanda Air
Proses ekstraksi tanda air, atau decoding, yang dipakai dalam tugas akhir ini berbeda dengan yang diusulkan [FOO02]. Perbedaannya adalah tugas akhir ini berkas tanda air asli diikutkan sebagai masukan proses decoding, cara ini mempercepat proses decoding sehingga tidak perlu menganalisa seluruh segmen dari berkas audio tetapi hanya sejumlah segmen sesuai dengan banyaknya atau panjang karakter dari berkas tanda air asli. Perbedaan lainnya adalah tidak
digunakannya Dynamic Programming dalam mencari tanda air. Serta tidak digunakannya tempo
map untuk mencari tanda air yang disisipkan.
III.2.1 Langkah-langkah Ekstraksi Tanda Air
Langkah-langkah yang dilakukan dalam proses pengambilan kembali tanda air adalah sebagai berikut:
1. Bagi masing-masing sinyal menjadi N buah segmen, s[i] , 0≤i≤L−1 , dengan tiap segmen memiliki panjang yang sama yaitu sebesar L. Sinyal yang telah disisipkan adalah
sw[i] dan sinyal asal adalah s[i].
2. Terapkan FFT pada tiap segmen, baik segmen asli s[i] maupun segmen termodifikasi
sw[i].
3. Bandingkan jumlah magnitude komponen spektral dari segmen sw[i] dengan s[i] untuk
mendapatkan bit-bit tanda air.
4. Gabungan bit tanda air dari hasil pembandingan seluruh segmen akan menghasilkan bit-bit tanda air awal.
III.3 Contoh Proses Penyisipan dan Ekstrasi Tanda Air
Diketahui sinyal suara S mempunyai panjang 1,5 detik. Bit-bit tanda air yang akan disisipkan adalah “011” Langkah-langkah penyisipannya adalah:
1. Sinyal S dibagi menjadi N buah segmen sama besar, dalam hal ini N= 3 dengan panjang masing 0,5 detik.
2. Terapkan phase vocoder pada setiap segmen, dengan perubahan skala tergantung bit tanda air yang akan dimasukkan, dalam hal ini:
segmen N=1 akan disisipkan bit “0”, sehingga dilakukan pemendekan waktu
segmen N=2 akan disisipkan bit “1”, sehingga dilakukan pemuluran waktu
segmen N=3 akan disisipkan bit “1”, sehingga dilakukan pemuluran waktu
3. Segmen-segmen yang telah dimodifikasi digabungkan kembali membentuk sinyal suara bertanda air Sw.
Langkah-langkah ekstraksi adalah:
1. Sinyal S dan sinyal Sw dibagi menjadi N buah segmen yang sama besar, dalam hal ini
N=3 dengan panjang 0,5 detik.
2. Terapkan FFT pada tiap segmen baik segmen sinyal asli S[i] maupun Sw[i].
3. Jumlahkan komponen spektral tiap segmen lalu bandingkan:
Komponen spektral untuk masing-masing segmen dapat dilihat pada Tabel III-2. Jumlah komponen spektral dalam satu segmen pada segment S[i] akan dibandingkan dengan jumlah komponen spektral segmen yang bersesuaian dari Sw[i ]. Tabel III-2 tidak
menampilkan seluruh komponen spektral dari tiap segmen, karena banyaknya sampel dalam proses decoding ditentukan 1024 maka akan ada 512 komponen spektral untuk tiap segmen. Hal ini menyebabkan tidak mungkin untuk menampilkan seluruh
komponen spektral dari tiap segmen.
Jika jumlah magnitude semua komponen spektral dari segmen S[i] lebih besar dari jumlah magnitude semua komponen spektral dari segmen Sw[i] maka dapat
disimpulkan Sw[i] mengalami pemendekan waktu. Jika sebaliknya maka dapat
disimpulkan Sw[i] mengalami pemuluran waktu Tabel III-2: Komponen Spektral
S[i]
Komponen Spektral Komponen Spektral
Frekuensi Magnitude(dB) Frekuensi Magnitude(dB)
1 344.531250 -93.297775 1 344.531250 -63.436829 689.062500 -98.485336 689.062500 -67.411324 1033.593750 -98.278214 1033.593750 -70.787231 1378.125000 -98.585701 1378.125000 -73.960670 1722.656250 -99.240334 1722.656250 -78.466110 2067.187500 -99.176117 2067.187500 -76.848381 2411.718750 -99.031319 2411.718750 -76.395439 2 344.531250 -10.202421 2 344.531250 -10.616656 689.062500 -12.293022 689.062500 -12.421070 1033.593750 -16.613520 1033.593750 -16.700237 1378.125000 -20.824778 1378.125000 -21.474045 1722.656250 -20.505405 1722.656250 -20.852106 2067.187500 -18.434649 2067.187500 -18.659372 2411.718750 -18.836662 2411.718750 -19.154198 3 344.531250 -6.099568 3 344.531250 -6.432056 689.062500 -19.327061 689.062500 -19.157057 1033.593750 -24.705620 1033.593750 -24.910019 1378.125000 -28.513996 1378.125000 -28.315138 1722.656250 -29.706547 1722.656250 -29.783325 2067.187500 -26.761917 2067.187500 -27.688459 2411.718750 -27.712561 2411.718750 -28.783163 Sw[i]
Dari data pada Tabel III-2 dapat disimpulkan:
Sw[1] mengalami pemendekan waktu
Sw[2] mengalami pemuluran waktu
Sw[3] mengalami pemuluran waktu
Hasilnya didapat bit tanda air untuk tiap Sw[i ]:
Sw[1] disisipi bit tanda air “0”
Sw[2] disisipi bit tanda air “1”
Sw[3] disisipi bit tanda air “1”