Percobaan 8. Ekstraksi Ciri Pada Sinyal

Gratis

0
0
15
10 months ago
Preview
Full text

  Percobaan 8. Ekstraksi Ciri Pada Sinyal Speech

PERCOBAAN 8

EKSTRAKSI CIRI PADA SINYAL SPEECH

  Oleh: Bakhrul Dwitamala R.I Mohammad Abdur Rozaqi Sutra Wardatul Jannah

  Tujuan Praktikum

  • Mahasiswa mampu melakukan estimasi frekuensi fundamental sinyal speech dengan pengamatan frekens spektrum dan bentuk gelombangnya - Mahasiswa mampu menggambarkan bentuk kuefrensi dan cepstrum sinyal speech.

8.1 Dasar Teori

8.1.1 Autokorelasi Sinyal Speech

  Tujuan melakukan estimasi dalam domain waktu adalah untuk mendapatkan nilai autokorelasi sinyal speech. Nilai autokorelasi suatu sinyal wicara akan menunjukkan bentuk gelombang itu yang membentuk suatu korelasi pada dirisnya sendiri sebagai fungsi perubahan waktu. Bentuk-bentuk yang sama atau mirip pada perioda tertentu menunjukkan perulangan bentuk yang menjadi pola dari sinyal wicara. Dengan demikian akan dapat kita lakukan estimasi nilai frekuensi fundamentalnya.

Gambar 8.1. Sinyal Wicara dalam Bentuk Gelombang, dan Fungsi Auto Korelasi

8.1.2 Analisa Spectral Sinyal Spech

  Proses ekstraksi ciri sinyal speech didasarkan pada sebuah diagram blok yang cukup popular seperti berikut.

Gambar 8.2 Diagram Blok Ekstraksi Ciri Sinyal Wicara

  Dengan mengikuti diagram blok di atas, kita akan mendapatkan langkah-demi langkah ekstraksi ciri. Pada Sub Bab ini pembicaraan berkisar pada proses melihat short time fourier

  

analisys dari sinyal speech, atau yang juga kita kenal sebagai power spectral density (PSD) sebuah

  sinyal speech pada durasi atau frame tertentu. Dengan mengetahui bentuk PSD sinyal wicara kita akan mampu melakukan ekstraksi ciri sinyal wicara tersebut. Target akhir sub bab ini dalah mencari bentuk power spectral density (PSD). Sebelum proses pada Gambar di atas dilakukan ada baiknya kita melihat gambaran sebuah sinyal speech yang telah kita simpan dalam bentuk file “a.wav”. Setelah kita dapatkan bentuknya dalam domain waktu seperti pada Gambar 8.3 bagian atas, selanjutnya kita coba melihatnya sebagai fungsi dari sampling. Dalam hal ini kita lihat bentuk sinyal wicara sesuai dengan urutan sampel yang ada. Seperti kita lihat bahwa untuk nilai sampel ke-700 sampai dengan sampel ke-8200, menunjukkan nilai magnitudo sinyal yang relatif stabil.

  Kita lanjutkan dengan melakukan pembentukan frame sebuah sinyal wicara seperti pada

Gambar 8.4 bagian atas. Dengan melakukan windowing kita akan mendapatkan bentuk frame sinyal wicara terwindow seperti pada Gambar 8.4 bagian bawah. Sudah tentu kita paham untuk

  apa proses windowing dilakukan disini. Dengan demikian tidak salah apabila kita mengambil satu frame sinyal dari sampel ke-2000 sampai dengan sampel ke 2480. Karena dalam satu frame kita bentuk dari:

  Sampel/frame = (sample/detik)*(detik/frame) = 16000 * 0,06= 480 sampel/frame Hal ini dilakukan dengan menetapkan bahwa satu frame sinyal wicara sepanjang 50 ms.

