13
Digitalna obrada govora Govor je signal koji sadrži vremenski diskretnu informaciju. Temeljna namjena govora je komunikacija. Govorni signal reprezentiramo tako da očuvamo sadržaj u obliku koji je pogodan za prijenos, pohranu ili obradu. Može se prenijeti valni oblik (vrlo visoki protok) ili parametri (niskim protokom) što donosi veliku uštedu količine podataka ali zahtjeva više od 1000 puta povedanu brzinu obrade. PCM 0.01, a CELP 13,5 MIPS. Kodiranje govora počelo je 70-tih godina - sustavi sa reprezentacijom valnog oblika PCM 64 kbit/s i ADPCM32 kbit/s. Krajem 80-tih razvoj mobilnih komunikacija - sustavi s parametarskom reprezentacijom JDC-VSELP, RCR STD-27B, RPE-LTP, CEPT 13 kbit/s, IS96 QCELP. PSI-CELP, Wide Band Coders (75 do 400 b/s). Mobitel ne prenosi valni oblik govora nego slikugovornog trakta SPIE09 Digitalna obrada zvučnih signala 03 Digitalna obrada govora Ozren Bilan, viši predavač 1. UVOD 1.1. Kontinuirani i diskretni signali i DSP 1.2. Analiza u vremenskom i frekvencijskom području 1.3. DSP transformacije 1.4. Projektiranje digitalnih FIR i IIR filtera 2. Zvučni signali visoke razlučivosti HD Audio 3. Digitalna obrada govora 4. Sažimanje zvučnih datoteka 5. Primjena umjetnih neuralnih mreža na zvučne signale 6. Primjena Wavelet analize na zvučne signale 7. Razlike DSP i procesora 30 sati predavanja + 30 sati laboratorijskih vježbi Svi MATLAB kodovi nalaze se u skripti LAB VJEŽBE DOZS u pdf inačici nisu vidljive animacije Proces nastajanja govora u komunikaciji 1. Poruka u apstraktnom obliku pojavljuje se u mozgu 2. poruka se pretvara u skup neuronskih signala koji upravljaju postupkom artikulacije (pomicanje jezika, usnica, glasnica, itd.) 3. pomak artikulatora formira zvučni signal koji sadrži informaciju izvorne poruke NEURALNA MREŽA Zračni tlak iz pluda O. Bilan 2 Elementi govora FONEMI Govorom se prenosi vremenski diskretna informacija nastaje spajanjem elemenata konačnog skupa simbola Osnovni elementi govora se nazivaju FONEM ili GLAS Svaki jezik ima različit skup fonema (tipično 30 do 50 fonema) hrvatski jezik ima 30 fonema i 30 grafema engleski jezik ima 45 fonema i 26 grafema mađarski ima 40 fonema i 40 grafema O. Bilan 3 Primjene digitalne obrade govora • kodiranje govora u svrhu učinkovitog prijenosa ili pohrane, prepoznavanje govora, diktiranog ili prirodnog s vezanim izgovorom riječi, prepoznavanje govornika, prepoznavanje jezika, sustav detekciju riječi, sinteza govora sustavi za dijalog čovjeka i računala, • sustavi za transformacije govornog signala (promjena visine glasa, brzine izgovora…) sustavi za pomod osobama oštedena vida, sluha ili govora, • sustavi za poboljšanje kvalitete govora, analiza govora u svrhu dijagnostike raznovrsnih oboljenja O. Bilan 4 Znanstvena područja koja se bave govorom Studija pravila jezika i njihovog utjecaja na ljudsku komunikaciju LINGVISTIKA Studija i klasifikacija glasova u govoru FONETIKA Poznavanje lingvistike i fonetike je od velikog značaja kod sinteze i prepoznavanja govora O. Bilan 5 Klasifikacija fonema u hrvatskom jeziku • Otvorni glasovi ili samoglasnici ili vokali • Poluotvorni glasovi ili glasnici ili sonanti • Zatvorni glasovi ili suglasnici ili konsonanti Samoglasnici (vokali) su zvučni glasovi • Otvorni glasovi ili samoglasnici ili vokali • Poluotvorni glasovi ili glasnici ili sonanti • Zatvorni glasovi ili suglasnici ili konsonanti Samoglasnici (vokali) su zvučni glasovi prednji i e prednji dio jezika i prednje nepce srednji a sredina jezika stražnji o u stražnji dio jezika i stražnje nepce dijele se i prema veličini otvora između jezika i nepca najviši ili najotvoreniji a srednji e o najniži ili najzatvoreniji i u O. Bilan 6 Na formiranje glasa utječe položaj jezika • položaj usana • položaj čeljusti • položaj resice • otvor glasnica • pritisak u pludima

Digitalna obrada govora - Audiologs · • kodiranje govora u svrhu učinkovitog prijenosa ili pohrane, • prepoznavanje govora, diktiranog ili prirodnog s vezanim izgovorom riječi,

  • Upload
    others

  • View
    27

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Digitalna obrada govora - Audiologs · • kodiranje govora u svrhu učinkovitog prijenosa ili pohrane, • prepoznavanje govora, diktiranog ili prirodnog s vezanim izgovorom riječi,

6.9.2013.

1

Digitalna obrada govora

Govor je signal koji sadrži vremenski diskretnu informaciju. Temeljna namjena govora je komunikacija. Govorni signal reprezentiramo tako da očuvamo sadržaj u obliku koji je pogodan za prijenos, pohranu ili obradu. Može se prenijeti valni oblik (vrlo visoki protok) ili parametri (niskim protokom) što donosi veliku uštedu količine podataka ali zahtjeva više od 1000 puta povedanu brzinu obrade. PCM 0.01, a CELP 13,5 MIPS.

Kodiranje govora počelo je 70-tih godina - sustavi sa reprezentacijom valnog oblika PCM 64 kbit/s i ADPCM 32 kbit/s.

Krajem 80-tih razvoj mobilnih komunikacija - sustavi s parametarskom reprezentacijom JDC-VSELP, RCR STD-27B, RPE-LTP, CEPT 13 kbit/s, IS96 QCELP. PSI-CELP, Wide Band Coders (75 do 400 b/s). Mobitel ne prenosi valni oblik govora nego sliku govornog trakta

SPIE09 Digitalna obrada zvučnih signala 03 Digitalna obrada govora

Ozren Bilan, viši predavač

1. UVOD 1.1. Kontinuirani i diskretni signali i DSP 1.2. Analiza u vremenskom i frekvencijskom području 1.3. DSP transformacije 1.4. Projektiranje digitalnih FIR i IIR filtera 2. Zvučni signali visoke razlučivosti HD Audio 3. Digitalna obrada govora 4. Sažimanje zvučnih datoteka 5. Primjena umjetnih neuralnih mreža na zvučne signale 6. Primjena Wavelet analize na zvučne signale 7. Razlike DSP i procesora 30 sati predavanja + 30 sati laboratorijskih vježbi

Svi MATLAB kodovi nalaze se u skripti LAB VJEŽBE DOZS

u pdf inačici nisu vidljive animacije

Proces nastajanja govora u komunikaciji

1. Poruka u apstraktnom obliku pojavljuje se u mozgu

2. poruka se pretvara u skup neuronskih

signala koji upravljaju postupkom

artikulacije (pomicanje jezika,

usnica, glasnica, itd.)

3. pomak artikulatora formira zvučni

signal koji sadrži informaciju izvorne poruke

NEURALNA MREŽA

Zračni tlak iz pluda O. Bilan 2

Elementi govora FONEMI

Govorom se prenosi vremenski diskretna informacija

nastaje spajanjem elemenata konačnog skupa simbola

Osnovni elementi govora se nazivaju FONEM ili GLAS

Svaki jezik ima različit skup fonema

(tipično 30 do 50 fonema)

• hrvatski jezik ima 30 fonema i 30 grafema

• engleski jezik ima 45 fonema i 26 grafema

• mađarski ima 40 fonema i 40 grafema

O. Bilan 3

Primjene digitalne obrade govora • kodiranje govora u svrhu učinkovitog prijenosa ili pohrane,

• prepoznavanje govora, diktiranog ili prirodnog s vezanim izgovorom riječi,

• prepoznavanje govornika,

• prepoznavanje jezika,

• sustav detekciju riječi,

• sinteza govora

• sustavi za dijalog čovjeka i računala,

• sustavi za transformacije govornog signala (promjena visine glasa, brzine izgovora…)

• sustavi za pomod osobama oštedena vida, sluha ili govora,

• sustavi za poboljšanje kvalitete govora,

• analiza govora u svrhu dijagnostike raznovrsnih oboljenja

O. Bilan 4

Znanstvena područja koja se bave govorom

Studija pravila jezika i njihovog utjecaja na

ljudsku komunikaciju LINGVISTIKA

Studija i klasifikacija glasova u govoru FONETIKA

Poznavanje lingvistike i fonetike je od velikog

značaja kod sinteze i prepoznavanja govora

O. Bilan 5

Klasifikacija fonema u hrvatskom jeziku

• Otvorni glasovi ili samoglasnici ili vokali

• Poluotvorni glasovi ili glasnici ili sonanti

• Zatvorni glasovi ili suglasnici ili konsonanti Samoglasnici (vokali) su zvučni glasovi

• Otvorni glasovi ili samoglasnici ili vokali

• Poluotvorni glasovi ili glasnici ili sonanti

• Zatvorni glasovi ili suglasnici ili konsonanti

Samoglasnici (vokali) su zvučni glasovi

prednji i e prednji dio jezika i prednje nepce

srednji a sredina jezika

stražnji o u stražnji dio jezika i stražnje nepce

dijele se i prema veličini otvora između jezika i nepca

• najviši ili najotvoreniji a

• srednji e o

• najniži ili najzatvoreniji i u

O. Bilan 6

Na formiranje glasa utječe

položaj jezika

• položaj usana

• položaj čeljusti

• položaj resice

• otvor glasnica

• pritisak u pludima

Page 2: Digitalna obrada govora - Audiologs · • kodiranje govora u svrhu učinkovitog prijenosa ili pohrane, • prepoznavanje govora, diktiranog ili prirodnog s vezanim izgovorom riječi,

6.9.2013.

2

Poluotvorni glasovi ili glasnici ili sonanti

• j l lj m n nj r v

• uslijed približavanja ili dodirivanja pojedinih organa otvor za prolaz zraka se sužava ili djelomično zatvara

• svi glasnici su također zvučni glasovi

• r može biti i samoglasnik

Zatvorni glasovi ili suglasnici ili konsonanti

Podjela glasnika i suglasnika prema mjestu tvorbe

• dvousneni ili bilabijalni b p m zapreka su obje usne

• usnenozubni ili labiodentalni f v donja usna i gornji zubi

• zubni ili dentalni d t n c z s zubi i jezik

• prednjonepčani ili palatalni j lj nj čć dž đ ž š jezik i prednje nepce

• stražnjonepčani ili velarni k g h zadnji dio jezika i stražnje nepce

• tekudi ili likvidni l r vrh jezika dodiruje prednje nepce

• nosni ili nazalni m n resica je spuštena

• piskavi ili sibilantni s z c stvara se piskav šum

O. Bilan 7

Frikativi zvučni: v z ž

bezvučni: f s š h

Zračni tlak iz pluda

Slogovi • Spajanjem glasova dobivaju se slogovi • Slog je skup glasova koji se izgovara jednim izdisajem Količina ili kvantitet sloga • vrijeme koje je potrebno da se slog izgovori • određen je dužinom samoglasnika u slogu (muž / muževi) • dodatni parametar koji se uzima u obzir pri sintezi temeljem fonema Akcent pri izgovoru • akcent je isticanje samoglasnika izgovarajudi ga vedom snagom kratkosilazni brat, ginuti, govor, istina dugosilazni budim, dragi, glad, meso kratkouzlazni gora, loza, voda, pero dugouzlazni glava, hvaliti, pitati, trava O. Bilan 8

