Konusma Isleme - PowerPoint PPT Presentation

1 / 50
About This Presentation
Title:

Konusma Isleme

Description:

Title: Konu ma leme Author: Erdem AGAOGLU Last modified by: Erdem AGAOGLU Created Date: 12/19/2006 8:13:16 AM Document presentation format: On-screen Show – PowerPoint PPT presentation

Number of Views:107
Avg rating:3.0/5.0
Slides: 51
Provided by: Erd90
Category:

less

Transcript and Presenter's Notes

Title: Konusma Isleme


1
Konusma Isleme
  • Konusma dosyalari üzerinde yapilabilecekler
    hakkinda bir çalisma

2
Giris
  • Rasgele istatistik sinyaller üzerinde yapilan
    islemlerin konusma sinyaline uygulanmasi
  • Konusma (speech), ses (audio) degildir
  • fmax(konusma) 3.4 kHz
  • fmax(ses) 20 kHz
  • Sinyal, hemen her zaman parçalara ayrilir ve
    islemler stationary kabul edilen bu parçalar
    üzerinde yapilir

3
Uygulamalar
  • Bu doküman boyunca yapilacak uygulamalar
    asagidaki konusma dosyasi üzerinde olacaktir

konusma.wav
4
Voiced vs. Unvoiced
  • Konusma, voiced (ötümlü) ve unvoiced (ötümsüz)
    olarak ikiye ayrilir
  • Voiced, yüksek seslere unvoiced, kisik seslere
    ya da gürültüye karsilik gelir
  • Stationary kabul edilen parçalarin
    voiced/unvoiced olarak siniflandirilmasi
    yapilacak diger islemler için önemlidir
  • Siniflandirma
  • Sinyalin enerjisi
  • Normalize otokorelasyon katsayilari
  • Sifir geçisleri

5
V/UV Classification Enerji metodu
  • Sinyalin toplam enerjisi belli bir threshold
    degerinden yüksekse voiced olur.
  • Burdaki m, alinan parçadaki sample sayisidir

6
Uygulama
  • Dokümanin en basinda verilen konusma dosyasi
  • Matlabta açilacak
  • Parçalara bölünecek
  • Tüm parçalarin enerjilerinin bir degerden yüksek
    olup olmadigina bakilacak
  • Islem tekrar kullanilabilir olmasi için bir
    fonksiyon olarak hazirlanacak

7
Uygulama
function samples,vuv vuv_energy( file_name
) Verilen ses dosyasini voiced / unvoiced olarak
siniflandirir Fonksiyon oncelikle dosyayi acar
ve 20 ms lik parcalara boler. Eger dosya 20
ms olarak tam bolunemiyorsa son 20 ms den
kisa olan bolum kullanilmaz. Daha
sonra bolunen parcalarin enerjileri hesaplanir
enerjisi 1.5 ten az olan parcalar unvoiced kabul
edilir speech,fs,nbits wavread(file_name) wi
ndow_ms 20 threshold 1.5 alinacak
parcalarin sample sayisi window
window_msfs/1000 sinyal uzunlugu
kontrolu speech speech(1(length(speech) -
mod(length(speech),window)),1) samples
reshape(speech,window,length(speech)/window) ene
rgies sqrt(sum(samples.samples))' vuv
energies gt threshold
8
Uygulama
  • Konusma sinyalinin uzunlugu 500ms
  • 20ms lik toplam 25 parça
  • Kirmizi ile gösterilen voiced / unvoiced data
    noktalari kendinden sonra gelen 20ms konusma
    parçasinin voiced ya da unvoiced oldugunu gösterir

9
LPC Analizi
  • Konuyla ilgili anahtar kelimeler
  • Linear Predictive Coding
  • Linear Regression
  • Time series analysis
  • All-pole filtering
  • Sistem kendi katsayilarini degistirir
  • Giris sinyaline göre sistem degisir
  • Sistem sinyali, önceki degerleriyle hesaplamaya
    çalisir