Gambar 8.3. Sinyal Wicara dalam Domain Waktu dan Sebagai Fungsi Sampel ke-nGambar 8.4. Satu Frame Sinyal Wicara dalam Domain Waktu Proses dilanjutkan dengan melakukan transformasi sinyal ke dalam domain frkeuensi.

  Dengan menggunakan fft dan proses logaritmik akan kita dapatkan nilai power spectral density (PSD) sinyal wicara seperti pada Gambar 8.5.

Gambar 8.5. Power Spectral Density Sinyal Speech

8.1.3 Cepstrum Sinyal Speech

  Cepstrum

  c(τ) didefiniskan sebagai inverse transformasi Fourier pada short-time nilai logarithmik spektrum amplitudo sebuah sinyal, |X(ω)|. Jika log amplitudo spectrum tersusun dari banyak spasi harmonik yang teratur, maka analisis Fourier pada spektrum ini akan menunjukkan sebuah puncak yang berhubungan dengan jarak antar harmonisa tersebut, yang juga dikenal sebagai frekuensi fundamental. Dengan melakukan proses mengikuti diagram blok pada Gambar 8.2, maka proses berikutnya adalah melakukan ifft nilai PSD yang sudah diperoleh. Proses ini menghasilkan sebuah nilai kuefrensi dari sinyal speech. Gambaran dari nilai kuefrensi seperti pada Gambar 8.6, berikut ini. Langkah ini dilanjutkan dengan lifter window, yaitu proses pengambilan sebagian saja dari nilai kuefrensi sinyal speech yang terdapat pada Gambar 8.6. Dalam hal ini kita bisa mengambil 16 sampai 20 nilai pertama yang muncul. Nilai ini sudah cukup representatif untuk mendapatkan ciri dari sinyal wicara. Yang terakhir dari langkah kita adalah melakukan transformasi fourier pada hasil lifter window yang selanjutnya akan menghasilkan sebuah cepstrum dari sinyal speech yang kita olah.

Gambar 8.6. Gambaran Kuefrensi Sinyal Speech ”a.wav” Gambar 8.7.

  Perbandingan Nilai Psd dan Cepstrum Sinyal Speech ”a.wav” Dari Gambar 8.7 di atas kita dapatkan gambaran bentuk cepstrum sinyal speech menunjukkan pola yang mirip dengan pola PSD. Di sini tampak bahwa bentuk cepstrum merupakan penghalusan dari bentuk PSD sebuah sinyal speech.

  8.2. Peralatan

  • 1 (satu) buah PC Multimedia lengkap sound card dan microphone
  • Satu perangkat lunak Matlab under windows

  8.3. Langkah Percobaan

8.3.1 Penataan Perangkat

  Sebelum melakukan percobaan harus dilakukan penataan seperti pada Gambar 8.8, berikut ini.

Gambar 8.8 Penataan Perangkat Percobaan Pengukuran Energi Sinyal Wicara

  PC harus dilengkapi dengan peralatan multimedia seperti sound card, speaker active dan

  

microphone . Untuk microphone dan speaker active. Sebelum anda memulai praktikum, sebaiknya

anda tes dulu, apakah seluruh perangkat multimedia anda sudah terintegrasi dengan PC.

  Untuk membantu anda dalam menjalankan praktikum ini, di sini diberikan beberapa contoh perintah dasar yang akan anda perlukan pada proses ekstraksi ciri sinyal speech. Untuk menentukan korelasinya digunakan perintah sebagai berikut:

  Korelasi: C = XCORR(A,B),

  Contoh pemakaiannya seperi berikut: clear all; x=[1 3 2 1 3 6 1]; subplot(211) plot(x,’b’,’linewidth’,3) axis([0 8 0 7]) xx=xcorr(x); subplot(212) plot(xx,’b’,’linewidth’,3) Hasilnya adalah seperti berikut ini.