Potrebna znanja za digitalnu obradu govora

• nastanak govora

• vremenski diskretni signali i sustavi

• transformacije reprezentacija signala i sustava z-transformacija

Fourier-ova transformacija

diskretna Fourier-ova transformacija

• osnove digitalnih filtara FIR, IIR

• sempliranje teorem sempliranja

decimacija sempliranog valnog oblika

interpolacija sempliranog valnog oblika

O. Bilan 9

Kodiranje govora

• Što je kodiranje govora ?

Nije kriptografska zaštita nego

učinkovita digitalna reprezentacija

• Gdje se primjenjuje ?

U svim sustavima temeljenim na:

digitalnom zapisu ili prijenosu.

Analogni sustavi se više ne koriste.

O. Bilan 10

Količina informacije u govoru Temeljni problem teorije informacija je potrebna brzina prijenosa

informacije

gruba procjena je vezana uz fizička ograničenja pomicanja artikulatora

tipična brzina govora iznosi 10 fonema u sekundi

za kodiranje fonema dovoljno je 6 bita

za prijenos govorne informacije je dovoljno oko 60 bita/s

• donja granica stvarnog informacijskog sadržaja govora je mnogo viša

• navedena procjena ne uključuje identitet govornika, emocionalno stanje, brzinu izgovora, glasnodu, itd.

O. Bilan 11

Sustavi za prijenos, pohranu i obradu govora

Kako predstaviti (reprezentirati) govorni signal ?

• očuvanje sadržaja poruke govornog signala

• reprezentacija govornog signala u obliku koji je

pogodan za prijenos, pohranu ili obradu

• takva reprezentacija ne smije štetiti sadržaju govorne poruke

O. Bilan 12

MREŽA CENTRALA

CENTRALA

PARICA

PROPUSNI POJAS TELEFONSKOG KANALA OGRANIČEN JE IZMEĐU f min = 300 Hz i fmax = 3000 Hz, SA UKUPNOM KORISNOM ŠIRINOM

POJASA OD W = 2700 Hz.

Standardna frekvencija sempliranja telefonskog kanala je 8 KHz, a ograničenje frekvencijske širine pojasa je

zbog antialias filtera u centralama za maksimalnu širinu pojasa je W =3400 Hz.

Stari telefonski sustav

Page 3: Digitalna obrada govora - Audiologs · • kodiranje govora u svrhu učinkovitog prijenosa ili pohrane, • prepoznavanje govora, diktiranog ili prirodnog s vezanim izgovorom riječi,

6.9.2013.

3

Karakteristike govora važne za kodiranje

• Izvor govora: ljudski govorni organi

– Zrak iz pluda prolaskom kroz govorne organe (dušnik, grkljan, glasnice, šupljine usta i nosa) stvara glas • zvučni glasovi (zrak izaziva titranje glasnica) • bezvučni glasovi (nema titranja glasnica) – Frekvencijski odziv 60 Hz -8 kHz, dinamički raspon 40 dB • Prijamnik: ljudski slušni organi – Čujno područje 20Hz –20 kHz, dinamički raspon 120 dB – Za razumljivost najvažnije 2 -5 kHz(500-2000Hz) – Kvaliteta se ocjenjuje subjektivno – Anomalija: efekt maskiranja: jedan zvučni signal prekriva drugi (ovisno o relativnima glasnodama i frekvencijama)

O. Bilan 13

Kriteriji usporedbe codec-a • brzina, izlaz, bitrate (bit/s) • kvaliteta – objektivna mjerila (klasične metode, izobličenje signala i SNR, nisu dobra mjerila za ljudsku percepciju

rekonstruiranog signala) – subjektivna mjerila (često važnija od objektivnih!) • kašnjenje – algoritamsko kašnjenje u koderu na izvoru - koliko traje kodiranje – kod dekodiranja - koliko traje dekodiranje? – sinkronizacija s ostalim medijima u višemedijskoj aplikaciji • otpornost na gubitke – važno za prijenos preko mreže • primjena na ostale zvukove koji nisu govor, npr. fax i modemske signale, te glazbu • složenost sklopovlja i programa • cijena izvedbe

O. Bilan 14

MOS Mean Opinion Score

Ovisnost kvalitete i brzine kodera

Subjektivna mjerila kvalitete

Opda ocjena kvalitete -mišljenje korisnika

• Mean Opinion Score (MOS)

• Degradation MOS (DMOS)

Ocjena razumljivosti govora

• dijagnostički testovi s parovima riječi koje slično zvuče, 90% točnost smatra se toll quality

• Dynamic Rhyme Test (DRT) – 96 parova engleskih riječi, npr. dune/tune,

chair/care, moon/noon, .. slušateljima se nudi popis i pita ih se koju riječ su čuli

O. Bilan 15

Objektivne metode Novije objektivne metode temelje se na poznavanju ljudskog slušnog sustava –računaju izobličenje zvučnog signala s percepcijskim težinskim faktorima. Ideja je: izobličenja koje uho više čuje imaju vedi težinski faktor od onog manje primjetnog ili neprimjetnog Perceptual Evaluation of Speech Quality (PESQ) • ITU-T preporuka P.862 • metoda procjene subjektivne kvalitete govornih kodeka • algoritam predviđa subjektivnu ocjenu kvalitete degradiranog uzorka govora • izlaz iz algoritma je procijenjena vrijednost MOS

Perceptual Evaluation of Audio Quality (PEAQ) • ITU-R preporuka BS.1387 • algoritam za procjenu kvalitete audia

O. Bilan 16

Temelji konstrukcije codeca

Svojstvo govornog signala: veda je vjerojatnost nastajanja manjih vrijednosti nego vedih vrijednosti – Uniformna kvantizacija nije optimalna – Mora se točnije kodirati manje vrijednosti od vedih jer nelinearna kvantizacija daje bolju kvalitetu uz jednak broj bita po uzorku Postoji visoka korelacija između uzastopnih uzoraka i uzastopnih okvira – Uklanjanjem redundancije u signalu sažima se zapis Temeljem poznavanja svojstava govora, tj. fizioloških karakteristika govornog trakta, može se napraviti model – Parametri modela se računaju na temelju stvarnih uzoraka – Prenose se samo parametri, a govor se rekonstruira (sintetizira) na temelju modela – Najnoviji koderi (MPEG-4 SA) ideju šire i na druge zvukove

O. Bilan 17

Reprezentacija govora: valni oblik ili parametri ?

Potrebna brzina prijenosa (bit/s) = cijena

O. Bilan 18

Page 4: Digitalna obrada govora - Audiologs · • kodiranje govora u svrhu učinkovitog prijenosa ili pohrane, • prepoznavanje govora, diktiranog ili prirodnog s vezanim izgovorom riječi,

6.9.2013.

4

Sustavi sa reprezentacijom valnog oblika signala

• pojavili se početkom 70-tih godina

• složenost analognih centrala postala je prevelika i prijetila je zagušenjem sustava

• Najznačajniji standardi su PCM (64 kbit/s) i ADPCM (32 kbit/s)

• Vedina uredskih telefonskih instalacija je i danas temeljena na tim standardima

codec = coder + decoder uređaj koji kodira i dekodira, odnosno komprimira i dekomprimira, audio i video

• kodere standardizira međunarodno tijelo za standardizaciju telekomunikacijskog sektora ITU-T

(The Telecommunication Standardization Sector of the International Telecommunication Union) oznake

G.711 (PCM)

G.721, G.726, G.727 (ADPCM)

• to su algoritmi koji nastoje valni oblik govornog signala što bolje reprezentirati i prenijeti na prijemnu stranu

• ne koriste činjenicu specifičnih svojstava govornog signala,

• koderi se mogu koristiti i za prijenos složenijih signala (npr. muzike).

O. Bilan 19

PCM G.711

ADPCM G.721,

G.726, G.727

PCM Pulsno kodna modulacija PCM je najednostavniji oblik skalarne kvantizacije. Svaki uzorak se zaokružuje na najbližu vrijednost diskretnog skupa, kako smo pokazali.

Jednolika PCM sastoji se od niza jednoliko udaljenih diskretnih vrijednosti gdje je korak između svake razine kvantizacije konstantan.

Valni oblik aproksimira se kvantiziranjem govornih uzoraka prioje prijenosa. PCM ima visoku kvalitetu govora ali vrlo velike brzine protoka.

Primjeni li se nejednoliki korak kvantizacije logaritamskim kvantizerom postiže se velika ušteda jer se sa samo 7-8 bitova može postidi karakteristika 12 bitnog kvantizera. Primjeri logaritamskog kvantizera su μ krivulja i A krivulja koje demo opisati. Postupak se naziva kompandiranje.

O. Bilan 20

PCM A-krivulja (Europa) i μ-krivulja (SAD, Japan)

Uzorkovanje na 8 kHz, nelinearna kvantizacija po logaritamskoj karakteristici prema A-krivulji (Europa) ili μ-krivulji (SAD, Japan). A-krivulja jednostavnija za obradu računalom • Prednosti: – jednostavan – visoka kvaliteta (MOS 4.3) – malo kašnjenje (1 uzorak) • Nedostaci: – 64 kbit/s vrlo visok protok (skup) – nema mehanizme za kontrolu i ispravljanje pogrešaka pa nije dobar za internetsku telefoniju • Primjena: ved desetljedima u uporabi u fiksnoj telefonskoj mreži

O. Bilan 21

A-krivulja (Europa) μ-krivulja (SAD, Japan)

Razlika je u ovom dijelu

povedat demo

Slika prikazuje grafove jednadžbi za ulaznu varijablu, x, između -1 i +1, što na izlazu daje varijablu koja također poprima vrijednosti između -1 i +1. Jednadžbe obrađuju samo pozitivne ulazne

vrijednosti, a dijelovi krivulje negativnih ulaznih vrijednosti nalaze se iz simetrije.

Slika (a), pokazuje kako su krivulje µ255 i A vrlo slične. Jedina značajna razlika je u blizini izvorišta jer je µ255 glatko zaobljena, dok A prelazi u pravac pa je računala mnogo lakše obrađuju.

Realizacija tabličnih nelinearnosti vrlo je teška zadada za analognu elektroniku. Jedan od postupaka koji se koristi je logaritamski odnos struje i napon uzduž PN spoja diode i dodatni sklopovi kompenzacije temperaturnog pomaka. Najvedi broj sklopova za kompandiranje koristi različitu strategiju: aproksimiraju nelinearnost pravcima. Tipični pristup je aproksimacija logaritamske krivulje

sa 16 ravnih odsječaka. A-krivulja je jednostavnija za obradu računalom.

Kao i svi integrirani sklopovi, kompanderi se sastoje od sofisticiranih i zaštidenih unutrašnjih shema.

O. Bilan 22

A-krivulja (Europa) μ-krivulja (SAD, Japan)

μ-krivulja (SAD, Japan)

A-krivulja (Europa)

Kompandiranje Digitalni protok je vrlo važan u telekomunikaciji jer je upravo proporcionalan cijeni prenošenog signala. Ušteda bita je ušteda troškova. Kompandiranje je uobičajena tehnika reduciranja digitalnog protoka audio signala.

Osnovi princip: smanjuje se broj kvantizacijskih razina.

