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_2025_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, i.e. ca1, ca2, ca3, ce1, ce2, ce3, ci1, ci2, ci3, co1, co2, co3, cu1, cu2, cu3
Pozorujte shluky kepstra pro jednotlivé samohlásky pro prvních 8 kepstrálních koeficientů (bez c[0]).
Odevzdávaný výsledek DOMÁCÍHO ÚKOLU:
Funkce pro výpočet MFCC jednotlivých samohlásek zahrnující pozorování rozložení kepstra pro závislosti c[1]-c[2], c[3]-c[4], c[5]-c[6], c[7]-c[8].
Vypočítaná MFCC kepstra pro jednotlivé hlásky uložená pro další použití v souboru hw3.mat. Pro uložení lze použít následující příkaz
save hw3.mat ca1 ca2 ca3 ce1 ce2 ce3 ci1 ci2 ci3 co1 co2 co3 cu1 cu2 cu3 ;
Jako výsledek odevzdejte přes WEBové rozhraní na MOODLE FEL (autoriovaný přístup) *.zip archív, který bude obsahovat skript pro výpočet kepstra dle požadavků výše spolu s *.mat souborem s napočítanými kepstry pro všechny 3 realizace 5 základních samohlásek.
Termín odevzdání domácího úkolu je ve Čt 3.4.2025, 9:00 .
Rozpoznávání samohlásek na bázi kepstra a GMM
Vypočtěte střední hodnoty a rozptyly MFCC kepstra pro spojené 1. a 2. realizace základních 5 samohlásek.
Result:
Vykreslete vypočítané střední hodnoty MFCC koeficientů c[1]-c[8] pro 5 samohlásek do doma vytvořených zobrazení rozložení MFCC kepstra pro daných 5 samohlásek.
Vypočtěte parametry GMM modelu s jednou směsí a diagonální kovarianční maticí pro jednotlivé hlásky pomocí MATLABovské funkce fitgmdist a pozorujte dosažené výsledky. Všimněte si v přechozím kroku spočítaných středních hodnot a rozptylů ve strukturované proměnné gmm.
Proveďte výpočet emitovaných logaritmických pravděpodobností pro všechny krátkodobé segmenty 3. realizací jednotlivých hlásek a pro všechny dostupné GMM modely všech samohlásek. Použijte MATLABovskou funkci pdf.
Výsledek:
Pro rozpoznávanou samohlásku E zobrazte do jednoho obrázku 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".