Gambar 8.9. Contoh Proses Korelasi

  Nilai sample ke-n

  Membaca sebuah nilai pada sample tertentu Fs=12000; [x,Fs]=wavread('file_a'); x_240=x(2000:2240);

  Dengan program ini akan didapatkan nilai x_240 sebagai nilai dari variabel x pada sampel 2000 sampai dengan sampel ke 2240.

  Transformasi dari domain waktu ke frekuensi

  [H,W] = FREQZ(B,A,N) returns the N-point complex frequency response vector H and the N-point frequency vector W in radians/sample of the filter: Contoh pemakaiannya

  X=freqz(x_wind); Langkah ini akan mentransormasikan nilai x_wind menjadi bentuk domain frekuensi dalam X merupakan bentuk komplek.

  Transformasi dari domain frekuensi ke domain waktu IFFT(X) is the inverse discrete Fourier transform of X.

  Contoh pemakaiannya x_k = abs(ifft(X_dB)); Langkah ini akan mentransformasikan dari domain frekuensi ke dalam domain waktu, operasinya kita kenal sebagai invers fast fourier transform.

8.3.2 Estimasi Frekuensi Fundamental dengan Domain Waktu

  Pada percobaan ini kita coba untuk melakukan estimasi nilai frekuensi fundamental dengan menggunakan domain waktu. Dalam hal ini kita memanfaatkan fungsi auto korelasi suatu sinyal wicara. Langkah-langkahnya adalah sebagai berikut: 1. Buat program untuk memanggil file ‘a.wav’ .

  2. Tampilkan hasilnya dalam domain waktuk sebagai figure(1)

  3. Ambil beberapa sampel saja dari nilai a.wav yang sudah anda panggil. Dalam hal ini anda bisa menentukan sebanyak 200, 300, atau terserah anda.

  4. Tambahkan program untuk mencari bentuk auto korelasinya

  5. Hitung jarak antar puncak satu dengan puncak berikutnya yang paling dekat. Coba amati juga jarak puncak ke 0, puncak ke 1, puncak ke 2. Arahkan pandangan anda geser ke kiri, perhatikan puncak ke-1, puncak ke-2, dst. Coba anda hitung jarak antar puncak tersebut. Tentu saja nilainya dalam satuan waktu, bisa mili detik atau yang lain.

  %--------------------------------------------------------- % Bakhrul D.R.I / M.A. Rozaqi / Sutra W.J % 8.4.3. Estimasi Frekuensi Fundamental dengan Domain Waktu %--------------------------------------------------------- % 1. Buat program untuk memanggil file ‘a.wav’ . clear all ; fs=16000; [y,fs]=wavread( 'a.wav' ); %2. Tampilkan hasilnya dalam domain waktuk sebagai figure(1) dt = 1/fs; t = 0:dt:(length(y)*dt)-dt; subplot(311); plot(t,y); xlabel( 'Seconds' ); ylabel( 'Amplitude' );title( 'figure(1)' );

%3. Ambil beberapa sampel saja dari nilai a.wav yang sudah anda panggil.

% Dalam hal ini anda bisa menentukan sebanyak 200, 300, atau terserah

anda. y_400=y(1000:1400); subplot(312);

plot(y_400); xlabel( 'N Sample' ); ylabel( 'Amplitude' );title( 'figure(2)' );

%4. Tambahkan program untuk mencari bentuk auto korelasinya subplot(313); c=xcorr(y_400); plot(c);

%5. Hitung jarak antar puncak satu dengan puncak berikutnya yang paling

dekat. % Coba amati juga jarak puncak ke 0, puncak ke 1, puncak ke 2.

% Arahkan pandangan anda geser ke kiri, perhatikan puncak ke-1, puncak

ke-2, dst.