Razlog: najglasniji zvuk iznosi 120 dB, a to je milijun puta veda amplituda od najtišeg zvuka 0 dB. Uho ne razlikuje razine između zvukova čija je razlika razina manja od 1 dB, tj. 12% razlike amplitude. Zbog toga postoji samo 120 različitih razina glasnode koje uho detektira unutar logaritamske skale amplituda od jednog milijuna vrijednosti. Ako su kvantizacijske razine raspodijeljene jednoliko, moramo koristiti 12 bitova za kakvodu telefonskog govora.

Učinimo li kvantizaciju nejednolikom, tako da se prilagodimo karakteristici ljudskog sluha, potrebno je samo 8 bitova.

Rješenje je intuitivno: • ako su signali niskih razina kvantizacijski intervali moraju biti mali; • ako su signali visokih razina kvantizacijski intervali moraju biti vedi.

O. Bilan 23

Jednoliki i logaritamski kvantizer

Kompandiranje se izvodi na tri načina:

1. analogni signal propustimo kroz nelinearni sklop prije linearnog 8 bitnog ADC,

2. primijenimo 8 bitni ADC s koracima nejednake veličine ili

3. koristimo linearni 12 bit ADC s digitalnom look-up tablicom (ulaz 12 bit, izlaz 8 bit).

Svaka od tri opcije treba istu nelinearnosti ali na različitim mjestima: analogni sklop, ADC ili digitalni sklop.

Za kompandiranje se koriste skoro dva identična standarda: µ255 u Americi i A krivulja u Europi i ostalom svijetu. Obje koriste logaritamsku nelinearnost, jer takva ovisnost linearizira ovisnost ljudskog uha. U obliku jednadžbe µ255 i A krivulja određene su:

Jednadžbe µ i A kompandiranja. Jednadžba opisuje nelinearnosti za µ255 krivulju kompandiranja. Konstanta µ, ima vrijednost 255, odakle i dolazi ime ovog standarda. Za A krivulju kompandiranja, konstanta A, ima vrijednost 87.6.

za

za

za

O. Bilan 24

Page 5: Digitalna obrada govora - Audiologs · • kodiranje govora u svrhu učinkovitog prijenosa ili pohrane, • prepoznavanje govora, diktiranog ili prirodnog s vezanim izgovorom riječi,

6.9.2013.

5

µ i A-krivulja kompandera Usporedit demo eksponencijalni signal bez sažimanja i sažet µ-krivuljom, pa prikazati rezultate i izvesti zaključak kada su veda izobličenja i zašto.

Mu = 255; % parametri kompandera s mi-krivuljom

sig = -4:.1:4;

sig = exp(sig); % eksponencijalni signal koji se kvantizira

V = max(sig);

% 1. Kvantiziraj intervalima jednake širine bez kompandera.

[index,quants,distor] = quantiz(sig,0:floor(V),0:ceil(V));

% 2. Koristi istu particiju i koder ali sažmi

% prije kvantizacije, a ekspandiraj nakon

compsig = compand(sig,Mu,V,'mu/compressor');

[index,quants] = quantiz(compsig,0:floor(V),0:ceil(V));

newsig = compand(quants,Mu,max(quants),'mu/expander');

distor2 = sum((newsig-sig).^2)/length(sig);

[distor, distor2] % prikaži oba srednja kvadrata izobličenja.

plot(sig); % prikaz izvornog signala plavo

hold on;

plot(compsig,'r--'); % prikaz kompandiranog signala crveno

grid;

legend('Izvorni signal','Kompandirani signal','Location','NorthWest')

ans =

0.5348 0.0397

0 10 20 30 40 50 60 70 80 900

10

20

30

40

50

60

Izvorni signal

Kompandirani signal

Izlaz pokazuje da su izobličenja manja pri postupku kompandiranja. Razlog tome je što su intervali jednake širine prikladniji za logaritam signala, a neprikladni su za govorni signal. Slika pokazuje način promjene signala postupkom kompandiranja.

O. Bilan 25 bez kompandera s kompanderom

>> compressed = compand(1:5,87.6,5,'a/compressor') expanded = compand(compressed,87.6,5,'a/expander') compressed = 3.5296 4.1629 4.5333 4.7961 5.0000 expanded = 1.0000 2.0000 3.0000 4.0000 5.0000 >> compressed = compand(1:5,255,5,'mu/compressor') expanded = compand(compressed,255,5,'mu/expander') compressed = 3.5628 4.1791 4.5417 4.7997 5.0000 expanded = 1.0000 2.0000 3.0000 4.0000 5.0000

Primjer koji ilustrira činjenicu da kompresor i ekspander izvode inverzne operacije

DPCM

predictor = [0 1]; % y(k)=x(k-1) partition = [-1:.1:.9]; codebook = [-1:.1:1]; t = [0:pi/50:2*pi]; x = sawtooth(3*t); % Izvorni signal % Kvantiziramo x pomodu DPCM. encodedx = dpcmenco(x,codebook,partition,predictor); % rekonstrukcija x iz moduliranog signala decodedx = dpcmdeco(encodedx,codebook,predictor); plot(t,x,t,decodedx,'r--'); grid; legend('Izvorni signal','Dekodirani signal','Location','NorthOutside'); distor = sum((x-decodedx).^2)/length(x) % izobličenje srednji kvadrat greške distor = 0.0327

O. Bilan 26

Pri tome nastaju mehanizmi granularnog šuma i preopteredenja nagiba (slope overload). Adaptivna Diferencijalna PCM je proširenje prethodnog postupka uz adaptivnu veličinu koraka i adaptivnu predikciju, a opisuje je ITU-T norma G.726.

Posebni slučaj DPCM kvantizira razliku tekude vrijednosti signala i njegove prethodne vrijednosti koraka. Onda je prediktor y(k) = x(k-1). Prikazana je primjena postupka. Program kodira signal pile, dekodira ga i grafički prikazuje izvorni i dekodirani signal. Puna plava linija je izvorni signal, a crtkana crvena linija predstavlja dekodirani signal. Na kraju se računa srednji kvadrat greške izvornog i dekodiranog signala što u biti predstavlja izobličenje signala. Srednji kvadrat greške iznosi 0,03 što pokazuje učinkovitost postupka.

Sukcesivni uzorci govornog signala su vrlo korelirani pa razlika susjednih uzoraka ima manju varijancu od izvornog signala. Kodiramo li razliku susjednih uzoraka, možemo koristiti manje bitova, a dobiti istu kvalitetu kao pri kodiranju cijelog signala. DPCM kvantizira razliku susjednih uzoraka, umjesto izvornog signala. Istovremeno DPCM koristi short-time prediktor kako bi se dodatno smanjio protok.

preopteredenje nagiba

ADPCM

osim tipične brzine od 32 kbit/s, ovisno o broju bita za kodiranje greške, norma specificira i brzine 40 kbit/s (5 bita), 24 kbit/s (3 bita), 16 kbit/s (2 bita)

• prednosti: –nema algoritamskog kašnjenja –prenosi i modemske i fax signale bez degradacije

• nedostaci: –visoka brzina (postoje bolja rješenja na manjim brzinama), osjetljiv na gubitke

• primjena: kudni bežični telefon - norma DECT (Digital European Cordless Telephony) • primjena i u širokopojasnom koderu; preporuka ITU-T G.722Wideband (7 kHz) audio codec by Subband

ADPCM (SB-ADPCM) –64 (56,48) kbit/s –primjena: ISDN aplikacije, telekonferencija

O. Bilan 27

Prvi sustavi s parametarskom reprezentacijom

• Krajem 80-tih godina dodatni zamah razvoju postupaka učinkovitog kodiranja govornog signala dao je razvoj mobilnih komunikacija

• Kod mobilnih sustava, cijena kanala je direktno proporcionalna korištenoj brzini prijenosa

• presudna važnost mobilnih sustava - učinkovito sažimanje

Prvi sustavi s parametarskom reprezentacijom

• značajan problem mobilnih digitalnih komunikacija

- nepouzdanost i mala kvaliteta prijenosnog kanala

- velika vjerojatnost pogreški u prijenosu, kao i povremeni totalni prekidi kanala.

• zbog toga nastaje potreba za algoritmima koji su imuni na probleme u prijenosu

• zahtjev na jednostavnost i malu potrošnju električne energije

– nije oformljen svjetski standard jer je svatko imao vlastiti sustav. Najvažniji su:

• sjeverno američki standard IS54 VSELP

• 1989 TIA (Telecommunication Industry Association) brzina prijenosa 7.95 kbit/s

nastavak…

O. Bilan 28

Prvi sustavi s parametarskom reprezentacijom

• japanski standard JDC-VSELP

• standardiziran od strane RCR (Research and Development Center for Radio Systems) pod oznakom RCR STD-27B

• europski standard GSM, RPE-LTP koder

• 1987 Groupe Special Mobile of CEPT 13 kbit/s

– svi navedeni sustavi su posebno prilagođeni govornom signalu,

– visoka učinkovitost sažimanja ostvarena na račun činjenice da govorni signal u sebi sadrži značajnu količinu redundantne (nebitne) informacije

– UŠTEDA u brzini prijenosa

razdvajanjem bitne informacije od nebitne, te opisom nebitnog dijela modelom, a kvantizacijom, kodiranjem i prijenosom samo bitnog dijela

O. Bilan 29

Noviji parametarski koderi govornog signala

početkom 90 godina

• želja za udvostručenjem broja telefonskih kanala prepolovljenom brzinom prijenosa uz očuvanje kvalitete (Half Rate, HS Coders)

• ili povedanje kvalitete uz istu brzinu prijenosa (Enhanced Full Rate, EFR Coders)

primjer takvih kodera:

• half-rate GSM standard ETSI-TCH-HS, 1994, brzine prijenosa od 5.6kbit/s.

• novi sjeverno-američki standard, IS96 QCELP

• novi japanski standard JDC Half-Rate PSI-CELP koder brzine prijenosa od 3.45 kbit/s

Noviji koderi govornog signala

• dodatna učinkovitost sažimanja temeljem povedanja kompleksnosti kodiranja

• zbog konkurencije danas je naglasak na kvaliteti reproduciranog signala

• brzina prijenosa je sekundarna

• teži se proširenjem spektralnog pojasa s 3.5 kHz na 7 kHz, tzv. Wide Band Coders

O. Bilan 30

Page 6: Digitalna obrada govora - Audiologs · • kodiranje govora u svrhu učinkovitog prijenosa ili pohrane, • prepoznavanje govora, diktiranog ili prirodnog s vezanim izgovorom riječi,

6.9.2013.

6

Parametarska reprezentacija

• Govorni signal je predstavljen modelom, a ne valnim oblikom!

• Model je opisan parametrima.

• Parametri modela se određuju vremenski kratkotrajnim postupcima.

• Parametri se kvantiziraju, kodiraju i pretvaraju u digitalni niz željene brzine prijenosa.

• Na dekoderu se provodi obrnuti postupak.

Parametarska reprezentacija

• Pogreške parametarske reprezentacije:

– uslijed neusuglašenosti modela i stvarnog fizikalnog procesa,

– uslijed pogrešaka prilikom estimacije parametara modela,

– uslijed kvantizacijskih pogrešaka parametara.

• Povedanje kvalitete

– Hibridnim postupcima

O. Bilan 31

Koderi temeljeni na modelu

Ideja: koder i dekoder imaju isti parametarski model govornog trakta

Parametri modela se računaju za okvire uzoraka govora ~20ms

Dekoderu se prenose parametri modela, a ne uzorci govora pa se govor sintetizira na odredištu

Princip analize/sinteze • postižu se vrlo male brzine • prvi koderi, npr. LPC-10, su bili lošije kvalitete, razvijeni za

