Bit rate dan sampling rate

Disarikan dari sini

1. Sampling rate atau sample rate : jumlah sampling per detik, satuannya Hz
Misal, biasanya CD memiliki sampling rate 44.1kHz = 44,100 samples per detik.

2. Sample format (atau bit rate resolution?): jumlah bit per sample, satuannya bit(s)
Misal, CD tersebut memiliki bit rate resolution 16 bits.

3. Bit rate: jumlah bit per detik = sample rate * sample format, satuannya bps
Maka, CD tersebut memiliki bit rate 44,100 x 16 bits = 705.6 kb/s (untuk mono), atau 44,100 x 2 x 16 bits (untuk stereo?)

Lebih jauh lagi, untuk kasus MP3, bitrate bisa berarti transfer bitrate. MP3 dikodekan sedemikian sehingga bisa ditransfer dengan kecepatan 128kbps. Pengkodean ini biasanya berupa kompresi karena seperti disebutkan di atas, bitrate CD aslinya adalah 705.6 kbps sementara bitrate MP3 biasanya (dikodekan dengan) 128 kbps. Bitrate ini biasanya digunakan orang untuk mengukur kualitas suatu audio, karena semakin besar kompresi, semakin kecil bitrate, kualitas suara semakin rendah.

Advertisements

Analisis Daerah ‘silence’

Ciri daerah ‘silence’
– tidak memiliki karakteristik sinyal,
– energi paling rendah (dibanding voiced dan unvoiced speech),
– jumlah zero crossing relatif lebih tinggi dibanding unvoiced speech
– tidak ada korelasi antara samples2 yang berdekatan/berurutan

– selain dapat diidentifikasikan melalui besar energi, juga bisa (dan baiknya sekaligus) melalui zero-crossing (lebih banyak dibanding unvoiced speech)

Algoritma:

1. Baca wav

2. Normalisasi amplitude

3. FFT dan hitung magnitude spectrum

4. Autokorelasi dan normalisasi hasil auto-korelasi

 

Analisis unvoiced speech

Disarikan dari sini

Ciri unvoiced speech:
– non-periodic
– noise-like
– energi relatif rendah (dibanding voiced speech)
– lebih banyak jumlah zero crossing
– korelasi yang relatif lebih rendah antara sample2 yang berurutan/berdekatan

Cara mendeteksi unvoiced speech:
1. Domain waktu
– berdasarkan sifat non-periodicity & noise-like
2. Domain frekuensi
– tidak adanya struktur harmonik (evidence)
– spektrum memiliki lebih banyak energi, terutama di daerah frekuensi tinggi

Segmen unvoiced dideteksi melalui jumlah zero crossing (banyak) dan energi.
Jumlah zero crossing bisa dilihat sebagai variasi yang cepat (rapid variations) di atnara nilai2 samples.

Algoritma:

1. Baca wav

2. Normalisasi amplitude

3. Hitung  magnitude spectrum

4. Hitung auto correlation
– ycorr = corr (y, …?)
– normalisasi hasil auto correlation

Analisis ‘voiced speech’

Disarikan dari sini

‘Voiced speech’ adalah segmen suara yang diucapkan dengan menggetarkan pita suara. Sebagai lawannya, ada juga ‘unvoiced speech’, yaitu segmen suara yang diucapkan tanpa menggetarkan pita suara. ‘Voiced speech’ ini biasanya bisa dideteksi dari suatu segmen suara (biasanya 20-50 msec). ‘Voiced speech bisa dideteksi dari keperiodikannya, relatif high energi, lebih sedikit ‘zero crossing’ dan lebih banyak korelasi di antara samples yang berdekatan.

Untuk mendeteksi voiced speech
1. Analisis di domain waktu
– mengamati keperiodikan sinyal
2. Analisis di domain frekuensi
– mengamati struktur harmonik
– keberadaan struktur harmonik merupakan evidence (bukti) bahwa suatu segmen merupakan voiced speech
– spektrum akan memiliki lebih banyak energi, terutama di daerah frekuensi rendah

Ciri voiced segmen:
– Autokorelasi akan memiliki puncak tinggi pada pitch period.
– Energi yang tinggi bisa dilihat dari nilai amplitude yang besar, tapi kita tidak bisa menentukan ‘voicing information’ hanya melalui energi saja.
– Voiced segmen harus diidentifikasi melalui periodicity DAN energi

Algoritma:

1. Baca wav file

2. Normalisasi amplitude sehingga berada di antara -1.0 dan 1.0

3. Lakukan FFT, hitung magnitude spektrum

4. Hitung autocorrelation
– misalnya ycorr = corr (y, … (?))
– normalisasi autocorrelation sehingga berada di antara -1.0 dan 1.0

Plotting sinyal suara dan spectrumnya

Disarikan dari sini

Yang harus dilakukan

1. Baca wav
– biasanya pakai wavread (hasilnya adalah sinyal itu sendiri, frekuensi sampling, dan bitrate (?))

2. Lakukan normalisasi agar sinyal berada dalam amplitude -1.0 sampai 1.0
– bisa pakai y = y./(1.01 * abs(max(y)))
– alias suatu sinyal dibagi dengan nilai absolut maksimum dari sinyal tersebut

3. Hitung spektrum dari sinyal tersebut
– biasanya pakai fft, bisa juga ditambahkan informasi mau berapa point fft

4. Hitung magnitude (besar) spektrum
– biasanya pakai Y = 20 * log 10 (abs(hasil_fft))
– sebenernya dasarnya pakai 20 dan log10 itu dari sini, dari definisi awal desibel adalah menghitung rasio daya (power)
– jadi kalau menghitung rasio power dalam desibel, maka X_dB = 10 * log10 (X1/X2)
– sementara untuk rasio tegangan dalam desibel, ingat bahwa daya berbanding lurus dengan tegangan (P = (V^2)/R)
– jadi kalau menghitung rasio tegangan dalam desilbel, pakainya V_dB = 10 * log (V1^2/V2^2) = 20 * log10 (V1/V2)

5. … (nanti dilanjut)