8.3.4 Karakterisrik Power Spectral Density 1. Panggil sinyal wicara “a.wav”.

  2. Tampilkan dalam domain waktu dan dalam bentuk sinyal sebagai fungsi sample ke-n.

  3. Buat sebuah frame sinyal sepanjang 240 sampel, dalam hal ini anda bisa memilih bagian sinyal yang representatif, yang memiliki nilai cukup stabil selama durasi frame yang anda tetapkan panjangnya.

  4. Transformasikan ke dalam domain frekuensi, anda bisa menggunakan perintah fft atau yang lain.

  5. Rubah nilainya dalam parameter dB, 20 log10(abs(X))

  %--------------------------------------------------------- % Bakhrul D.R.I / M.A. Rozaqi / Sutra W.J % 8.3.4 Karakterisrik Power Spectral Density %--------------------------------------------------------- %1. Panggil sinyal wicara “a.wav”. clear all ; fs=16000; [y,fs]=wavread( 'a.wav' );

%2. Tampilkan dalam domain waktu dan dalam bentuk sinyal sebagai fungsi sample

ke-n. dt = 1/fs; t = 0:dt:(length(y)*dt)-dt; subplot(321); plot(t,y); xlabel( 'Seconds' ); ylabel( 'Amplitude' ); subplot(322); plot(y); xlabel( 'N Sample' ); ylabel( 'Amplitude' ); %3. Buat sebuah frame sinyal sepanjang 240 sampel, dalam hal ini anda bisa memilih

% bagian sinyal yang representatif, yang memiliki nilai cukup stabil selama

durasi % frame yang anda tetapkan panjangnya. y_240=y(42500:42740); subplot(323); plot(y_240); xlabel( 'N Sample' ); ylabel( 'Amplitude' ); %4. Transformasikan ke dalam domain frekuensi, anda bisa menggunakan % perintah fft atau yang lain.

  L=length(y_240); NFFT = 2^nextpow2(L); % Next power of 2 from length of y Y = fft(y_240,NFFT)/L; f = fs/2*linspace(0,1,NFFT/2+1); % Plot single-sided amplitude spectrum. subplot(324); plot(f,2*abs(Y(1:NFFT/2+1))); title( 'Single-Sided Amplitude Spectrum of y(t)' ); xlabel( 'Frequency (Hz)' ); ylabel( '|Y(f)|' ); %5. Rubah nilainya dalam parameter dB, 20 log10(abs(X)) subplot(3,2,[5 6]); plot(f,20*log(abs(Y(1:NFFT/2+1)))/log(10)); title( 'Single-Sided Amplitude Spectrum of y(t)' ); xlabel( 'Frequency (Hz)' ); ylabel( 'dB' );

8.3.5 Mencari Bentuk Cepstal Sinyal Wicara

  1. Lakukan hal yang sama seperti pada langkah percobaan 8.3.4, usahakan tampilan yang sudah anda peroleh anda hold supaya gambarnya tidak hilang.

  2. Tambahkan program untuk melakukan invers fft anda.

  3. Tampilkan bentuk kuefrensi yang telah anda peroleh, jika terjadi bentuk pencerminan pada sisi kiri dan sisi kanan, ambil sisi kiri saja dan tampilkan kembali dengan mengatur nilai sample tertentu saja yang anda olah.

  4. Lakukan proses lifter window dengan cara ambil 16 titik nilai kuefrensi pertama saja. Jika anda ragu anda bisa mengambil 20 titik nilai kuefrenensi pertama.

  5. Transformasikan kembali ke domain fekuensi, dan usahakan gambarnya menjadi satu dengan hasil tampilan PSD yang telah anda peroleh.

  %--------------------------------------------------------- % Bakhrul D.R.I / M.A. Rozaqi / Sutra W.J % 8.3.5 Mencari Bentuk Cepstal Sinyal Wicara %--------------------------------------------------------- %1. Lakukan hal yang sama seperti pada langkah percobaan 8.3.4, % usahakan tampilan yang sudah anda peroleh anda hold supaya gambarnya tidak hilang. clear all ; fs=16000; [y,fs]=wavread( 'a.wav' ); dt = 1/fs; t = 0:dt:(length(y)*dt)-dt; subplot(421); plot(t,y); xlabel( 'Seconds' ); ylabel( 'Amplitude' ); subplot(422); plot(y); xlabel( 'N Sample' ); ylabel( 'Amplitude' ); y_240=y(22500:22740); subplot(423); plot(y_240); xlabel( 'N Sample' ); ylabel( 'Amplitude' ); L=length(y_240); NFFT = 2^nextpow2(L); % Next power of 2 from length of y Y = fft(y_240,NFFT)/L; f = fs/2*linspace(0,1,NFFT/2+1); % Plot single-sided amplitude spectrum. subplot(424); plot(f,2*abs(Y(1:NFFT/2+1))); title( 'Single-Sided Amplitude Spectrum of y(t)' ); xlabel( 'Frequency (Hz)' ); ylabel( '|Y(f)|' ); subplot(425); Y_dB=20*log(abs(Y(1:NFFT/2+1)))/log(10); plot(f,Y_dB); title( 'Single-Sided Amplitude Spectrum of y(t)' ); xlabel( 'Frequency (Hz)' ); ylabel( 'dB' ); %2. Tambahkan program untuk melakukan invers fft anda. y_inv =abs(ifft(Y_dB));