sustave ograničene namjene, npr. robotika, sigurna telefonija • noviji koderi, npr. CELP na malim brzinama postižu dobru

kvalitetu, ali su računski složeniji

O. Bilan 32

O. Bilan 33

prisjetimo se:

Model mora biti blizak sa fizikalnim procesom

nastajanja govornog signala. 70-tih godina

istraživani su akustički modeli govora:

• proces nastajanja signala,

• širenje kroz vokalni trakt,

• zračenje na usnicama i

• širenje zvučnog vala otvorenim prostorom.

Proces nastajanja govora

Vokalni trakt se sastoji od: ždrijela, usne šupljine, jezika, nepca, zubi, usne, resice i nosne šupljine. Ne sadrži nosnu šupljinu (nazalni trakt), ali obzirom da nazalni trakt sudjeluje u formiranju nekih glasova

ubrajamo ga u vokalni trakta. Pluda govornika pod djelovanjem mišida potiskuju zrak kroz vokalni trakt

GLOTIS

Najznačajniji organ formiranja govora su glasnice. Ponašaju se kao mehanički oscilator, a osciliraju uslijed struje zraka iz pluda kroz glotis. Frekvenciju titranja određuje pritisak zraka iz pluda na ulazu u glasnice i napetost glasnica kojim upravlja govornik. Periodičkim titranjem, glasnice formiraju periodičku struju zraka koja prolazi kroz vokalni trakt. Ako su glasnice potpuno opuštene, nede dodi do oscilacija i struja zraka iz pluda de neometano prolaziti kroz vokalni trakt. Vokalni trakt spektralno mijenja pobudni signal - ponaša se kao filtar. Kako geometrija cijevi orgulja određuje visinu i spektralni sastav signala, tako geometrijski oblik vokalnog trakta određuje spektralne komponente signala koje se pojačavaju ili prigušuju. Orgulje imaju mnogo cijevi nepromjenjive geometrije, a vokalni trakt ima samo jednu cijevi, čiji se oblik mijenja zavisno o položaju artikulatora. Pored karakteristika pobudnog signala vokalnog traka, na formiranje glasa utječu i položaj jezika, usana, čeljusti i resice. LARINGOSKOPIJA: gore desno NORMALAN POLOŽAJ GLASNICA dolje desno ZA VRIJEME ZVIŽDANJA, lijevo 140 Hz, 83 dB

O. Bilan 34

Pitch, harmonik i formant Zaključujemo: govor nastaje pobudnim signalom kojeg mijenjaju rezonancije koje su posljedica promjena oblika vokalnog, nazalnog i faringealnog trakta. Pobudni signal mogu biti glotalni impulsi koji nastaju periodičnim otvaranjem i zatvaranjem glotisa (kažemo nastaju zvučni glasovi), kontinuiranim zračnim protokom (kažemo nastaju bezvučni glasovi) ili istovremenom kombinacijom.

Periodična komponenta glotalne pobude određena je fundamentalnom ili osnovnom frekvencijom F0 (Hz) koju nazivamo pitch - određen je percipiranom fundamentalnom frekvencijom. Rezonantne frekvencije vokalnog, oralnog i faringealnog trakta nazivamo formanti.

U spektru govora, pitch se pojavljuje kao vrlo uski vrh fundamentalne frekvencije i harmonika, dok se formanti pojavljuju kao široki vrhovi anvelope ili ovojnice spektra. • Okvir s 30-ms zvučnog govora (dolje) i njegov spektar (prikazan kao magnituda FFT).

• Harmonici su označeni H1, H2, H3, itd.; formanti su F1, F2, F3, itd., a F0 (Hz) je pitch • Spektralna ovojnica je samo pogodnost prikaza, a implicitno se pojavljuje samo pri FFT

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-80

-70

-60

-50

-40

-30

-20

-10

0

Frequency (Hz)

Pow

er/

frequency (

dB

/Hz)

Periodogram Power Spectral Density Estimate

F0, H1, H2, H3

F1, F2, F3

O. Bilan 35

Pojam zvuk podrazumijeva vibracije koje uzrokuju nastanak zvučnih valova. Oni se šire titranjem čestica medija. Temelj za opisivanje nastanka i širenja zvuka u vokalnom traktu su zakoni fizike. U

prvom redu osnovni zakone očuvanja mase, očuvanja količine gibanja i očuvanja energije zajedno sa zakonima termodinamike i mehanike fluida koji se primjenjuju na zrak.

Zrak je osnovni medij širenja zvuka kod govora, a pripada grupi stlačivih fluida niske viskoznosti. Fizikalnim principima postavlja se skup parcijalnih diferencijalnih jednadžbi koje opisuju gibanje zraka u govornom sustavu.

Formulacija i rješenje diferencijalnih jednadžbi je iznimno složena osim ako ne uvedemo pojednostavljenje oblika vokalnog trakta. Akustička teorija uzima u obzir:

• vremensku promjenjivost oblika vokalnog trakta

• gubitke zbog toplinske vodljivosti i viskoznog

trenja na stjenkama vokalnog trakta

• mekoda stjenke vokalnog trakta

• zračenje zvuka na usnama

• akustička veza usne i nosne šupljine

• izvor zvuka u vokalnom traktu.

a) Model vokalnog trakta; b) Odgovarajuda funkcija površine poprečnog presjeka A(x,t)

c) Model i aproksimacija

O. Bilan 36

aproksimacija

Page 7: Digitalna obrada govora - Audiologs · • kodiranje govora u svrhu učinkovitog prijenosa ili pohrane, • prepoznavanje govora, diktiranog ili prirodnog s vezanim izgovorom riječi,

6.9.2013.

7

Model sa spojenim cijevima

Oblik vokalnog trakta može se modelirati skupom cijevi, čiji presjek varira od glasnica do usnica. Uz relativno mali broj cijevi postiže se aproksimacija akustičke prijenosne funkcije. Takav pojednostavljeni model omogudio je određivanje analitičkih rješenja odziva za zadanu pobudu i zadan oblik vokalnog trakta.

Svaki glas ima karakteristični skup cijevi, koji aproksimira oblik vokalnog trakta

• U slučaju da su dužine svih cijevi jednake, tada je vrijeme širenja zvučnog vala kroz svaki segment jednako.

• Takav model se može opisati u vremenski diskretnoj domeni bez gubitka točnosti zbog sempliranja

• Period sempliranja mora biti jednak dvostrukom vremenu širenja kroz jednu cijev.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-3

-2

-1

0

1

2

3Presjek govornog trakta

x

korije

n(S

)

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

x 104

-10

0

10

20

30

40

50

60Izlazni spektar

f

zvučni tlak (

dB

)

Simulacija presjeka govornog trakta

O. Bilan 37

simulacija govora

Vremenski diskretni model Izvor–Sustav

Utjecaj oblika glotalnog pulsa, vokalnog trakta i zračenja na usnicama se združuje u filtru H(z).

Govor se može modelirati kao izlaz iz linearnog, vremenski promjenjivog sustava pobuđenog

kvaziperiodičnim nizom impulsa (za vrijeme zvučnog govora),

ili slučajnim šumom

(za vrijeme bezvučnog govora) Nedostaci opisanog modela

• Problem vremenske promjene parametara govornog trakta je jače izražen kod eksplozivnih glasova (b p d t g k)

• Model koristi diskretni sustav bez nula, što nije dovoljno za nazalne glasove (m n), a stvara i manje probleme kod frikativa (zvučni: v z ž; bezvučni: f s š h)

• Metoda izmjene zvučni/bezvučni nije dovoljna za zvučne frikative (v z ž) pa se moraju koristiti složeniji modeli

• razmak pobudnih impulsa mora biti cjelobrojni višekratnik perioda sempliranja T.

Analizirat demo stvarne govorne signale…

Model formiranja govornog signala

Jednostavni model formiranja govora

O. Bilan 38

Uvod u analizu govornih signala Zvučnu datoteku sada.wav koju smo snimili na vježbi 1. učitat demo u Adobe Audition, pa u MATLAB. Dijagram pokazuje zvučni glas a pri izgovoru riječi sada u programu Adobe Audition. Pri govoru vrlo lako

možemo razlikovati zvučne i bezvučne glasove. Ako pri izgovoru postavimo ruku na grlo, lako demo pri izgovoru zvučnih glasova, osjetiti titranje glasnica. Ako ne osjedamo titranje glasnica, izgovaramo bezvučne glasove.

Pogledom na valni oblik možemo identificirati fundamentalnu frekvenciju: riječ je o zvučnom glasu.

Ako fundamentalnu frekvenciju ne možemo identificirati, jer signal nalikuje na šum, riječ je o bezvučnom glasu.

O. Bilan 39

Analiza govorne datoteke

Zvučni signal čovjek može čuti. Ljudsko uho prima promjene tlaka i prosljeđuje ih u korteks na daljnju obradu. Učitat demo u Matlab stereo datoteku 16 bit, Fs=8000Hz, sada.wav. U datoteci se tri puta ponavlja izgovor riječi SADA. Datoteka je dvokanalna, a signal je samo u lijevom kanalu.

>> [sada,fs]=wavread('sada.wav'); Možemo pogledati veličinu datoteke i broj kanala >> size(sada) ans = 49505 2

Uzet demo samo lijevi kanal >> left=sada(:,1);

Prikazat demo relativnu jačinu signala >> time=(1/8000)*length(left); t=linspace(0,time,length(left)); plot(t,left) xlabel('vrijeme (s)'); ylabel('relativna jačina signala')

O. Bilan 40

Nacrtat demo valni oblik zvučnog izgovora slova a u riječi sada. Koristimo funkciju. [sada,fs]=wavread('sada.wav'); figure; waveFile='sada.wav'; y=sada(:,1); [y, fs, nbits]=wavReadInt('sada.wav'); subplot(2,1,1) time=(1:length(y))/fs; plot(time, y); axis([min(time), max(time), -2^nbits/2, 2^nbits/2]); grid; xlabel('Vrijeme (s)'); ylabel('Amplituda'); title('Valni oblik "sada"'); frameSize=512; index1=1.342*fs; index2=index1+frameSize-1; line(time(index1)*[1, 1], 2^nbits/2*[-1 1], 'color', 'r'); line(time(index2)*[1, 1], 2^nbits/2*[-1 1], 'color', 'r'); subplot(2,1,2); time2=time(index1:index2); y2=y(index1:index2); plot(time2, y2, '.-'); axis([min(time2), max(time2), -2^nbits/2, 2^nbits/2]); grid; xlabel('Vrijeme (s)'); ylabel('Amplituda'); title('Valni oblik "a" u "sada"');

Ako želimo doznati dodatne informacije o datoteci upisat demo fileName='sada.wav'; [y, fs, nbits]=wavread(fileName); fprintf('Informacije o zvučnoj datoteci "%s":\n', fileName); fprintf('Trajanje = %g sekundi\n', length(y)/fs); fprintf('Frekvencija sampliranja = %g uzoraka/s\n', fs); fprintf('Rezolucija broj bitova = %g bitova/uzorku\n', nbits); Ukupan_broj_uzoraka=length(y)*fs Informacije o zvučnoj datoteci "sada.wav": Trajanje = 6.18813 sekundi Frekvencija sampliranja = 8000 uzoraka/s Rezolucija broj bitova = 16 bitova/uzorku Ukupan_broj_uzoraka = 396 040 000

1 2 3 4 5 6

-2

0

2

x 104

Time (seconds)

Am

plit

ude

Valni oblik "sada"

1.344 1.346 1.348 1.35 1.352 1.354 1.356 1.358 1.36 1.362 1.364

