10/8/2015
SPECGRAM & SPECGRAMDEMO Pertemuan 2 – Praktikum Pengantar Pemrosesan Bahasa Alami Download materi: http://bit.ly/nlp_8
Syeiva Nurul Desylvia (
[email protected])
Spectra dan Domain Frekuensi • Fourier Analysis: Setiap gelombang kompleks dapat
direpresentasikan sebagai penjumlahan banyak gelombang sinus dengan frekuensi berbeda. • Spectra (spectrum untuk jamak) sinyal: Representasi
setiap komponen frekuensi sinyal dengan amplitudonya. • Spectrum: Representasi alternatif dari sinyal asli.
1
10/8/2015
Spectra dan Domain Frekuensi(Lanj.)
(Jurafsky dan Martin, 2008)
Spectra dan Domain Frekuensi(Lanj.)
(Jurafsky dan Martin, 2008)
2
10/8/2015
Spectra dan Domain Frekuensi(Lanj.)
(Jurafsky dan Martin, 2008)
Spectra dan Domain Frekuensi(Lanj.)
(Jurafsky dan Martin, 2008)
3
10/8/2015
Spectra dan Domain Frekuensi(Lanj.)
(Jurafsky dan Martin, 2008)
Spectra dan Domain Frekuensi(Lanj.) • X-axis: Menunjukkan frekuensi. • Y-axis: Menunjukkan ukuran besarnya setiap komponen
frekuensi (dB, ukuran logaritmik amplitudo).
4
10/8/2015
Kegunaan Spectrum • Puncak-puncak spectral yang mudah terlihat di spectrum,
unik untuk setiap bunyi ujaran (phones). • Phone memiliki ciri spectral “signature”. • Tanda unik (characteristic signature) dari phone yang
berbeda dapat dideteksi dengan cara melihat spectrum sinyalnya.
Spectrogram • Spectrum menunjukkan frekuensi sinyal satu titik pada waktu
tertentu. • Vowel berubah seiring waktu. • Spectrogram: Suatu cara untuk membayangkan bagaimana
frekuensi yang berbeda, yang membentuk gelombang, berubah seiring waktu. • X-axis: Menunjukkan waktu. Y-axis: menunjukkan frekuensi. • Tingkat gelap suatu titik pada spectrogram sesuai dengan
amplitudo dari komponen frekuensi. Titik yang sangat gelap: amplitudo tinggi, titik yg terang: amplitudo rendah.
5
10/8/2015
Spectrogram(Lanj.)
(Jurafsky dan Martin, 2008)
• Setiap batang gelap / spectral peak disebut formant.
Spectrogram(Lanj.)
(Jurafsky dan Martin, 2008)
6
10/8/2015
Spectrogram(Lanj.) • Suara pria: “dinner”, “dimmer”, “dinger”
Spectrogram(Lanj.)
7
10/8/2015
Spectrogram pada Matlab • Syntax b = specgram(a) b = specgram(a,nfft) [b,f] = specgram(a,nfft,Fs) [b,f,t] = specgram(a,nfft,Fs) b = specgram(a,nfft,Fs,window) b = specgram(a,nfft,Fs,window,noverlap) specgram(a) b = specgram(a,f,Fs,window,noverlap) • Catatan: Pada versi Matlab yang lebih baru, fungsi
specgram diganti spectrogram.
Spectrogram pada Matlab • nfft: panjang FFT (Fast Fourier Transform) yang digunakan. • Fs: sampling frequency / sampling rate (skalar). • window: Fungsi windowing yang digunakan dan jumlah sampel
yang digunakan specgram untuk memotong sinyal a. • f: frequency output. • t: time vector. • Nilai default
nfft = min(256,length(a)) Fs = 2 window = hanning(nfft) noverlap = length(window)/2
8
10/8/2015
Spectrogram pada Matlab(Lanj.)
Spectrogram pada Matlab(Lanj.)
• Ditambahkan zero-padding karena length(window) < nfft.
9
10/8/2015
Spectrogram pada Matlab(Lanj.)
Spectrogram pada Matlab(Lanj.) • b = specgram(a) Hasilnya: b adalah matriks n x m. n didapat dari (nfft/2+1) jika nfft genap atau (nfft+1)/2
jika nfft ganjil. m didapat dari fix((Nx-noverlap)/(length(window)noverlap)). • b = specgram(a,[],10000) Nfft bernilai default. Fs sebesar 10000.
10
10/8/2015
Spectrogram pada Matlab(Lanj.) • Contoh b = specgram(a); a: Vektor ukuran 11501 x 1. b: Matriks ukuran 129 x 88. Perhitungan Nfft: default -> 256 -> genap
Baris = (256/2) + 1 = 129. Nx = 11501, noverlap: default = 128, length(window) = 256. Kolom = (11501-128)/(256-128) = 88.8516 ~ 88.
Specgramdemo • Intinya versi user friendly dari specgram. • specgramdemo(y,Fs) menunjukkan spectrogram sinyal y
dengan sampling rate Fs. Nilai default Fs = 1 Hz. • Right-click setiap item GUI untuk melihat opsi visualisasi
yang ada.
11
10/8/2015
Specgramdemo • specgramdemo(a,11000)
Latihan 1. Bandingkan 2 suara pria dengan 2 suara wanita (1
individu pria dan 1 individu wanita) menggunakan spectrogram (specgram atau specgramdemo). Sampling rate: 11 KHz. 2. Analisis hasil spectrogram pada nomor 1. 3. Ambil salah satu sampel spectrogram kemudian
buktikan jumlah baris dan kolomnya menggunakan perhitungan.
12
10/8/2015
Latihan(Lanj.) • Dikumpulkan ke
[email protected] • Subjek & Nama file: NLP_NIM_Prak2. • Due date: Kamis, ……………….WIB.
13