B2M31ZRE cvičení
Klasifikace samohlásek na bázi GMM
Úkoly k vypracování:
DOMÁCÍ PŘÍPRAVA:
Pro jednotlivé samohlásky Vašich promluv napočítejte též
mel-kepstra (MFCC - 12+1 koeficientů). Signály *.CSO převzorkované na 16 kHz jsou dostupné v učebně 802 na ČVUT FEL v adresáři "K:\ZRE\data\zreratdb" případně ke stažení v následujícím archivu zrerat_block200_2023_cs0.zip.
Parametry výpočtu kepstra
volte pro dané signály vzorkované 16 kHz následovně:
- aplikujte preemfázi s koeficientem m=0.97 - délka segmentu 25 ms, posuv okna 5 ms (pro zvýšení počtu
realizací), Hammingovo váhovací okénko,
- počet pásem banky filtrů M=30, fmin=100Hz, fmax=6500Hz,
- pro výpočet použijte funkci vmfcc.m (s
dále volanými funkcemi melbf.m,
mel.m, melinv.m).
Napočítané MFCC koeficienty uchovejte v proměnných pro všechny jednotlivé realizace všech samohlásek.
Výsledek:Pro napočítané MFCC koeficienty vykreslete závislosti c[1]-c[2],
c[3]-c[4], c[5]-c[6], c[7]-c[8] (tj. 4 subploty v jednom obrázku a
hodnoty pro jednotlivé hlásky opět odlište barvou).
Klasifikace samohlásek na bázi formantů
Zobrazte rozložení 1. a 2. formantu pro základní
samohlásky (tj. 3 různé obrázky s formantovým trojúhelníkem pro jednotlivé realizace), jejichž napočítané formantové kmitočty jsou uloženy v následujícím souboru formants_vowels.mat
(POZN. V archivu jsou uloženy 1.-4. formanty vždy od 3 realizací
samohlásek v proměnných Fa1, Fa2, Fa3, apod.).
Vypočítejte střední hodnoty a rozptyly formantů pro 1. realizace základních
samohlásek, jejichž napočítané formantové kmitočty jsou uloženy v proměnných Fa1, Fe1, Fi1, Fo1 a Fu1.
Výsledek:
Zobrazte do dříve vytvořených obrázků rozložení formantů zobrazte také vypočtené střední hodnoty pro
jednotlivé samohlásky.
Určete vztah pro n-rozměrnou Gaussovskou funkci (hustotu pravděpodobnosti) pro klasifikaci
samohlásek na základě formantů a tuto funkci si
implementujte v MATLABu.
Výsledek:
Pro první dva
formanty jednoho segmentu z 2. či 3. realizace samohlásek (tj. řádek proměnné Fa2,
Fa3, apod.) vypočtěte pravděpodobnosti resp. logaritmické pravděpodobnosti emitované modelem vybrané
samohlásky a ověřte, pro kterou samohlásku je emitovaná
pravděpodobnost největší.
Opakujte totéž s využitím funkcí dostupných v MATLABu,
tj. funkce fitgmdist a pdf a
srovnejte dosažené výsledky.
Výsledek:
Realizujte klasifikaci pomocí standardní MATLABovské
funkce pdf pro všechny segmenty z 2. či
3. realizace samohlásek a vypočtěte celkovou průměrnou logaritmickou pravděpodobnost emitovanou modelem vybrané
samohlásky a dosažené výsledky pro jednotlivé samohlásky
srovnejte. Výsledky zobrazte graficky.
Identifikace samohlásek na bázi kepstra
Opakujte předchozí kroky a realizujte identifikaci samohlásek na bázi mel-kepstra, tj. použijte v rámci domácí přípravy spočítané parametry. Parametry GMM modelu a pravděpodobnosti počítejte pomocí MATLABovských funkcí fitgmdist a pdf.
Proveďte klasifikaci pro 3. realizace všech Vámi nahraných samohlásek.
Výsledek:
Pro rozpoznávanou samohlásku E zobrazte hodnoty emitované logaritmické pravděpodobnosti pro modely všech 5 samohlásek ve všech krátkodobých segmentech a jejich průměry.
Opakujte pro další samohlásky.
Pro klasifikaci můžete použít předtrénované GMM modely samohlásek napočítané z většího množství dat z databáze zreratdb, viz cv8_vowel_gmms.mat.
Při výpočtu aplikujte detektor řečové aktivity (po nahrání relativně kvalitního signálu použijte pro VAD výkon segmentu v dB a pevné prahování) a vyberte jen nejsilnější krátkodobé segmenty.
Výsledek : Zobrazte pro on-line nahranou samohlásku:
časový průběh a spektrogram bez aplikace VAD,
průběh kepstra bez aplikace VAD,
průběh kepstra vybraných segmentů na základě řečové aktivity pro účely klasifikace,
všechny hodnoty emitované logaritmické pravděpodobnosti a jejich průměry pro modely všech 5 samohlásek.
NEPOVINNÝ DOMÁCÍ ÚKOL
Trénování obecného GMM modelu samohlásek nezávislého na mluvčím
Vytvořte parametry obecného GMM modelu ze všech dostupných realizací samohlásek z
databáze zreratdb.
K přímému použití v počítačové učebně na ČVUT FEL jsou uvedená data k
disposici v adresáři "K:\ZRE\data\zreratdb".