-2

0

2

x 104

Time (seconds)

Am

plit

ude

Valni oblik "a" u "sada"

1.1 1.2 1.3 1.4 1.5 1.6

-2

-1

0

1

2

x 104

Vrijeme (s)

Am

plit

uda

Valni oblik "sada"

1.344 1.346 1.348 1.35 1.352 1.354 1.356 1.358 1.36 1.362 1.364-3

-2

-1

0

1

2

x 104

Vrijeme (s)

Am

plit

uda

Valni oblik "a" u "sada"

Period slova a se ponavlja

U povedanom dijelu grafičkog prikaza vrlo lako možemo identificirati fundamentalne periode slova a. Međutim, • glotalni impulsi periodično se mijenjaju (shimmer), a • period nije konstantan (jitter).

Izgovoreno slovo a ima period ponavljanja

O. Bilan 42

Page 8: Digitalna obrada govora - Audiologs · • kodiranje govora u svrhu učinkovitog prijenosa ili pohrane, • prepoznavanje govora, diktiranog ili prirodnog s vezanim izgovorom riječi,

6.9.2013.

8

Nacrtat demo valni oblik zvučnog izgovora slova s u riječi sada. Koristimo funkciju. [sada,fs]=wavread('sada.wav');waveFile='sada.wav'; y=sada(:,1); [y, fs, nbits]=wavReadInt('sada.wav'); subplot(2,1,1) time=(1:length(y))/fs; plot(time, y); axis([min(time), max(time), -2^nbits/2, 2^nbits/2]); xlabel('Vrijeme (s)'); ylabel('Amplituda'); title('Valni oblik "sada"'); frameSize=512; index1=1.147*fs; index2=index1+frameSize-1; line(time(index1)*[1, 1], 2^nbits/2*[-1 1], 'color', 'r'); line(time(index2)*[1, 1], 2^nbits/2*[-1 1], 'color', 'r'); subplot(2,1,2); time2=time(index1:index2); y2=y(index1:index2); plot(time2, y2, '.-'); axis([min(time2), max(time2), -inf inf]); xlabel('Vrijeme (s)'); ylabel('Amplituda'); title('Valni oblik "s" u "sada"');

Slovo s nema perioda i nalikuje na slučajni šum.

O. Bilan 43

Zvučni signali predstavljaju vremensku promjenu zvučnog tlaka kontinuirano po amplitudi i po

vremenskoj promjeni signala. Prije nego signal pretvorimo u vremenski diskretni oblik kako bi ga pohranili u računalu, moramo analizirati neke karakteristike.

Frekvencija sempliranja: broj uzoraka u sekundi,

jedinica Hz. Što je broj uzoraka vedi bolja je kvaliteta signala ali povedavaju se i zahtjevi za memorijskim prostorom. Uobičajene frekvencije sempliranja pri obradi zvučnih signala su:

8 kHz: kvaliteta govora za telefoniju i igračke

16 kHz: kvaliteta za prepoznavanje govora

44.1 KHz: CD kvaliteta

96 -192 kHz HD kvaliteta

352.8 kHz DXD

2,8 – 5,6 MHz DSD64 – DSD128 naduzorkovanje 64 -128 puta 44.1 kHz rekv. na 1 bit

Rezolucija broj bita: broj bitova koji koristimo pri predstavljanju svakog uzorka signala. Uobičajene

rezolucije su:

8-bit: područje od 0 do 255 ili -128 do 127.

16-bit: područje od -32768 do 32767.

24-bit HD

32-bit DXD 32 bit floating point 352.8 kHz.

64-bit profesionalni sustavi

Dakle, svaki uzorka je predstavljen cijelim brojem od 8 ili 16 bita. Međutim, u MATLABu, svi zvučni signali su normalizirani na decimalne brojeve

unutar područja [-1, 1] za lakšu obradu. Ako se pri radu hodemo vratiti na izvorne cjelobrojne vrijednosti potrebno je pomnožiti decimalne vrijednosti s 2^nbita/2, gdje je nbita broj bita

rezolucije sustava.

Broj kanala: U Matlabu imamo mono za jednokanalnu obradu i stereo za dva kanala. Posebnim programima mogude je višekanalno snimanje i obrada zvučnih signala.

Pogledajmo datoteku izgovora riječi sada.

size(sada) ans = 49505 2

Trajanje = 6.18813 sekundi

Frekvencija sampliranja = 8000 uzoraka/s

Rezolucija broj bitova = 16 bitova/uzorku

Ukupan_broj_uzoraka = 396 040 000

Frekvencija sempliranja je 8 KHz, a rezolucija je 16 bita ili 2 bajta. Traje 6.188 s, a ukupni broj uzoraka je 396 040 000. Veličina zvučnih datoteka je vrlo

velika bez sažimanja. O. Bilan 44

Filtriranje govorne datoteke Učitat demo stereo datoteku 16 bit, Fs=8000Hz, sada.wav. U datoteci se tri puta ponavlja riječ SADA, a signal je samo u lijevom kanalu. Filtrirat demo je filtrom pomične srednje vrijednosti [sada,fs]=wavread('sada.wav'); waveFile='sada.wav'; x=sada(:,1); [x, fs, nbits]=wavread(waveFile); wavplay(x, fs); % reproduciramo izvornu datoteku pause % parametri filtera a = [1]; b = [1, 1, 1, 1, 1]/5; y = filter(b, a, x); % crtamo vremenski prikaz time = (1:length(x))/fs; subplot(2,1,1); plot(time, x); title('Izvorni signal x[n]'); grid; subplot(2,1,2); plot(time, y); title('Filtrirani signal y[n]'); grid; wavplay(y, fs); % reproduciramo filtriranu datoteku

S A D A

Analiza govornih signala - kepstar • Naučit demo način određivanja osnovne frekvencije dijela govornog signala iz njegovog spektra • Naučit demo način procjene osnovne frekvencije dijela govornog signala iz njegovog valnog oblika • Naučit demo način procjene frekvencije formanta iz dijela govornog signala • Uočit demo probleme pri određivanju fundamentalne frekvencije i određivanju frekvencije formanta

Temeljni problem estimacije fundamentalne frekvencije je određivanje frekvencije ponavljanja iz određenoga dijela signala. Problemi nastaju zbog toga što:

• svi signali nisu periodični • oni koji su periodični mijenjaju fundamentalnu frekvenciju za vrijeme promatranja,

• signali mogu sadržavati šum u obliku periodičnih signala drugih fundamentalnih frekvencija • signali periodični u intervalu T su periodični i u intervalu 2T, 3T itd, pa je potrebno odrediti

najkradi periodični interval ili najvišu fundamentalnu frekvenciju • signali konstantne fundamentalne frekvencije mogu se mijenjati na drugi način u intervalu

analize.

Pouzdani način procjene dominantne fundamentalne frekvencije dugih, čistih, stacionarnih govornih signala je primjena kepstra. Predstavlja Fourierovu analizu logaritma amplitude spektra signala. Ako logaritamski amplitudni spektar sadržava mnogo pravilno udaljenih harmonika, tada de Fourierova analiza spektra pokazati vršnu vrijednost koja odgovara udaljenosti harmonika, a to je fundamentalna frekvencija. U stvari spektar signala obrađujemo kao neki drugi signal tražedi periodičnost u signalu spektra. Pri radu koristit demo datoteku sada.wav ili six.wav koju smo snimili uz pomod MATLAB.

O. Bilan 46

Učitamo datoteku u putanju Matlaba i naredbom stem, kako bi dobili apscisu u indeksima uzoraka, odredimo segment samoglasnika i. [x,fs]=wavread('six.wav'); stem (x) Podatkovnim kursorom očitat demo indekse slova i između 10000 i 11810 uzorka signala

0 0.5 1 1.5 2 2.5 3 3.5

x 104

-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

X= 11929

Y= -0.4776S I K S

% izdvajamo dio samoglasnika i iz ukupnog signala

[x,fs]=wavread('six.wav', [10000 11810]);

ms1=fs/1000; % maksimalna govorna Fx na 1000Hz

ms20=fs/50; % minimalna govorna Fx na 50Hz

%

% crtamo valni oblik

t=(0:length(x)-1)/fs; % vrijeme trenutka sampliranja

subplot(3,1,1);

plot(t,x);

legend('Valni oblik signala');

xlabel('Vrijeme (s)');

ylabel('Amplituda');

%

% radimo fourierovu transformaciju signala propuštenog kroz Hammingov prozor

Y=fft(x.*hamming(length(x)));

%

% crtamo spektar s dnom na 5000Hz

hz5000=5000*length(Y)/fs;

f=(0:hz5000)*fs/length(Y);

subplot(3,1,2);

plot(f,20*log10(abs(Y(1:length(f)))+eps));

legend('Spektar');

xlabel('Frekvencija (Hz)');

ylabel('Magnituda (dB)');

%

% kepstar je DFT log spektra

C=fft(log(abs(Y)+eps));

%

% crtamo graf između 1ms (=1000Hz) i 20ms (=50Hz)

q=(ms1:ms20)/fs;

subplot(3,1,3);

plot(q,abs(C(ms1:ms20)));

legend('Kepstar');

xlabel('Kvefrencija (s)');

ylabel('Amplituda');

O. Bilan 47

Tražimo indeks vršne vrijednosti kepstra između 1 i 20ms, a onda pretvaramo u frekvenciju u Hz, naredbom: [c,fx]=max(abs(C(ms1:ms20))); fprintf('Fx=%gHz\n',fs/(ms1+fx-1));

Kepstar je najbolje koristiti • ako se fundamentalna frekvencija ne mijenja prebrzo,

• ako nije previsoka i • kada nema mnogo šuma u signalu. Loša strana primjene kepstra je što zahtijeva računalno zahtjevnu obradu u frekvencijskom području.

O. Bilan 48

Page 9: Digitalna obrada govora - Audiologs · • kodiranje govora u svrhu učinkovitog prijenosa ili pohrane, • prepoznavanje govora, diktiranog ili prirodnog s vezanim izgovorom riječi,

6.9.2013.

9

Estimacija fundamentalne frekvencije u vremenskom području

Kepstrumom tražimo periodičnost u logaritmu spektra signala gdje je percepcija pitcha snažno povezana s periodičnošdu samog valnog oblika. Jedan od načina direktne estimacije fundamentalne frekvencije iz valnog oblika je primjena autokorelacije. Funkcija autokorelacije na dijelu signala pokazuje nam kako se valni oblik korelira sam sa sobom u području različitih kašnjenja. Za očekivati je de se periodični signal vrlo dobro korelira sam sa sobom za neko malo kašnjenje i za kašnjenje proporcionalno višestrukom cjelobrojniku pitch perioda. Slijededi program crta funkciju autokorelacije za dio govornog signala: % izabiremo dio samoglasnika [x,fs]=wavread('six.wav',[ 10000 11810]); ms20=fs/50; % minimalna govorna Fx na 50Hz % %nacrtaj valni oblik t=(0:length(x)-1)/fs; % vrijeme uzimanja uzoraka

subplot(2,1,1); plot(t,x); legend('Valni oblik'); xlabel('vrijeme (s)'); ylabel('Amplituda'); % % proračun autokorelacije r=xcorr(x,ms20,'coeff'); % %nacrtaj funkciju autokorelacije d=(-ms20:ms20)/fs; % vrijeme kašnjenja subplot(2,1,2); plot(d,r); legend('Autokorelacija'); xlabel('Kašnjenje (s)'); ylabel('Korelacijski koeficijenti');

O. Bilan 49

