mel frequency cepstral coefficients - tuni.fi · 2013. 2. 6. · ihmiskuulo...

18
THE audio feature: MFCC Mel Frequency Cepstral Coefficients

Upload: others

Post on 24-Jan-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mel Frequency Cepstral Coefficients - tuni.fi · 2013. 2. 6. · Ihmiskuulo •MFCC-’kertoimien’ tarkoituksena on mallintaa ihmiskorvan toimintaa yleisellä tasolla. •Näin

THE audio feature:

MFCC Mel Frequency

Cepstral Coefficients

Page 2: Mel Frequency Cepstral Coefficients - tuni.fi · 2013. 2. 6. · Ihmiskuulo •MFCC-’kertoimien’ tarkoituksena on mallintaa ihmiskorvan toimintaa yleisellä tasolla. •Näin

Ihmiskuulo

• MFCC-’kertoimien’ tarkoituksena on mallintaa ihmiskorvan toimintaa yleisellä tasolla.

• Näin on todettu myös tapahtuvan, sillä MFCC:t ovat yleisimmin käytetty audio-piirre, niin puhujan, puheen kuin ympäristöääntenkin automaattisessa tunnistuksessa.

• MFCC-piirteet ottavat (ainakin jollakin tavalla) huomioon ihmiskorvan – epälineaarisen korkeusaistimuksen – taipumuksen yhdistää taajuustasossa lähellä toisiaan

olevat äänikomponentit – epälineaarisen äänenvoimakkuusaistimuksen

Page 3: Mel Frequency Cepstral Coefficients - tuni.fi · 2013. 2. 6. · Ihmiskuulo •MFCC-’kertoimien’ tarkoituksena on mallintaa ihmiskorvan toimintaa yleisellä tasolla. •Näin

Ihmiskuulon ominaisuuksia -epälineaarinen äänenkorkeusaistimus

• Ihminen mieltää (suurinpiirtein) saman suuruisiksi taajuuden muutokset:

f0 ⇝ 2*f0 ⇝ 4*f0

• eli kuulon taajuusaistimus toimii jokseenkin logaritmisesti:

log(f0) + log(f0) = log(2*f0)

log(2*f0) + log(2*f0) = log(4*f0)

Page 4: Mel Frequency Cepstral Coefficients - tuni.fi · 2013. 2. 6. · Ihmiskuulo •MFCC-’kertoimien’ tarkoituksena on mallintaa ihmiskorvan toimintaa yleisellä tasolla. •Näin

Spektrogrammi pianon äänistä C1 – c5

Huomaa miten aina matalin taajuus eli perustaajuus kaksinkertaistuu, ja sen harmoniset äänekset siirtyvät vastaavasti kaksi kertaa korkeammille taajuuksille.

f0

f0

f0

Page 5: Mel Frequency Cepstral Coefficients - tuni.fi · 2013. 2. 6. · Ihmiskuulo •MFCC-’kertoimien’ tarkoituksena on mallintaa ihmiskorvan toimintaa yleisellä tasolla. •Näin

Ihmiskuulon ominaisuuksia - kriittinen kaista (taajuusintegrointi)

• Ihmiskorva yhdistää aistimukset lähellä toisiaan olevista taajuuksista. Voimakkaampi ääni peittää toisen äänen kuulumattomiin, jos taajuudet ovat lähellä toisiaan. Samalla äänten teho yhdistyy yhdeksi havainnoksi.

Page 6: Mel Frequency Cepstral Coefficients - tuni.fi · 2013. 2. 6. · Ihmiskuulo •MFCC-’kertoimien’ tarkoituksena on mallintaa ihmiskorvan toimintaa yleisellä tasolla. •Näin

Äänenkorkeusaistimuksen mallinnus

• Puheenkäsittelyssä käytetään yleisesti kahta ihmiskuuloa mukailevaa taajuusmuunnosta, joilla mallinnetaan sekä epälineaarista taajuusaistimusta että kriittisen kaistan taajuuksien yhteensulautumista:

1) Mel-taajuusasteikko, joka on muodostettu puhtaiden siniäänten äänenkorkeusaistimuskokeiden perusteella mallintamaan korvan simpukan epälineaarista taajuuden havainnointia.

2) Bark-taajuusasteikko, joka on määritelty lähellä toisiaan olevien taajuuskomponenttien peitto-ominaisuuden mukaan mallintamaan korvan taajuusintegrointiominaisuutta. Bark asteikko on muodostettu täyttämällä kuuloalue vierekkäisillä kriittisillä kaistoilla, ja numeroimalla ne 1:stä 26:een.

Page 7: Mel Frequency Cepstral Coefficients - tuni.fi · 2013. 2. 6. · Ihmiskuulo •MFCC-’kertoimien’ tarkoituksena on mallintaa ihmiskorvan toimintaa yleisellä tasolla. •Näin

Mel - taajuusasteikko

1 Mel yksikkö on määritelty yhdeksi tuhannesosaksi 1000 Hz:n taajuisen äänen subjektiivisesta äänenkorkeudesta.

eli 1000 Hz = 1000 Mel

)700

1(log2595 10Hz

Mel

ff

Page 8: Mel Frequency Cepstral Coefficients - tuni.fi · 2013. 2. 6. · Ihmiskuulo •MFCC-’kertoimien’ tarkoituksena on mallintaa ihmiskorvan toimintaa yleisellä tasolla. •Näin

Bark-taajuusasteikko

2

7500arctan5.3

)00076.0arctan(13

Hz

HzBark

f

ff

Bark-skaalan kriittiset kaistat on määritelty viereisen kuvan mukaisesti, vaikka todellisuudessa korvan taajuusintegrointi toimii millä tahansa keskitaajuudella.

Page 9: Mel Frequency Cepstral Coefficients - tuni.fi · 2013. 2. 6. · Ihmiskuulo •MFCC-’kertoimien’ tarkoituksena on mallintaa ihmiskorvan toimintaa yleisellä tasolla. •Näin

Pianon äänistä C1 – c5

Mel-taajuuksinen spektrogrammi

Ja

Bark-taajuuksinen spektrogrammi

Page 10: Mel Frequency Cepstral Coefficients - tuni.fi · 2013. 2. 6. · Ihmiskuulo •MFCC-’kertoimien’ tarkoituksena on mallintaa ihmiskorvan toimintaa yleisellä tasolla. •Näin

Ihmiskuulon ominaisuuksia - äänekkyys eri äänenkorkeuksilla

Ihmisen kuulo on herkimmillään taajuuksilla 500 – 6000Hz. Äänipainetaso ei kerro täsmällisesti sitä, miltä ääni ihmisen korvaan kuulostaa.

Page 11: Mel Frequency Cepstral Coefficients - tuni.fi · 2013. 2. 6. · Ihmiskuulo •MFCC-’kertoimien’ tarkoituksena on mallintaa ihmiskorvan toimintaa yleisellä tasolla. •Näin

Kuulon herkkyyden mallinnus eri taajuuksilla Tätä ihmiskorvan ominaisuutta mallinnetaan äänisignaalinkäsittelyssä yleensä suotimella, joka laskee matalien taajuuksien energian ihmisen kuulon mukaiselle tasolle. Esimerkiksi:

* jo aiemmin mainitulla esikorostus-suotimella:

* tai esimerkiksi äänitasomittauksissa käytetään useimmiten IEC-standardin määrittelemää A-suodinta ennen energian laskemista äänisignaalista: 11)( bzzH

Page 12: Mel Frequency Cepstral Coefficients - tuni.fi · 2013. 2. 6. · Ihmiskuulo •MFCC-’kertoimien’ tarkoituksena on mallintaa ihmiskorvan toimintaa yleisellä tasolla. •Näin

Ihmiskuulon ominaisuuksia – äänenvoimakkuuden muutoksen havaitseminen

• Weberin sääntö sanoo, että fysikaalisen suureen muutos havaitaan sen suuruisena kuin se muuttuu suhteellisesti:

• Tämän perusteella on päädytty ilmaisemaan ääneen liittyviä suureita desiBeleinä: 𝐿𝐼 = 10𝑙𝑜𝑔10 (𝐼) .

Page 13: Mel Frequency Cepstral Coefficients - tuni.fi · 2013. 2. 6. · Ihmiskuulo •MFCC-’kertoimien’ tarkoituksena on mallintaa ihmiskorvan toimintaa yleisellä tasolla. •Näin

Joko päästään asiaan? Mikä se asia taas olikaan?

- THE audiopiirre, joka

useimmissa äänen tunnistus-systeemeissä lasketaan kustakin

puhe/äänikehyksestä, eli:

MFCC – Mel Frequency Cepstral coefficients

Page 14: Mel Frequency Cepstral Coefficients - tuni.fi · 2013. 2. 6. · Ihmiskuulo •MFCC-’kertoimien’ tarkoituksena on mallintaa ihmiskorvan toimintaa yleisellä tasolla. •Näin

MFCC:iden laskeminen

– määritetään Mel-asteikolla haluttu määrä (yleensä reilu 20 välillä 0…8000Hz) tasalevyisiä ’kaistanpäästösuotimia’.

Page 15: Mel Frequency Cepstral Coefficients - tuni.fi · 2013. 2. 6. · Ihmiskuulo •MFCC-’kertoimien’ tarkoituksena on mallintaa ihmiskorvan toimintaa yleisellä tasolla. •Näin

MFCC:iden laskeminen

– määritetään Mel-asteikolla haluttu määrä (yleensä reilu 20 välillä 0…8000Hz) tasalevyisiä ’kaistanpäästösuotimia’.

– Kunkin suotimen kohdalle osuvien fft-binien energiat lasketaan yhteen:

bin

binb

zSkEmax

min

2)()(

Page 16: Mel Frequency Cepstral Coefficients - tuni.fi · 2013. 2. 6. · Ihmiskuulo •MFCC-’kertoimien’ tarkoituksena on mallintaa ihmiskorvan toimintaa yleisellä tasolla. •Näin

MFCC:iden laskeminen

– määritetään Mel-asteikolla haluttu määrä (yleensä reilu 20 välillä 0…8000Hz) tasalevyisiä ’kaistanpäästösuotimia’.

– Kunkin suotimen kohdalle osuvien fft-binien energiat lasketaan yhteen:

– Otetaan logaritmi jokaisesta E(k):sta k=1…K

bin

binb

zSkEmax

min

2)()(

Page 17: Mel Frequency Cepstral Coefficients - tuni.fi · 2013. 2. 6. · Ihmiskuulo •MFCC-’kertoimien’ tarkoituksena on mallintaa ihmiskorvan toimintaa yleisellä tasolla. •Näin

MFCC:iden laskeminen

– määritetään Mel-asteikolla haluttu määrä (yleensä reilu 20 välillä 0…8000Hz) tasalevyisiä ’kaistanpäästösuotimia’.

– Kunkin suotimen kohdalle osuvien fft-binien energiat lasketaan yhteen:

– Otetaan logaritmi jokaisesta E(k):sta k=1…K

– Lasketaan diskreetti kosinimuunnos (II) vektorista log(E)

bin

binb

zSkEmax

min

2)()(

Page 18: Mel Frequency Cepstral Coefficients - tuni.fi · 2013. 2. 6. · Ihmiskuulo •MFCC-’kertoimien’ tarkoituksena on mallintaa ihmiskorvan toimintaa yleisellä tasolla. •Näin

MFCC:iden laskeminen

– määritetään Mel-asteikolla haluttu määrä (yleensä reilu 20 välillä 0…8000Hz) tasalevyisiä ’kaistanpäästösuotimia’.

– Kunkin suotimen kohdalle osuvien fft-binien energiat lasketaan yhteen:

– Otetaan logaritmi jokaisesta E(k):sta k=1…K

– Lasketaan diskreetti kosinimuunnos (II) vektorista log(E)

– Eli MFCC:t ovat yhtä kuin DCT-kertoimet vektorista log(E)

bin

binb

zSkEmax

min

2)()(