1.1 Primjena kepstralne analize za određivanje fundamentalne frekvencije

Kao što se moglo uočiti iz razmatranja u prethodnom poglavlju, homomorfna obrada predstavlja vrlo učinkovit postupak za određivanje osnovne frekvencije titranja glasnica (engl. pitch detection). Tako se u kepstru zvučnog govornog segmenta na indeksu koji odgovara osnovnom periodu titranja glasnica može uočiti šiljak, dok u kepstru bezvučnog govornog segmenta takav šiljak ne postoji. Upravo ovo svojstvo kepstra može se koristiti kao osnova za određivanje zvučnosti govornog segmenta kao i za određivanje osnovnog perioda zvučnih govornih segmenata.

Postupci kod procedure za određivanje osnovne frekvencije temeljene na kepstru relativno su jednostavni. Nakon izračunavanja kepstra na način objašnjen u prethodnom poglavlju, u okolici očekivanog osnovnog perioda u kepstru se traži šiljak Ako je veličina šiljka iznad nekog prethodno postavljenog praga, ulazni govorni segment je vjerojatno zvučni, pri čemu pozicija šiljka predstavlja dobru estimaciju osnovnog perioda. Ako je veličina šiljka ispod nivoa, ulazni govorni segment je vjerojatno bezvučni. Promjena tipa pobude (zvučno / bezvučno) i promjena osnovnog perioda titranja glasnica kroz vrijeme može se procijeniti računanjem vremenski kratkotrajnog kepstra temeljenog na vremenski kratkotrajnoj Fourier-ovoj transformaciji. Tipično se kepstar računa jednom svakih 10-20 ms pošto se parametri pobude u normalnom govoru ne mijenjaju naglo.

Ovi primjeri mogu navesti na pomisao da i jednostavan algoritam može rezultirati izuzetno dobrim estimacijama osnovne frekvencije i zvučnosti. Na žalost, kao što je čest slučaj u obradi govora, postoje brojni specijalni slučajevi i kompromisi o kojima treba voditi računa kod dizajna algoritama za određivanje osnovne frekvencije temeljenih na kepstru. Iako postoji čitav niz razvijenih algoritama koji se koriste s uspjehom, umjesto detaljnog opisa nekog od njih treba ipak radije naglasiti neke od osnovnih problema koji se javljaju tokom osmišljanja takvog algoritma.

Kao prvo, prisutnost snažnog šiljka u kepstru u rasponu od 3 do 20 ms je vrlo jaka indikacija da je govorni segment zvučan. Međutim, odsutnost šiljka ili postojanje šiljka malog iznosa ne mora nužno značiti da je govorni segment bezvučan. Drugim riječima, veličina pa čak i samo postojanje šiljka u kepstru za zvučni segment govora ovisi o nizu faktora, uključujući dužinu vremenskog otvora koji se primjenjuje na ulaznom signalu te formantnu strukturu ulaznog signala. Može se pokazati da je najveći iznos šiljka jednak jedinici, a postiže se samo u slučaju da se osnovni period ni malo ne mijenja tokom cijelog segmenta. Međutim, u normalnom govoru se tako nešto teško može dogoditi čak i u slučaju da se pravokutnim otvorom zahvati cjeli broj perioda. Pravokutni vremenski otvor se inače u praksi rijetko koristi zbog slabijih rezultata estimacije, dok je za slučaj Hamming-ovog otvora jasno da i širina otvora kao i relativna pozicija otvora prema signalu značajno utječu na veličinu šiljka u kepstru. Kao primjer za granični slučaj, neka je vremenski otvor kraći od dva osnovna perioda. Jasno je da u ovom slučaju ne bi trebalo očekivati bilo kakvu izraženu periodičnost bilo u spektru bilo u kepstru. Zbog toga se u praksi dužina vremenskog otvora obično uzima tako da su unutar govornog segmenta ograničenog otvorom nalaze barem dvije pune periode, uzimajući u obzir i opadanje (engl. tapering) vremenskog otvora prema rubovima. Tako se za obradu govora muškog govornika dubljeg glasa tipično uzima vremenski otvor trajanja oko 40 ms, dok se za više glasove (veća osnovna frekvencija) mogu koristiti proporcionalno uži vremenski otvori. Poželjno je, naravno, zadržati trajanje otvora što kraćim da bi se smanjili utjecaji promjene parametara govora unutar intervala koji se analizira. Što je vremenski otvor duži, veće su promjene parametara od početka do kraja intervala, pa je veće i odstupanje od početno pretpostavljenog stacionarnog modela signala za analizu. Jedan od pristupa određivanju dužine otvora (da ne bude niti prekratak niti predugačak) jest prilagodba veličine otvora tokom obrade na temelju prethodnih (ili usrednjenih) estimacija osnovne frekvencije.

Drugi slučaj kod kojeg signal može značajno odstupati od modela jest kada je signal iznimno frekvencijski ograničen. Granični slučaj za to jest primjer čistog sinusnog signala. Logaritam spektra takvog signala rezultira samo jednim šiljkom pa pošto u njemu nema periodičkih oscilacija, neće biti ni šiljka u kepstru. U realnom govoru su npr. zvučni praskavi glasovi u principu jako frekvencijski ograničeni, bez jasno definirane harmonijske strukture na frekvencijama iznad nekoliko stotina Hz. U tim slučajevima niti nema izraženog šiljka u kepstru. Na sreću, za sve slučajeve osim onih s najmanjim osnovnim periodom, ipak se pojavljuju šiljci u kepstru, ali na mjestima gdje su sve druge komponente gotovo nestale, pa se za određivanje šiljaka može koristiti relativno nizak prag detekcije (reda veličine 0.1).

U većini slučajeva se uz adekvatnu dužinu vremenskog otvora osnovna frekvencija i zvučnost mogu relativno pouzdano odrediti na temelju pozicije i amplitude šiljaka kepstra. U preostalim slučajevima kada kepstar ne daje jasne informacije, pouzdanost određivanja osnovne frekvencije i zvučnosti može se povećati korištenjem dodatnih informacija kao npr. prolaza kroz nulu, energije i sl., ili uz forsiranje blažih promjena estimacija. Dodatna logika potrebna za obradu specijalnih slučajeva često zahtjeva značajnu količinu koda u programskim implementacijama, ali se s obzirom na dobivenu korist isplati.