Vršna vrijednost autokorelacije nalazi se pri nultom kašnjenju i pri kašnjenju za ± 1 period, ± 2 perioda, itd. Fundamentalnu frekvenciju možemo pokušati odrediti traženjem vršne vrijednosti u

intervalu kašnjenja koje odgovara normalnom području pitcha pri govoru, recimo 2ms(=500Hz) i 20ms (=50Hz). Npr:

ms2=fs/500 % maksimalna frekvencija govora Fx na 500Hz

ms20=fs/50 % minimalna frekvencija govora Fx na 50Hz

% tražimo područje koje odgovara pozitivnom kašnjenju

r=r(ms20+1:2*ms20+1)

[rmax,tx]=max(r(ms2:ms20))

fprintf('rmax=%g Fx=%gHz\n',rmax,fs/(ms2+tx-1));

ms2 = 88.2000

ms20 = 882

r =

1.0000

0.9903

0.9654….

0.2526

0.2404

rmax = 0.8603

tx = 127

rmax=0.860256

Fx=205.882Hz

Opisani pristup autokrelacijskom funkcijom daje najbolje rezultate kada signal ima niski pravilan pitch i kada se

spektralni sadržaj signala ne mijenja prebrzo. Na autokorelacijsku metodu može štetno djelovati pogrešan izbor dva perioda pitcha, kao i periodičnost signala koja je posljedica rezonancije formanta. To je posebno izraženo na

ženskim glasovima gdje F1 može biti niže frekvencije od Fx.

O. Bilan 50

Estimacija frekvencije formanata

Estimacija frekvencije formanta predstavlja mnogo teži problem od estimacije fundamentalne frekvencije. Problem je u tome što su frekvencije formanta svojstva sustava vokalnog trakta pa se ne mjere nego se trebaju izvesti iz govornog signala. Oblik spektra pobude vokalnog trakta vrlo snažno djeluje na spektralnu ovojnicu pa se ne može jamčiti da de se sve rezonancije vokalnog trakta pojaviti u obliku vrhova promatrane spektralne ovojnice niti da de svi vrhovi spektralne ovojnice biti rezonancije vokalnog trakta. Najvažnije metoda estimacije frekvencije temeljena je na modeliranju govornog signala pri kojemu pretpostavljamo da ga je generirao posebni tip izvora i filtera. Ovakvu analizu nazivamo source-filter separation, a u slučaju estimacije frekvencije formanata interesira nas samo frekvencija rezonancije. Kako bi odredili najbolji sustav koristimo analizu koju nazivamo Linearna predikcija. Linearna predikcija modelira signal kao da je generiran signalom minimalne energije i propušten kroz rekurzivni IIR filter. Ovu ideju pokazat demo primjenom LPC kako bi odredili najbolji IIR filter iz dijela govornog signala, a zatim demo nacrtat frekvencijski odziv filtra.

O. Bilan 51

% uzimamo sekciju samoglasnika [x,fs]=wavread('six.wav',[ 10000 11810]); % resampliranje na 10,000Hz (opcija) x=resample(x,10000,fs); fs=10000; % % nacrtaj valni oblik t=(0:length(x)-1)/fs; % vrijeme uzimanja uzoraka subplot(2,1,1); plot(t,x); legend('Valni oblik'); xlabel('Vrijeme (s)'); ylabel('Amplituda'); % % Linearni predikcijski filter ncoeff=2+fs/1000; % pravilo za estimaciju formant a=lpc(x,ncoeff); % %crtamo frekvencijski odziv [h,f]=freqz(1,a,512,fs); subplot(2,1,2); plot(f,20*log10(abs(h)+eps)); legend('LP Filter'); xlabel('Frekvencija (Hz)'); ylabel('Pojačanje (dB)');

Kako bi odredili frekvencije formanata iz filtera, potrebno je odrediti lokacije rezonancija koje tvore

filter. Koeficijente filtera obrađujemo kao polinom i rješavamo korijene polinoma. Program određuje frekvencije formanata iz niskopropusnog filtera:

O. Bilan 52

% odredi frekvencije rješenjem korijena polinoma r=roots(a); % odredi korijene polinoma r=r(imag(r)>0.01); % traži korijene > 0Hz do fs/2

ffreq=sort(atan2(imag(r),real(r))*fs/(2*pi)); % pretvori u Hz i sortiraj for i=1:length(ffreq)

fprintf('Formant %d frekvencija %.1f\n',i,ffreq(i)); end

Izlaz programa:

Formant 1 frekvencija 327.4 Formant 2 frekvencija 1979.9 Formant 3 frekvencija 2461.8

Formant 4 frekvencija 3715.8 Formant 5 frekvencija 4232.3 Ponovit demo postupak s izgovorom iste riječi drugog govornika:

Formant 1 frekvencija 289.2 Formant 2 frekvencija 2310.6

Formant 3 frekvencija 2770.9 Formant 4 frekvencija 3489.9 Formant 5 frekvencija 4294.8

O. Bilan 53

LP linearni prediktivni model govora 1960, Fant je predložio linearni model generiranja govora, source-filter model. Temeljen je na pretpostavci potpuno odvojenog glottisa i vokalnog trakta. Ovaj model doveo je autoregresivnog (AR) ili linearnog prediktivnog (LP) modela; Rabiner i Shafer 1978. On opisuje govor s(n) kao izlaz s(n) filtera 1/A(z) sastavljenog samo od polova, pobuđenog signalom e(n):