%3. Tampilkan bentuk kuefrensi yang telah anda peroleh, jika terjadi bentuk

% pencerminan pada sisi kiri dan sisi kanan, ambil sisi kiri saja dan tampilkan % kembali dengan mengatur nilai sample tertentu saja yang anda olah. subplot(426); plot(y_inv);

%4. Lakukan proses lifter window dengan cara ambil 16 titik nilai kuefrensi

pertama saja % Jika anda ragu anda bisa mengambil 20 titik nilai kuefrenensi pertama. y_lw=y_inv(1:20); %5. Transformasikan kembali ke domain fekuensi, dan usahakan gambarnya menjadi satu

  L2=length(y_lw); NFFT2 = 2^nextpow2(L2); % Next power of 2 from length of y Y_ceps = fft(y_lw,NFFT2)/L2; f2 = fs/2*linspace(0,1,NFFT2/2+1); % Plot single-sided amplitude spectrum. subplot(427); plot(f2,(20*log(abs(Y_ceps(1:NFFT2/2+1)))/log(10))); title( 'Single-Sided Amplitude Spectrum of y(t)' ); xlabel( 'Frequency (Hz)' ); ylabel( 'dB' ); subplot(428); plot(f2,(20*log(abs(Y_ceps(1:NFFT2/2+1)))/log(10))); title( 'Single-Sided Amplitude Spectrum of y(t)' ); xlabel( 'Frequency (Hz)' ); ylabel( 'dB' ); hold all ; plot(f,Y_dB);

  8.4 Analisis Data

  Anda harus menjelaskan tentang proses urutan sesuai dengan diagram blok pada Gambar

  8.2. Termasuk menjelaskan masing-masing fungsi blok tersebut. Kemudian dari hasil uji coba yang telah anda lakukan. Apa yang anda peroleh. Berikan penjelasannya.

8.5 Tugas

1. Buat program seperti pada langkah-langkah di atas, gunakan sinyal speech dengan merekam sendiri.

  % Record your voice for 5 seconds. fs=16000; recObj = audiorecorder(fs,8,2); disp( 'Start speaking.' ) recordblocking(recObj, 5); disp( 'End of Recording.' ); % Play back the recording. play(recObj); % Store data in double-precision array. myRecording = getaudiodata(recObj); % Plot the waveform. subplot(211); plot(myRecording); wavwrite(myRecording,fs, 'a.wav' );

Dokumen baru

Aktifitas terkini

Download (15 Halaman)
Gratis

Tags