10
LPC Sistem
  • sn islenen sinyal
  • en hata sinyali
  • ai LPC katsayilari
  • Sistem, katsayilarini ennin enerjisini minimum
    yapacak sekilde ayarlar

11
Uygulama - LPC
  • Görülebilir sonuçlar elde edebilmek için voiced
    bir parça üzerinde LPC analiz ve sentez islemleri
    yapilacak
  • LPC sentez filtresinin genlik tepkesinin sinyalin
    genlik spektrumu ile olan ilgisi incelenecek.
  • V/UV siniflandirma için vuv_energy kullanilacak

12
Uygulama - LPC
  • Bulunan voiced parçalardan ikincisi kullanilacak
  • vuv_energynin voiced olarak belirledigi ilk
    parçanin bir kismi unvoiced olabilir
  • Matlab LPC katsayilarini direk verir ama en i
    direk vermez

13
Uygulama - LPC
function sample, lpc_coef, e lpc_a(
file_name, predictor )Basit lpc analizi
Verilen dosya icindeki voiced parcalar bulunur
Ikinci voiced parcanin lpc katsayilari ve bu lpc
analizinin hatasi hesaplanirsamples,vuv
vuv_energy(file_name) ikinci voiced pencere
seçilirfor i 1length(vuv)    if i 1
vuv(i - 1) 1 vuv(i) 1        sample
samples(1length(samples),i)        break   
endendlpc_coef lpc(sample,predictor)e
filter(lpc_coef, 1, sample)
14
Uygulama - LPC
LPC katsayilari 1.0000 -1.2920
0.2980 -0.1749 0.5167 0.1699
-0.4452 -0.0797 0.1563 0.0553
0.0033
15
Uygulama - LPC
  • Zaman bölgesi sinyallere bakarak
  • Iletilmesi gereken veri miktari ciddi miktarda
    azalmistir
  • LPC Analiz islemi ayni zamanda bir sikistirma
    islemidir
  • denebilir

16
Uygulama - LPC
  • Frekans bölgesi analiz

sinyal parcasinin frekans spektrumusample_f
fft(sample,1024)1/A(z) filtresinin durtu
tepkesiir filter(1,lpc_coef,1
zeros(11023,1))1/A(z) filtresinin frekans
tepkesifr fft(ir)genlik spektrumunun yarisi
cizdirilir cunku diger yarisicizilen yarinin
simetrigidirsemilogy(01/5121-1/512,abs(sample_f
(1512)))holdgenlik tepkesinin, sinyalin
spekturumuna oturabilmesiicin bir miktar
yukseltilirplot(01/5121-1/512,3abs(fr(1512)))
17
Uygulama - LPC
  • Mavi grafik sinyalin genlik spektrumu
  • Kirmizi grafik LPC Sentez (1/A(z)) filtresinin
    genlik tepkesi
  • 1/A(z) filtresinin genlik tepkesinin tepe
    noktalari sinyalin formantlaridir

18
LSF LSP(Line Spectral Frequencies Pairs)
  • LPC katsayilari özel bir islemle LSFlere
    dönüstürülür
  • Bu sayede elde edilen LSPler
  • 0-1 ya da 0-pi araliginda
  • Pozitif
  • Küçükten büyüge ya da büyükten küçüge sirali
  • Iletimde kolaylik saglar

19
LSF LSP
  • P(z) ve Q(z) polinomlarinin kökleri LSFleri
    verir
  • Bu kökler
  • Birim çember üzerinde
  • Interlaced (Birbiri içine girmis)
  • Buna karsilik 1/A(z) filtresinin kökleri
  • Fazlasiyla daginik
  • Eger otokorelasyon metoduyla hesaplanmissa hepsi
    birim çember içinde

20
1/A(z) kökleri
poles roots(lpc_coef)zplane(,poles)
21
Uygulama LSF
P(z) katsayilarip 1,lpc_coef(2end)
fliplr(lpc_coef(2end)),1poles_P
roots(p) zplane(,poles_P) hold Q(z)
katsayilari q 1,lpc_coef(2end) -
fliplr(lpc_coef(2end)),-1 poles_Q
roots(q) zplane(,poles_Q)
22
Uygulama LSF
  • 0 ve 1 de ise yaramayan birer kök var
  • Bunlardan kurtulmak için P(z) ve Q(z)
    polinomlarini modifiye etmek gerekir

