Uvažujte signál muz1-AA-frame.CS0 - raw data
bez hlavičky, fs=16000 Hz, pro načtení do MATLABu
použijte funkci loadbin.m
Spočítejte kepstrum segmentu následujícími metodami:
- reálné kepstrum - funkce rceps - LPC kepstrum
-
funkce lpc, a2c.m, a2c0.m, aceps.m, řád LPC volte p = 16,
- MFCC (mel-frekvenční kepstrální koeficienty) - dct logaritmu
melovského výkonového spektra - k výpočtu použijte následující funkce: melbf.m, mel.m, melinv.m.
Výsledek: pro jeden segment muz1-AA-frame.CS0 zobrazte:
- koeficienty c[0]-c[12] pro reálné, LPC a MFCC kepstrum
Výpočet kepstra delší promluvy
Určete časový vývoj kepstra delší promluvy SA176S01.CS0, přičemž nastavte
následující parametry krátkodobé analýzy a výpočtu jednotlivých typů kepstra:
- délka segmentu 25 ms, posuv okna 10 ms, Hammingovo váhovací okénko
- řád LPC p=16,
- počet pásem banky filtrů M=30, fmin=100Hz, fmax=6500Hz,
- sledujte vždy koeficienty c[0] - c[12] resp. c[1] - c[12] ( tj. bez koeficientu c[0])
Použijte dostupné funkce: - reálné kepstrum - vrceps.m - LPC kepstrum - vaceps.m, aceps.m - MFCC - vmfcc.m, melbf.m, mel.m, melinv.m
Výsledek: pro delší promluvuSA176S01.CS0 zobrazte:
- koeficienty c[1]-c[12] pro reálné, LPC a MFCC kepstrum
Další možné signály ke zpracování - mc20bc116016.ils_a - raw data bez hlavičky, fs=44100 Hz,
- a30650b1.wav - wav format,
- vlastní nahraný signál z mikrofonu se vzorkovacím kmitočtem 8 kHz, 16 kHz, 44.1 kHz
Kepstrální vzdálenost od pozadí a kepstrální detektor řeči
Spočítejte průměrné kepstrum počátečního neřečového úseku (10-20 segmentů) z MFCC kepstra promluvy SA176S01.CS0, viz předchozí kontrolovaný výsledek.
Spočítejte Euklidovskou kepstrální vzdálenost kepstra aktuálního
segmentu od kepstra pozadí (tj. spočítaného průměru) a vypočtenou vzdálenost vyneste v závislosti na čase (funkce pro výpočtu Euklidovské kepstrální vzdálenosti je zde -
cdeuc.m). Uvažujte vzdálenost počítanou s c[0] a bez c[0].
Proveďte detekci řečové aktivity na bázi výše napočítané
kepstrální vzdálenosti s adaptivním
prahem na bázi dynamiky, viz. thr_adapt_dyn.m a pozorujte průběhy vzdálenosti a odhady prahu.
Srovnejte dosažené výsledky i pro energetickou detekcí řeči,
tj. vypočtěte odhad krátkodobé energie pro zpracovávané signály
se stejnou segmentací, jaká byla použita pro výpočet kepstra (použijte Vaše vlastní nástroje vytvořené na 2. cvičení).
Napočítanou energii
prahujte stejným způsobem jako kepstrální vzdálenost.
Výsledek: pro promluvu SA176S01.CS0 zobrazte:
- výsledek VAD na bázi MFCC kepstra a adaptivního prahu na bázi dynamiky - výsledek VAD na bázi energie a adaptivního prahu na bázi dynamiky
DOMÁCÍ ÚKOL - příprava na cvičení na téma KLASIFIKACE:
Pro jednotlivé samohlásky Vašich promluv napočítejte též
mel-kepstra (MFCC - 12+1 koeficientů). 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.
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).