Mineral Optik Ciri Ciri Optis Pada Miner Ciri Ciri Tahap Perkembangan Pada Anak A Ciri Khusus Pada Makhluk Hidup Percobaan Mengenal Ciri Ciri Dan Sifat Umum Pada K Percobaan Stek Daun Pada Beberapa Jenis Amorphophallus Pengantar Percobaan Bunuh Diri Pada Penderita Depresi Ekstraksi Model Proses Bisnis Pada Aplik Proses Hidrometalurgi Pada Ekstraksi Ema
Show more

Dokumen yang terkait

Analisis Komparasi Internet Financial Local Government Reporting Pada Website Resmi Kabupaten dan Kota di Jawa Timur The Comparison Analysis of Internet Financial Local Government Reporting on Official Website of Regency and City in East Java
19
790
7
Analisis Komposisi Struktur Modal Pada PT Bank Syariah Mandiri (The Analysis of Capital Structure Composition at PT Bank Syariah Mandiri)
22
283
6
FREKUENSI KEMUNCULAN TOKOH KARAKTER ANTAGONIS DAN PROTAGONIS PADA SINETRON (Analisis Isi Pada Sinetron Munajah Cinta di RCTI dan Sinetron Cinta Fitri di SCTV)
27
196
2
PENILAIAN MASYARAKAT TENTANG FILM LASKAR PELANGI Studi Pada Penonton Film Laskar Pelangi Di Studio 21 Malang Town Squere
17
151
2
APRESIASI IBU RUMAH TANGGA TERHADAP TAYANGAN CERIWIS DI TRANS TV (Studi Pada Ibu Rumah Tangga RW 6 Kelurahan Lemah Putro Sidoarjo)
8
110
2
MOTIF MAHASISWA BANYUMASAN MENYAKSIKAN TAYANGAN POJOK KAMPUNG DI JAWA POS TELEVISI (JTV)Studi Pada Anggota Paguyuban Mahasiswa Banyumasan di Malang
20
170
2
FENOMENA INDUSTRI JASA (JASA SEKS) TERHADAP PERUBAHAN PERILAKU SOSIAL ( Study Pada Masyarakat Gang Dolly Surabaya)
63
365
2
PEMAKNAAN MAHASISWA TENTANG DAKWAH USTADZ FELIX SIAUW MELALUI TWITTER ( Studi Resepsi Pada Mahasiswa Jurusan Tarbiyah Universitas Muhammadiyah Malang Angkatan 2011)
59
321
21
PENGARUH PENGGUNAAN BLACKBERRY MESSENGER TERHADAP PERUBAHAN PERILAKU MAHASISWA DALAM INTERAKSI SOSIAL (Studi Pada Mahasiswa Jurusan Ilmu Komunikasi Angkatan 2008 Universitas Muhammadiyah Malang)
127
496
26
PEMAKNAAN BERITA PERKEMBANGAN KOMODITI BERJANGKA PADA PROGRAM ACARA KABAR PASAR DI TV ONE (Analisis Resepsi Pada Karyawan PT Victory International Futures Malang)
18
207
45
STRATEGI PUBLIC RELATIONS DALAM MENANGANI KELUHAN PELANGGAN SPEEDY ( Studi Pada Public Relations PT Telkom Madiun)
30
242
52
Analisis Penyerapan Tenaga Kerja Pada Industri Kerajinan Tangan Di Desa Tutul Kecamatan Balung Kabupaten Jember.
7
66
65
Efek Pemberian Ekstrak Daun Pepaya Muda (Carica papaya) Terhadap Jumlah Sel Makrofag Pada Gingiva Tikus Wistar Yang Diinduksi Porphyromonas gingivalis
10
64
5
IbM Pemanfaatan Biopestisida untuk Mengendalikan Hama Uret (Lepidiota stigma) Pada Tanaman Tebu
7
117
1
Integrated Food Therapy Minuman Fungsional Nutrafosin Pada Penyandang Diabetes Mellitus (Dm) Tipe 2 Dan Dislipidemia
4
91
3
Show more