23
Uygulama LSF
0 ve 1 deki kökler çizdirme esnasinda kullanilmadi
24
LSF LSP
  • P(z) polinomunun köklerinin gösterdigi frekanslar
    formantlardir
  • Q(z) polinomunun kökleri ise sinyalin genlik
    spektrumunun zarfinin çizilmesini saglar

25
Uygulama LSF
  • Sinyalin kendi genlik spektrumunun çizilmesi
    grafigi fazla karmasiklastirdigindan sadece zarfi
    çizildi

26
Hidden Markov Model
  • Deterministik bir olayi stokastik bir sekilde
    modelleme
  • Modellenecek sistemin bir Markov chain oldugunu
    kabul ederek izlenebilir parametrelerden gizli
    parametrelerin hesaplanmasi

27
HMM - Örnek
x gizli durumlar y izlenebilir çiktilar a
geçis olasiliklari b çikti olasiliklari
http//en.wikipedia.org/wiki/ImageMarkovModel.png
28
HMMKullanim Alanlari
  • Pattern Recognition
  • Bioinformatics
  • Hand-written Word Recognition
  • Adaptive Power Management
  • Speech Recognition

29
HMM - Ergodic
  • Durumlarin her birinden tüm durumlara geçis mümkün

30
HMM - LTR
  • Durum geçisleri soldan saga yönde, ters yönde
    geçis yok

31
HMM
  • Markov Chain
  • A aij state transition matrixDurumdan
    duruma geçme olasiligi
  • ? pi initial probabilitiesBaslangiç durumu
    olasiliklari
  • B bjot bjk observation probability
    matrixj durumunda k çiktisinin olma olasiligi

32
HMM - aij
0.3 0.5 0.2 0 0 0
0 0.4 0.3 0.3 0 0
0 0 0.4 0.2 0.4 0
0 0 0 0.7 0.2 0.1
0 0 0 0 0.5 0.5
0 0 0 0 0 1.0
a11 a12 a13 a14 a15 a16
a21 a22 a23 a24 a25 a26
a31 a32 a33 a34 a35 a36
a41 a42 a43 a44 a45 a46
a51 a52 a53 a54 a55 a56
a61 a62 a63 a64 a65 a66

( of states) X ( of states)
33
HMM - pi
p1 p2 p3 p4 p5 p6
0.5 0.5 0 0 0 0
  • Durum sayisi uzunlugunda bir vektör

34
HMM - bjk
b11 b21 b31 b41 b51 b61
b12 b22 b32 b42 b52 b62

b1M b2M b3M b4M b5M b6M
( of states) X ( of outputs)
  • Durum sayisi X Görülebilecek çikti sayisi

35
HMM - Örnek
  • 6 kutu içinde çesitli renk toplar var
  • 10 farkli renk var her kutuda her renkten esit
    olmayan sayida top var
  • Baslangiç kutusunu belirlemek için yazi-tura
    atiliyor (Yazi 1 Tura 2)
  • 50 kere
  • Zar atilip bir kutu seçiliyor
  • Seçilen kutudan rasgele bir top aliniyor
  • Rengi kaydedilip top yerine konuyor

36
HMM
  • Çiktilara bakarak toplarin hangi kutulardan
    çekildiginin bulunmasi
  • Her bir çikti için olasiliklarin hesaplanmasi
  • Baum-Welch gibi bir beklenti artirma (expectation
    maximization) algoritmasi kullanimi

37
HMM Baum Welch
  • Bir HMMin parametrelerinin (A,B)
  • maximum-likelihood tahminleri
  • maximum a posteriori tahminleri
  • HMM ise
  • Baum-Welch, verilen çiktilarin olma olasiligini
    maksimize eden HMMi bulur

