Modul ini membahas praktikum aplikasi pengolahan sinyal digital untuk deteksi suara secara otomatis pada saluran telepon. Terdapat 3 langkah utama yaitu: (1) menghitung energi jangka pendek untuk membedakan suara dan diam, (2) mengekstrak nilai pitch untuk mendeteksi suara manusia, dan (3) menggabungkan energi dan ekstraksi pitch untuk deteksi suara yang lebih akurat. Metode ini diharapkan dapat men
1. Modul 8 Praktikum Aplikasi Pengolahan Sinyal Digital Voice Automatic Detection
Tri Budi, Huda, Titon 75
Modul 8
Pemanfaatan STE dan Pitch Extraction pada Voice Automatic Detection (VAD)
I. TUJUAN
- Mahasiswa mampu menyusun sistem sistem deteksi suara secara otomatis (voice
automatic detection)
- Mahasiswa mampu melakukan penghitungan pendudukan suara pada saluran
telephon
II.DASAR TEORI
2.1. Pemanfaatan Slot Kosong pada Saluran Telephon
Pada proses percakapan di saluran telephon kita ketahui ada sebagian slot kosong
puran yang kita gunakan. Ini terjadi pada saat kita mendengarkan lawan bicara kita pada
saluran terima, maka pada saluran kirim tidak terpakai untuk sementara. Sampai saat ini
belum ada bentuk analisa untuk kasus saluran telephon di Indonesia, sehingga kita belum
tahu data berapa persen waktu kosong itu terjadi.
Gambar 1. Pembicaraan dalam saluran telephon
Pada praktikum ini kami akan melakukan analisa pada sejumlah dara hasil perekaman
pembicaraan telephon untuk mendapatkan informasi berapa prosentase waktu yang tidak
kita pakai tsb. Dengan teknik sederhana Voice Automaticn Detection yang didasarkan
pada penghitungan short term energy (STE), dan model klasik energy threshold data
rekaman kita olah dan akan kita peroleh prosentase slot waktu yang kosong tersebut.
Dengan data ini diharapkan memberikan optimisme bagi peneliti yang akan
memanfaatkan slot waktu kosong tsb untuk keperluan pengiriman data yang lain.
Telephone
Line
2. Modul 8 Praktikum Aplikasi Pengolahan Sinyal Digital Voice Automatic Detection
Tri Budi, Huda, Titon 76
2.2. Pemodelan Voice Automatic Detection
Untuk merealisasikan ide voice automatic detection untuk analisa waktu pendudukan
pada saluran telephone perlu pemikiran yang didasarkan pada diagram blok berikut ini.
Gambar 2. Diagram blok VAD
Satu contoh hasil pengolahan data mentah pada sinyal suara pada saluran telephone bisa
dilhat pada Gambar berikut. Bagian atas merupakan sinyal suara asli, bagian tengah
merupakan bentuk perubahan menjadi energy signal, dan bagian bawah merupakan logic
decisson hasil pengolahan melalui teknik short term energy threshold.
Gambar 3. Hasil pengolahan VAD pada saliran telephon
File *.wav hasil
perekaman telephone
Sampling Frame
blocking
STE
AND
Logic
Time
occupation
calculation Pitch
Extract
3. Modul 8 Praktikum Aplikasi Pengolahan Sinyal Digital Voice Automatic Detection
Tri Budi, Huda, Titon 77
2.3. Energi Pada Sinyal Wicara
Untuk pengkuran nilai energi pada sinyal wicara kita harus melibatkan fungsi window. Hal ini
karena dalam pengukuran energi sinyal wicara kita harus menyusunnya dalam frame-frame
tertentu. Ini merupakan standar dalam teknologi speech processing, sebab secara umum dalam
pengolahan sinyal wicara kita terlibat dengan sinyal dengan durasi yang terlalu panjang bila
dihitung dalam total waktu pengukuran. Fenomena ini juga dikenal sebagai short term speech
signal energy.
Untuk menghitung energi sinyal wicara kita gunakan formulasi dasar seperti berikut:
T
k
mwkVE
0
2
(1)
dimana: w(m) = merupakan fungsi window seperti hamming, hanning, bartlett, dan boxcarr.
2.2. Estimasi Nilai Pitch di dengan Proses Auto Korelasi
Kita bisa secara langsung melakukan estimasi frekuensi fundamental frequency dari
sebuah sinyal wicara dengan menggunakan autocorrelation (auto korelasi). Fungsi auto
korelasi untuk ukuran durasi tertentu sinyal wicara (satu atau beberapa frame)
menunjukkan bagaimana bentuk sinya itu berkorelasi dengan dirinya sendiri pada suatu
rentang delay berbeda. Kita berharap sebuah sinyal periodic berkorelasi bagus dengan
dirinya sendiri pada suatu delay pendek berkaitan dengan periodisasi pitch.
Anda dapat melihat bahwa fungsi auto korelasi memiliki puncak pada delay nol dan
pada sebuah delay yang berkaitan dengan 1 periode, 2 periode, dst. Kita dapat
melakukan estimasi frekuensi fundamental dengan melihat interval (jarak) antara puncak
tertinggi dengan puncak tertinggi berikutnya. Tetapi satu hal yang harus kita ingat bahwa
nilai frekuensi fundamental yang wajar pada sinyal wicara (pitch) berkisar antara 50 Hz
dan 500 Hz. Dalam program kita akan muncul nilai 20ms dan 2 ms yang mmuncuul dari
hasil perhitungan interval waktu, dan dapat kita ekuivalenkan dengan 2ms(=500Hz) dan
20ms (=50Hz).
4. Modul 8 Praktikum Aplikasi Pengolahan Sinyal Digital Voice Automatic Detection
Tri Budi, Huda, Titon 78
Gambar 5. Satu frame sinyal wicara ‘a’.
Gambar 6. Auto korelasi sinyal wicara ‘a’.
5. Modul 8 Praktikum Aplikasi Pengolahan Sinyal Digital Voice Automatic Detection
Tri Budi, Huda, Titon 79
Sound Card
Software
Matlab
PC Multimedia
Microphone
Speaker
Nilai yang dihasilkan adalah:
rmax=0.532608 Fx=109.589Hz
Ini menunjukkan bahwa frekuensi fundalmental Fx 109.589 Hz dan puncak tertinggi ke-2
nilai auto korelasi adalah 0.532608.
III. PERANGKAT YANG DIPERLUKAN
- 1 (satu) buah PC Multimedia lengkap sound card dan microphone
- Satu perangkat lunak Matlab under windows
Sebelum anda melakukan percobaan anda harus melakukan penataan seperti pada
Gambar 7 berikut ini.
Gambar 7. Penataan perangkat percobaan recording dan editing
PC anda harus dilengkapi dengan peralatan multimedia seperti sound card, speaker aktif
dan microphone. Untuk microphone dan speaker active bisa juga digantikan dengan head
set lengkap. Sebelum anda memulai praktikum, sebaiknya anda tes dulu, apakah seluruh
perangkat multimedia anda sudah terintegrasi dengan PC.
6. Modul 8 Praktikum Aplikasi Pengolahan Sinyal Digital Voice Automatic Detection
Tri Budi, Huda, Titon 80
IV. LANGKAH-LANGKAH PERCOBAAN
4.1. STE untuk VAD
Pada sub bab ini akan dilakukan proses VAD hanya dengan mengandalkan
kemampuan sistem menentukan threshold energi yang tepat untuk mendeteksi sinyal
voice atau bukan pada saluran telephon. Untuk merealisasikan ini, diperlukan langkah
seperti berikut.
1. Buat program pemanggilan file wicara (*.wav) hasil dari sebuah perekaman telephon.
clear all;
fs=10000;
[y,fs]=wavread('VAD_00.wav');
subplot(211)
plot(y)
axis([0 length(y) -1.2 1.2])
ylabel('Signal waveform')
2. Bagi dalam frame-frame dengan mengikuti standar pengolahan sinyal wicara.
y_l=length(y);
jj=ceil(length(y)/200);
xr=zeros(size(1:jj*200));
jml=0;
for i=1:length(y);xr(i)=y(i);end
3. Lakukan proses pemilahan voice-silent dengan memanfaatkan energi threshold.
n1=1; n2=200;
for j=1:jj
for i=n1:n2
x(i)=xr(i);
xx =sum(abs(x(i)));
end
xx=xx/200;
if (xx > 0.0001)
for i=n1:n2
x(i)=1;
jml=jml+1;
end
else
for i=n1:n2
x(i)=0;
end
end
%
n1=n1+200;
n2=n2+200;
end
7. Modul 8 Praktikum Aplikasi Pengolahan Sinyal Digital Voice Automatic Detection
Tri Budi, Huda, Titon 81
4. Gambarkan kondisi sinyal hasil pengolahan VAD versi pertama anda.
5. Hitung jumlah nilai 1 yang terjadi, dan bandingkan dengan total waktu yang
digunakan.
4.2. Estimasi Pitch
Proses estimasi pitch akan kita lakukan dengan memanfaatkan proses autokorelasi
pada sinyal wicara. Langkah yang harus anda lakukan untuk estimasi pitch pada sinyal
wicara adalah sebegai berikut.
1. Panggil sebuah file wicara
2.Ambil satu bagian sinyal sepanjang 1 frame
3.Lakukan proses peoses estimasi pitch dengan auto korelasi
for j=1:jj
r = xcorr(x,ms20,'coeff');
d=(-ms20:ms20)/fs;
r=r(ms20+1:2*ms20+1);
[rmax,tx]=max(r(ms2:ms20));
Fx=fs/(ms2+tx-1);
%corelation
xx_corr(j)=Fx;
n1=n1+200;
n2=n2+200;
ms20=(n2-n1+1);
end
4.3. Kombinasi STE dan Estimasi Pitch untuk proses VAD
1. Ambil sebuah file sinyal wicara hasil perekaman dari pembicaraan telephon.
2. Bagi dalam frame-frame dengan mengikuti standar pengolahan sinyal wicara.
4. Tambahkan program pendeteksi pitch pada setiap frame.
for j=1:jj
for i=n1:n2
x(i)=xr(i);
xx =sum(abs(x(i)));
end
r = xcorr(x,ms20,'coeff');
d=(-ms20:ms20)/fs;
r=r(ms20+1:2*ms20+1);
[rmax,tx]=max(r(ms2:ms20));
Fx=fs/(ms2+tx-1);
%corelation
xx_corr(j)=Fx;
8. Modul 8 Praktikum Aplikasi Pengolahan Sinyal Digital Voice Automatic Detection
Tri Budi, Huda, Titon 82
%ste
xx_STE(j)=xx/200;
n1=n1+200;
n2=n2+200;
ms20=(n2-n1+1);
end
5. Lakukan proses pemilahan voice-silent dengan memanfaatkan energi threshold.
6. Kombinasikan proses pendeteksi pitch dengan pemilah voice-silent. Untuk ini anda
harus menggunakan logika and.
%decission
n1=1; n2=200;
for j=1:jj
if ((xx_corr(j) < 300) && xx_STE(j)>0.0001)
for i=n1:n2
x(i)=1;
jml=jml+1;
end
else
for i=n1:n2
x(i)=0;
end
end
n1=n1+200;
n2=n2+200;
end
7. Hitung besarnya okupansi yang terjadi pada proses VAD anda.
subplot(212)
plot(x);
ylabel('VAD Output')
axis([0 jj*200 -0.1 1.1])
jml/(jj*200);
8. Tampilkan gambar sinyal hasil VAD.
5. Analisa
Anda lakukan proses perekaman pembicaraan telephon yang lainnya, dan coba amati
apakah kecenderungan orang berbicara di telephon memiliki model yang sama dengan
hasil analisa pada percobaan yang sudah anda lakukan.