S(z) i E(z) su Z transformacije govornog i pobudnog signala (ekscitacije), a p je red predikcije. Pretpostavlja se da je pobudni signal modela LP sekvenca pravilnih impulsa (čiji se period T0 i amplituda σ može podešavati ili bijelog Gausovog šuma, čija se varijanca σ2 može prilagoditi što implicitno određuje odlučivanje zvučnog/bezvučnog signala.

Filter 1/Ap(z) nazivamo filter sinteze, a Ap(z) predstavlja inverzni filter. Ponekad se označava kao LPC model (linearno prediktivno kodiranje) jer se najviše koristi za kodiranje govora.

Jednadžba implicitno dovodi do koncepta linearne predikcije govora koji glasi Svaki uzorak govora možemo odrediti kao težinsku sumu p prethodnih uzoraka, uvedan za doprinos pobude:

ZVUČNI

BEZVUČNI

ZVUČNI/BEZVUČNI

Vidi slide 36.

Page 10: Digitalna obrada govora - Audiologs · • kodiranje govora u svrhu učinkovitog prijenosa ili pohrane, • prepoznavanje govora, diktiranog ili prirodnog s vezanim izgovorom riječi,

6.9.2013.

10

Estimacijski algoritam linearne predikcije LP

U praksi je najvedi problem zadanom signalu odrediti najbolji skup predikcijskih koeficijenata koji minimizira greške modela kada su minimalne čujne razlike izvornog signala i onog dobivenog modelom.

Vrijednosti LP parametara možemo procijeniti poznavanjem: • pitch perioda T0,

• pojačanja σ, • položaja prekidača zvučni /bezvučni glas i • predikcijskih koeficijenata {ai}.

Iako govor zvuči periodično, u praksi je to vrlo rijetko, pa određivanje pitch perioda i zvučnosti predstavlja vrlo težak problem. Prisjetimo se izvedene analize:

periodi glotalnih impulsi periodično se mijenjaju (shimmer) dok sam period nije konstantan (jitter).

Valni oblik govora otkriva samo filtrirane glotalne impulse dok same impulse ne možemo uočiti. Zbog toga je procjena točne vrijednosti T0 posebno složena. Pored toga, govor nije nikad potpuno zvučan ved postoje dodatne komponente šuma koje otežavaju određivanje pitch. Zbog toga su razvijeni mnogi postupci točnog određivanja T0.

Procjena σ i predikcijskih koeficijenata izvodi se istovremeno i neovisno o procjeni T0. Za zadani govorni signal s(n), određivanje vrijednosti {ai} koeficijenata modela rezultira rezidualnim predikcijskim signalom e(n):

O. Bilan 55

Rezidualni predikcijski signal e(n) predstavlja izlaz inverznog filtera pobuđenog govornim signalom.

Princip estimacije autoregresivnog (AR) ili linearnog prediktivnog (LP) modela je izbor elemenata skupa {a1,a2,...ap}, koji minimiziraju očekivanje E(e2(n)) rezidualne energije:

Ako je s(n) stacionaran, onda se može pokazati da de sintetički govor s(n) proizveden LP modelom primjenom specifičnog skupa predikcijskih koeficijenata pokazati istu spektralnu ovojnicu kao s(n). Bududi da pobuda LP modela (impulsi ili bijeli šum) imaju ravnu ovojnicu spektra, to znači da de frekvencijski odziv filtera sinteze biti približno prilagođen ovojnici spektra s(n) i da de ovojnica spektra LP reziduala biti približno ravna. Drugim riječima,

inverzno filtriranje dekorelira govor. Razvoj kriterija minimalnog kvadrata greške (LMSE least mean squared error) vodi nas na Yule-Walker sustav linearnih jednadžbi. Nakon rješenja sustava (vidi vježbe) slijedi da je optimalna vrijednost σ jednaka:

modelu nije cilj imitacija točnog valnog oblika govora, nego ovojnice spektra. To je temeljeno na ideji po kojoj je uho mnogo osjetljivije na amplitudni nego na fazni spektar.

Inverzno filtriranje govora

O. Bilan 56

LP obrada u praksi Bududi da je govor nestacionaran signal, LP model se primjenjuje na govorne okvire tipične dužine 30 ms s preklapanjem od 20 ms. Unutar okvira od 30 ms pretpostavlja se da je signal stacionaran zbog inercije artikulirajudih mišida. Uzorci govora se najčešde filtriraju 30 ms dugim Hammingovim prozorom. Tako se sprječavaju prvi uzorci u okviru da izrazom e2(n) daju preveliku težinu jednadžbi, jer se ne mogu točno predvidjeti. Autokorelacijski koeficijenti Φxx(k) (k =0...p) procjenjuju se ograničenim brojem uzoraka (najčešde 240 uzoraka za 30 ms govora pri fs=8kHz). Red predikcije p (koji je jednak broju polova u filteru sinteze sastavljenom od samih polova) bira se tako da rezultirajudi filter sinteze ima dovoljno stupnjeva slobode kako bi kopirao ovojnicu spektra ulaznog govornog signala. Bududi da približno postoji jedan formant po kHz frekvencijske širine pojasa govora, potrebno je najmanje 2B polova. B je frekvencijska širina pojasa u kHz, tj. ½ fs, polovina frekvencije sempliranja. Obično se dodaju još dva pola kako bi modelirali valni oblik glotalnih perioda. To je određeno empirijski jer onda govor dobiven LPC postupkom zvuči mnogo bolje. Za aplikacije temeljena na telefoniji koje rade s fs=8kHz opisani postupak daje p=10. Jednadžbu možemo riješiti algoritmom inverzne matrice ali u praksi se to ne primjenjuje nego se koristi Levinson–Durbin algoritam. On je mnogo brži jer uzima u obzir posebnu strukturu tzv. Toeplitzove matrice kojoj su jednaki svi elementi na dijagonali paralelni s glavnom dijagonalom. Predikcijske koeficijente {ai} konačno računamo za svaki okvir svakih 10–20 ms. Opisani postupak je približan nema dovoljnu točnost za praskave ili eksplozivne foneme b, d, g, p, t, k.

Obrada govora temeljena na okvirima širine 30 ms i pomaknutim 10 ms

Blok dijagram LPC sustava govorne analize i sinteze

O. Bilan 57

Koderi linearne predikcije Opisani LPC sistem analize–sinteze primijenjen je u NATO LPC10 standardu (NATO, 1984), koji se koristio za satelitski prijenos govorne komunikacije do 1996. Omogudavao je kodiranje govora s vrlo niskim protokom do 2400 bit/s (s okvirima širine 22.5 ms, a svaki okvir se kodira s 54 bita: 7 bitova za pitch i zvučno/nezvučno odlučivanje, 5 bitova za pojačanje i 42 bita za predikcijske koeficijente. Sustav je sličan onom za mobitele. Napredni LP koderi, kao CELP, poboljšavaju kodiranje predikcijskih koeficijenata na 30 bita. U praksi se predikcijski koeficijenti ne koriste u proračunatom obliku nego se pretvaraju u oblik koji nakon kvantizacije rezultira vrlo stabilnim filterima. Broj bita LPC10 bira se tako da ne unose čujne artifakte na LPC generirani govor. Primjer LPC govora je realni primjer tipičnog LPC10 govora. Očito je da opisani koder sadrži ograničenja slabog binarnog modela pobude. Zvučni frikativi (v,z,ž, f,s,š,h) ne mogu se adekvatno modelirati jer istovremeno imaju karakteristike zvučnih i bezvučnih fonema. LPC10 koder osjetljiv je i na učinkovitost algoritma detekcije zvučnog/bezvučnog kao i procjenu F0. Ženski glasovi s višom frekvencijom F0 ponekad rezultiraju drugim harmonikom u centru prvog formanta što dovodi do pogreške procjene F0 jer se drugi harmonik uzima za F0. Jedan od načina poboljšanja kvalitete LPC govora je smanjenje opteredenja LPC pobude što omogudava preciznije modeliranje reziduala predikcije e(n), pomodu pobude e(n). Propuštanje reziduala kroz filter sinteze 1/A(z) dobivamo izvorni govor (što je obrnuti slučaj od opisanog).

Propustom predikcijskog reziduala kroz filter sinteze

dobiva se izvorni govorni signal

O. Bilan 58

Multipulse Excited MPE dekoder Prvi pristup primjene analize sintezom bio je postupak Multipulse Excited (MPE; Atal i Remde 1982) korištenjem zatvorene petlje pri procjeni osobina pobude. MPE pobudu karakterizira položaj i amplituda određenog broja impulsa po okviru (najčešde 10 impulsa u 10 ms). Sustav ne treba pitch estimaciju i odlučivanje o zvučnom/bezvučnom. Položaj impulsa i amplitude biraju se iterativno kako bi se minimizirala energija greške modela predstavljena razlikom izvornog i sintetiziranog govora. Greška se filtrira perceptualnim filterom prije računanja energije:

Uloga ovog filtere je smanjenje doprinosa formanata pri procjeni ukupne greške. Frekvencijski odziv filtera može se podesiti na bilo koju vrijednost između svepropusnog odziva ( γ=1) i odziva inverznog filtera (γ = 0), a tipično se podešava na γ = 0.8.

Bishnu S. Atal koautor MPE i CELP kodera

Multipulse Excited MPE dekoder

Estimacija MPE pobude u petlji analize sintezom MPE kodera

O. Bilan 59

CELP koder code-excited linear prediction CELP koder (code-excited linear prediction Schroeder i Atal, 1985) dodatno razrađuje ideju kodiranja govora analize sintezom tako što primjenjuje vektorsku kvantizaciju VQ za sekvencu pobude. Ovim pristupom koder bira jednu sekvencu pobude iz unaprijed određenog stohastičkog popisa kodova codebook svih mogudih sekvenci. Prema slici dekodera (koji raspolaže istim popisom kodova) prosljeđuje se samo indeks izabrane sekvence. Iako je najniža razina kvantizacije pri skalarnoj kvantizaciji 1 bit po uzorku, VQ omogudava decimalne vrijednosti bitova. Tako npr. ako istovremeno kvantiziramo dva uzorka 1-bitnom knjigom kodova rezultat de biti 0.5 bita po uzorku. Tipične vrijednosti u praksi s 10-bitnim kodnim knjigama i vektorima od 40, rezultiraju sa samo 0.25 bita po uzorku. Zbog velike varijabilnosti govornih okvira koja je posljedica promjena glotalne pobude i vokalnog trakta, VQ vektorski kvantizirani govorni okviri mogudi su samo uz primjenu vrlo velikih baza kodova (codebook). Veličina ideje CELP kodera je u tome što se izvodi VQ na LP rezidualnim sekvencama. Kako smo pokazali LP rezidual pokazuje ravnu spektralnu ovojnicu pa se mogu koristiti vrlo male baze kodova. Zbog toga CELP možemo shvatiti kao adaptivnu vektorsku kvantizacijsku shemu govornih okvira gdje adaptaciju izvršava filter sinteze. CELP uzima u obzir i periodičnost zvučnog govora kako bi poboljšao učinkovitost prediktora. Tzv. long-term prediktor filter nalazi se u kaskadi s filterom sinteze što poboljšava učinkovitost popisa kodova codebook. Najednostavniji long-term prediktor sastoji se od promjenjivog kašnjenja s prilagodljivim pojačanjem

O. Bilan 60

Page 11: Digitalna obrada govora - Audiologs · • kodiranje govora u svrhu učinkovitog prijenosa ili pohrane, • prepoznavanje govora, diktiranog ili prirodnog s vezanim izgovorom riječi,

6.9.2013.

11

Nakon MPE i CELP kodera razvijeni su brojni drugi koderi koji su koristili isti princip analize sintezom. U cilju poboljšanja kvalitete kodera i daljnjeg smanjenja broja bita. Najpoznatiji su • MELP mixed-excitation linear prediction; McCree i Barnwell, 1995 i

• HVXC harmonic and vector excitation coding; Matsumoto 1997.

1996, LPC-10 je zamijenjen MELP koji je postao američki savezni standard za kodiranje pri 2.4 kb/s. Od 1992 do 1996 GSM global system for mobile communication usvojio je inačicu MPE pod imenom RPE-LPC regular pulse excited; Kroon 1986 uz neke nadopune. Govor dijeli u okvire 20 ms, svaki se kodira s 260 bita pa je ukupni protok 13 kb/s. 1996, ovaj FR full-rate koder zamijenjen je poboljšanim full-rate EFR koderom koji predstavlja inačicu CELP nazvan ACELP algebarski-CELP, Salami 1998. EFR koder ima brzinu protoka 11.2 kb/s i bolju kvalitetu od FR kodera pri 13 kb/s.

Inačica ACELP kodera standardizirana je od ITU-T kao G.729 za rad pri brzini 8 kb/s. Najnovije generacije kodera za mobilnu telefoniju temeljene su na CELP principu i rade pri brzinama 4.75 do 11.2 kb/s.

O. Bilan 61

Simulacija: Analiza govorne datoteke Učitat demo zvučnu datoteku sada.wav ili Matlab datoteku speech.wav, poslušat demo je i prikazat demo je. Datoteka je semplirana 8 kHz u rezoluciji 16 bita. speech=wavread('speech.wav'); plot(speech) xlabel('vrijeme (uzorci)'); ylabel('Amplituda'); sound(speech,8000); Datoteke ima 9000 uzoraka koji traju 1,1 s. Lako uočavamo vremenski položaj četiriju samoglasnika na dijagramu jer imaju više amplitude. Samoglasnik e je centriran oko uzorka 3500. U ovom obliku valni oblik govora nije čitljiv ni ekspertnim fonetičarima. Sadržaj informacije ovog valnog oblika je skriven. Kako bi ga otkrili vizuelno, potrebno je prikazati spektrogram signala. Izabrat demo širokopojasni spektrogram, određujudi širinu okvira na 5 ms ili 40 uzoraka i hammingov vremenski otvor. Širokopojasni spektrogram koristi vrlo mali broj uzoraka, a tipični broj je manji od lokalnog perioda pitcha. Takvim načinom analize formanti se otkrivaju mnogo točnije. Naredba specgram(speech,512,8000,hamming(40)) dat de nam spektrogram.

0 1000 2000 3000 4000 5000 6000 7000 8000 9000-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

vrijeme (uzorci)

Am

plit

uda

4500:4739 3500:3739 izabiremo zvučni i bezvučni segment

Paint the c ircuit s

Na ovom dijagramu pitch periodi prikazani su u obliku okomitih linija. Bududi da je širina okvira pri analizi vrlo uska, neki okviri upadaju na vrhove, a neki na minimume pitch perioda, pa se pojavljuju kao tamnije ili svjetlije okomite linije. Formanti, koji predstavljaju rezonancije vokalnog trakta, pojavljuju se kao tamne i šire vodoravne pruge. Iako njihovu frekvenciju nije lako točno izmjeriti, fonetičari promatranjem spektrograma mogu pročitati stvarno izgovorene riječi. To jasno pokazuje: formanti su vrlo dobri indikatori temeljnog govornog zvuka.

Sinteza Linearnom predikcijom 30 ms zvučnog govora Izdvojit demo okvir od 30 ms ili 240 uzoraka iz zvučnog dijela govorne datoteke i prikaza demo ga vremenski: input_frame=speech(3500:3739); plot(input_frame);

Time

Freq

uenc

y

20 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 210

500

1000

1500

2000

2500

3000

3500

4000

0 50 100 150 200 250-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

0.25

0.3

specgram(speech,512,8000,hamming(40))

O. Bilan 63

Kao što očekujemo zvuk je približno periodičan (period=65 uzoraka, tj., 80 ms; fundamentalna frekvencija = 125 Hz). Međutim, to je samo prividno jer se u stvarnosti ni jedna sekvenca uzoraka ne nalazi više od jednog puta u okviru. Analizirat demo spektralni sadržaj ovog govornog okvira tako što demo nacrtati periodogram u 512 točaka primjenom normalizirane frekvencijske osi što odgovara Fs/2 , tj., 4000 Hz.

periodogram(input_frame,[],512);

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-80

-70

-60

-50

-40

-30

-20

-10

0

Normalized Frequency ( rad/sample)

Pow

er/

frequency (

dB

/rad/s

am

ple

)

Periodogram Power Spectral Density Estimate

Fundamentalna frekvencija ponovno se pojavljuje oko 125 Hz. Procjena položaja formanta je prema vrhovima ovojnice spektra na ± 300, 1400 i 2700 Hz. Pokazat demo LP model 10. reda za prikazani

zvučni okvir. Dobivamo koeficijente predikcije (ai) i varijancu rezidualnog signala (sigma_square).

[ai, sigma_square]=lpc(input_frame,10);

sigma=sqrt(sigma_square);

Parametar estimacije unutar LPC naziva se algoritam Levinson–Durbin. Odabiremo koeficijente FIR

filtera A(z) tako da pri propustu ulaznog okvira u A(z), izlazni signal, kojeg nazivamo predikcijski rezidual, ima minimalnu energiju. Može se pokazati da tako dobivamo filter s antirezonancijama kad god se u ulaznom okviru nalazi formant. To je razlog zbog kojeg filter A(z) nazivamo inverzni filter. Nacrtat demo njegov frekvencijski odziv u 512 točaka i superponirat demo ga odzivu filtra sinteze 1/A(z).

O. Bilan 64

[HI,WI]=freqz(ai, 1, 512);

[H,W]=freqz(1,ai, 512);

plot(W,20*log10(abs(H)),'-',WI,20*log10(abs(HI)),'--');

Ne primjenjujemo prozor filter prije LP analize. Frekvencijski odziv filtera 1/A(z) podudara se sa amplitudnom ovojnicom spektra signala u okviru. Superponirajmo ovaj frekvencijski odziv na

periodogram samoglasnika

periodogram(input_frame,[],512,2)

hold on;

plot(W/pi,20*log10(sigma*abs(H)));

hold off;

O. Bilan 65

F1, F2, F3, F4

Drugim riječima, postupkom LPC automatski se prilagođavaju polovi filtra sinteze u okolišu unutar jedinične kružnice na kutovima koji su izabrani tako da imitiraju rezonancije formanata

zplane(1,ai);

Primjenimo li inverzno filtriranje ulaznog okvira dobit demo predikcijski rezidual.

LP_residual=filter(ai,1,input_frame); plot(LP_residual) periodogram(LP_residual,[],512);

Priodogram pokazuje tzv. jednostrani periodogram, koji ima dvostruke vrijednosti dvostranog periodograma u [0, Fs/2]. Kako bi prisilili prikaz realne vrijednosti dvostranog periodograma u [0, Fs /2], postavljamo Fs = 2. Usporedit demo spektar dobivenog reziduala s izvornim spektrom. Novi spektar je približno ravan, a fini spektralni detalji identični su onima u okviru analize. Pitch i harmonici su potpuno sačuvani. Očito je da primjenom filtera sinteze na ovaj predikcijski rezidual rezultiralo u samom okviru analize (jer je filter sinteze inverzan od inverznog filtra).

-3 -2 -1 0 1 2 3

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

10

Real Part

Imagin

ary

Part

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-75

-70

-65

-60

-55

-50

-45

-40

-35

-30

Normalized Frequency ( rad/sample)

Pow

er/

frequency (

dB

/rad/s

am

ple

)

Periodogram Power Spectral Density Estimate

O. Bilan 66

Page 12: Digitalna obrada govora - Audiologs · • kodiranje govora u svrhu učinkovitog prijenosa ili pohrane, • prepoznavanje govora, diktiranog ili prirodnog s vezanim izgovorom riječi,

6.9.2013.

12

output_frame=filter(1, ai,LP_residual); plot(output_frame);

LPC model modelira predikcijski rezidual zvučnog govora u obliku niza impulsa s promjenjivim periodom pitcha i amplitude. U promatranom okviru idealna LPC pobuda je sekvenca impulsa odijeljenih s 64 nule pa tako pretpostavljamo period od 65 uzoraka. Signal pobude množimo s faktorom pojačanja tako da mu se varijanca (snaga) izjednači s rezidualnim signalom. excitation = [1;zeros(64,1); 1; zeros(64,1); 1; zeros(64,1); 1; zeros(44,1)];

gain=sigma/sqrt(1/65); plot(gain*excitation);

O. Bilan 67

periodogram(gain*excitation,[],512);

Iz odziva je vidljivo da se LPC pobuda razlikuje od predikcijskog reziduala. Međutim, spektar pokazuje neke sličnosti s rezidualom: ravnu anvelopu i harmonički sadržaj koji odgovara F0. Najveda razlika je u tome što je spektar pobude nadharmoničan usporedimo li ga s rezidualnim spektrom. Primjenit demo filter sinteze kako bi proizveli umjetno e. synt_frame=filter(gain,ai,excitation);

plot(synt_frame);

O. Bilan 68

periodogram(synt_frame,[],512);

Iako je rezultirajudi valni oblik bitno različit od izvornog zbog činjenice da LP model ne uzima u obzir spektar faze izvornog signala, dobivena ovojnica spektra je identična. Fini harmonički

detalji također se razlikuju jer je sintetički okvir nad-harmoničan u usporedbi s izvornim signalom

O. Bilan 69

Sinteza Linearnom predikcijom 30 ms bezvučnog govora Isti postupak možemo primijeniti na bezvučni okvir pa možemo usporediti dobivene spektre. Prvo demo ekstrahirati jedan bezvučni okvir i prikazat demo ga grafički. Iz dijagrama vidimo, kako smo i očekivali, da ne postoji periodičnost.

input_frame=speech(4500:4739); plot(input_frame);

Pogledat demo spektralni sadržaj govornog okvira. Bududi da obrađujemo signale šuma koristimo usrednjeni periodogram kako bi procijenili gustodu spektra snage iako je tako frekvencijska rezolucija nešto lošija nego običnim periodogramom. MATLAB funkcija pwelch računa periodogram u osam podokvira s 50% preklapanja. pwelch(input_frame);

O. Bilan 70

Primijenit demo LP model 10. reda i sintetizirat demo novi okvir. Sinteza se izvodi s filtriranjem okvira Gaussovog bijelog šuma s filterom sastavljenim od samih polova sa standardnom devijacijom podešenom na predikcijsku rezidualnu standardnu devijaciju.

[ai, sigma_square]=lpc(input_frame,10);

sigma=sqrt(sigma_square); excitation=randn(240,1); synt_frame=filter(sigma,ai,excitation); plot(synt_frame);

pwelch(synt_frame);

Sintetički bezvučni LPC govor (gore valni oblik, dolje gustoća spektra snage)

O. Bilan 71

Sintetički valni oblik na slici nema zajedničkih uzoraka s izvornim valnim oblikom. Međutim, ovojnica spektra promatranog okvira vrlo je slična izvornoj, što je dovoljno izvornom i sintetičkom signalu da se percipiraju kao isti obojeni šum. Iako obje promatrane gustode snage spektra imaju identične oblike ne treba očekivati sličnost u detaljima.

0 50 100 150 200 250-0.04

-0.03

-0.02

-0.01

0

0.01

0.02

0.03

0.04

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-60

-55

-50

-45

-40

-35

-30

Normalized Frequency ( rad/sample)

Pow

er/fr

eque

ncy

(dB

/rad/

sam

ple)

Welch Power Spectral Density Estimate

Različit valni oblik

Ovojnice spektra vrlo slične

Zaključak Sintetički valni oblik na slici nema zajedničkih uzoraka s izvornim valnim oblikom. Međutim, ovojnica spektra promatranog okvira vrlo je slična izvornoj, što je dovoljno izvornom i sintetičkom signalu da se percipiraju kao isti obojeni šum. Iako obje promatrane gustode snage spektra imaju identične oblike ne treba očekivati sličnost u detaljima bududi da samo LPC model može reproducirati glatku ovojnicu spektra izvornog signala. Svaki mobilni uređaj pri radu svakih 20 ms rješava linearni sustav s 10 jednadžbi s 10 nepoznanica kako bi postavio temelj procjene modela linearne predikcije Yule-Walkerovim jednadžbama. Parametri koje jedan mobitel šalje drugom predstavljaju koeficijente vokalnog trakta koji opisuju frekvencijski odziv i koeficijente izvora koji opisuju rezidualni signal. Koeficijenti vokalnog trakta usko su povezani s geometrijskom konfiguracijom vokalnog trakta u svakom okviru trajanja 10 ms. Iz toga proizlazi zanimljiv zaključak: mobilni uređaji ne prenose govor nego opis slike vokalnog trakta koji proizvodi govor. Usporedba karakteristika i složenosti algoritama kodiranja govora Brzina izražena u MIPS milijuna instrukciju u sekundi ovisi o tipu procesora

O. Bilan 72

Page 13: Digitalna obrada govora - Audiologs · • kodiranje govora u svrhu učinkovitog prijenosa ili pohrane, • prepoznavanje govora, diktiranog ili prirodnog s vezanim izgovorom riječi,

6.9.2013.

13

O. Bilan 73

Rekapitulacija kodeci

G.7xx: Audio (Voice) Compression Protocols (CODEC) G.711, G.721, G.722, G.726, G.727, G.728, G.729)

codec, coder + decoder = uređaj koji kodira i dekodira, odnosno komprimira i dekomprimira, audio i video

G.7xx, uključujudi G.711, G.721, G.722, G.726, G.727, G.728, G.729, je skup ITU-T standarda za sažimanje i dekompresiju zvučnih signala. Primarno se koriste za telefoniju gdje postoje 2 algoritma: μ-krivulja i A-krivulja (Europa i ostatak svijeta). Oba su logaritamska, a drugi je pogodniji za obradu računalom. G.7xx skup protokola sastoji se od:

G.711 - Pulse code modulation (PCM) govornih frekvencija u kanalu 64 kb/s. G.721 - 32 kbit/s adaptive differential pulse code modulation (ADPCM) G.722 - 7 kHz audio-kodiranje unutar 64 kb/s G.722.1 – Kodiranje s 24 i 32 kb/s za hands-free rad sustava s malim gubitcima G.722.2 – Širokopojasno kodiranje govora pri 16 kb/s primjenom adaptivnog multi-rate širokopojkasnog sustava (AMR-WB) G.726 - 40, 32, 24, 16 kbit/s adaptivna diferencijalna PCM (ADPCM) G.727 - 5-, 4-, 3- i 2-b/uzorku adaptivna difrencijalna PCM (ADPCM) G.728 – Kodiranje govora 16 kb/s primjenom low-delay code excited linear prediction G.729 – kodiranje govora 8 kb/s primjenom konjugirane strukture algebarske - codeexcited linear-prediction (CS-ACELP)

73

Koderi zvuka u frekvencijskoj domeni

• Koderi zvuka u frekvencijskoj domeni nisu ograničeni samo na govor • Imaju dobra svojstva za sve zvučne signale, posebno za glazbu (mp3).

(biti de prikazani kratko, a više informacija u poglavlju 04_Sažimanje zvučnih datoteka).

– Koriste pod-pojasno kodiranje (podjela na frekvencijske pod-pojase prije kodiranja) • Koriste efekt maskiranja – uz jaki signal na nekoj frekvenciji uho ne može čuti slabiji signal na bliskoj frekvenciji

– osim u zadanom trenutku, maskiranje ima vremenski utjecaj prije i poslije jakog signala

O. Bilan 74

Osnovni zvučni percepcijski koder MPEG

O. Bilan 75

• MPEG Moving Picture Expert Group

(ISO/IEC JTC1/SC29/WG11) • MPEG-1

– Dva audio kanala – fs = 44.1 kHz (isto kao CD), 32 kHz, 48 kHz (kao DAT) – Brzine od 8-16 kbit/s do 320 kbit/s – MPEG Audio Layer I, II, III: kodiranje rastude složenosti

– percepcijsko kodiranje • MPEG-2

– Isti osnovni koder kao MPEG-1 – Pet audio kanala + niskofrekventni kanal – Uz MPEG-1 još i fs = 16 kHz, 22.05 kHz, 24 kHz – AAC Advanced Audio Codec, dodan kasnije

• MPEG-4 – AAC, dva kodera za govor, strukturirani zvučni signal...

Shema kodera

Shema dekodera

MATLAB prikaz kodiranja MPEG-1 Layer-3 (MP3)

Ako analiziramo signale na gornjim slikama uočavamo sljedede: Graf prikazan crno pokazuje izvorni zvučni signal u WAV formatu, a drugi graf crveno pokazuje rezultat simulacije u Matlabu koji je pohranjen u WAV formatu jer Matlab ne radi sa MP3 formatom. To je razlog što su u mapi obje datoteke jednake veličine (31 kB). Na drugoj slici možemo vidjeti simulaciju gubitaka prilikom MP3 sažimanje. Zvučni detalji koji su uočljivi na prvoj slici, a koji vremenski kratko traju, sažimanjem su izglađeni. Učinak je izraženiji na bezvučnim glasovima (s), nego na zvučnim (a, i). To su detalji koje ljudsko uho ne čuje ili čuje veoma slabo pa se ti detalji pri sažimanju gube. (vidi: VJEŽBE i Sažimanje zvučnih datoteka)

O. Bilan 76/76

Sažimanje se bolje uočava na preklopljenim valnim oblicima