38
HMM Baum Welch
  • Algoritma verilen baslangiç olasiligi ile
    baslatilir
  • t zamaninda j durumunda olan,O1, O2, Ot çikti
    sirasinin olasiligini hesaplar (forward
    probabilities)

39
HMM Baum Welch
  • Çikti sirasinin olusmasinin olasiligi bu
    degerlerin toplanmasiyla bulunabilir
  • Bu olasiliga Baum-Welch olasiligi denir
  • O çiktisinin izlenme olasiligi, mümkün tüm durum
    siralari üzerinden toplanmis olur

40
HMM Viterbi
  • Çiktiyi olusturmus olabilecek maksimum olasilikli
    durum sirasini verir
  • Baum-Welch toplama islemi yaparken Viterbi
    maksimumunu alir
  • PV genelde PBW den küçüktür
  • PBW nin PV ye esit olmasi sadece tek bir durum
    sirasi mümkün oldugunda olur

41
HMM Viterbi
  • En olasi durum sirasini hesaplamak da mümkündür
  • t zamaninda s1 durumundayken t-1 zamanindaki en
    olasi durumu kaydetmekle yapilir
  • Bu degerler tüm j ler için hesaplandiktan sonra
    en olasi durum sirasi data üzerinde geri giderek
    bulunur

42
HMM Örnek
  • 3 vazo, R G B toplar
  • O RGGBRB

b1(R) 0.3 b2(R) 0.1 b3(R) 0.4
b1(G) 0.5 b2(G) 0.4 b3(R) 0.1
b1(B) 0.2 b2(B) 0.5 b3(R) 0.5
?(j) 0.8, 0.2, 0.0
43
HMM Örnek
function alfa, phi, mu hmm( A, B, I, O
) alfa zeros(length(O),length(I)) for i
1length(O) for j 1length(I) if i
1 alfa(1,j) I(j)B(1,j)
continue end for k
1length(I) alfa(i,j) alfa(i,j)
alfa(i-1,k)A(k,j) end alfa(i,j)
alfa(i,j) B(O(i),j) end end
44
HMM Örnek
1 2 3
1 0.240000000 0.020000000 0.000000000
2 0.036000000 0.070400000 0.001200000
3 0.005400000 0.021344000 0.004344000
4 0.000324000 0.006158800 0.008575200
5 0.000029160 0.000269030 0.004908200
6 0.000001750 0.000064012 0.002534800
45
HMM Örnek
function alfa, phi, mu hmm( A, B, I, O
) phi zeros(length(O),length(I)) mu
zeros(length(O),length(I)) for i 1length(O)
for j 1length(I) if i 1
phi(1,j) I(j)B(1,j) continue
end for k 1length(I)
val phi(i-1,k)A(k,j) if val gt
phi(i,j) phi(i,j) val
mu(i,j) k end end
phi(i,j) phi(i,j) B(O(i),j) end end
46
HMM Örnek
1 2 3
1 0.240000000 0.020000000 0.000000000
2 0.036000000 0.067200000 0.001200000
3 0.005400000 0.010752000 0.004032000
4 0.000324000 0.002150400 0.003225600
5 0.000029160 0.000086016 0.001290200
6 0.000001750 0.000017203 0.000645120
1 2 3
1 0 0 0
2 1 1 2
3 1 2 2
4 1 2 2
5 1 2 3
6 1 2 3
47
HMM Training Baum Welch
  • Algoritma rasgele bir degerle baslatilir
  • t zamaninda j durumunda olacak,O1, O2, Ot
    çikti sirasinin olasiligini hesaplar (forward
    probabilities)

48
HMM Training Baum Welch
  • t zamaninda j durumunda olan modelin,Ot1, OT
    çikti sirasiyla bitme olasiligini hesaplar
    (backward probabilities)

49
HMM Training Baum Welch
50
HMM Training Baum Welch
  • Hesaplanan degerlerleA, B ve ? hesaplanir ve
    yerlerine konup islem tekrar gerçeklestirilir
Write a Comment
User Comments (0)
About PowerShow.com