Pracujte se signály z minidatabáze nahrané na prvním cvičení,
které byly převzorkovány na 16 kHz (soubory *.CS0).
V počítačové učebně 802 na ČVUT FEL jsou tato data k disposici k přímému
použití v adresáři "K:\ZRE\data\zreratdb".
Pro práci mimo síť FEL je celá databáze dostupná na
adrese http:noel.feld.cvut.cz/vyu/data/zreratdb. Zde
jsou k disposici i originálně nahrané signály s vzorkovacím
kmitočtem 48 kHz.
Pro práci mimo síť FEL je možné stáhnout pouze následující archiv
zrerat_block200_2022_cs0.zip,
který obsahuje nahrávky od všech mluvčích v aktuálním semestru převzorkované na 16 kHz.
počet pásem banky filtrů M=30, fmin=100Hz, fmax=6500Hz,
Výsledek: Zobrazte:
spektrogramy (s preemfází) dvou promluv s rozdílným obsahem, tj. sc0 a
sc9, tedy s číslovkami "nula" a "devět" resp. sc0 a
sd0, tedy s číslovkou "nula" v různých realizacích.
pro výše uvedené dvoice promluv časové závislosti MFCC.
Výpočet kepstrálních vzdáleností delších promluv
Počítejte kepstrální vzdálenosti
(nejlépe cde.m, tj. Euklidovská vzdálenost počítaná VČETNĚ c[0]) mezi všemi segmenty dvou vybraných signálů.
Napočítané vzdálenosti uložte do matice a zobrazte v
dvourozměrném grafu (funkce pcolor, viz zobrazeni
spektrogramu řešené na minulých cvičeních).
Výsledek: Zobrazte napočítané vzdálenosti pro:
stejné (identické) promluvy: sc0 - sc0
promluvy stejného obsahu, ale jiné realizace: sc0 - sd0
různé promluvy: sc0 - sd9
Ve volném čase je možné srovnat další promluvy z nahrané databáze
(tj. číslovky 0-9 + "hvězdička" a "křížek").
PRÁCE V DALŠÍM VOLNÉM ČASE: Experimetujte s různými variantami výpočtu
kepstra a kepstrální vzdálenosti, tj. vrceps.m, vaceps.m
resp. se vzdálenostmi cd1.m (vzdálenost bez c[0]) či cd2.m (kvadrát Euklidovské vzdálenosti).
Výpočet kumulované vzdálenosti pomocí DTW algoritmu
Z napočítaných matic vzdáleností z předchozího bodu určete
kumulovanou vzdálenost na bázi algorimtu DTW.
Kumulovanou vzdálenosti uložte do matice a opět zobrazte v
dvourozměrném (třírozměrném) grafu.
Pozorujte napočítané kumulované vzdálenosti a srovnejte výslednou
poslední hodnotu kumulované vzdálenosti (hodnotu v pravém
dolním rohu napočítané matice) analogicky pro výše zmíněné 3 varianty.
Napočítanou vzdálenost normujte na délku promluvy.
promluvy stejného obsahu, ale jiné realizace: sc0 - sd0
různé promluvy: sc0 - sd9
Hlavní výsledek:
Nalezení optimální cesty.
Zobrazte výslednou normovanou vzdálenost (hodnotu v pravém
dolním rohu napočítané matice) pro vybraný všechny možné vzory a
jednu vybranou testovací promluvu z nahrané databáze (tj. vzory
"*C0.BIN"-"*C9.BIN", "*W0.BIN", "*W1.BIN" vs. jedna vybraná promluva
z "*D0.BIN"-"*D9.BIN", "*V0.BIN", "*V1.BIN").
PRÁCE NA DOMA:
1) Sledujte zlepšení dosažených výsledků při rošíření příznakového vektoru od dynamické resp. accelerační parametry (delta resp. delta-delta příznaky). Pro jejich odhad použijte následující funkci diffceps.m s M = 3 (řád diskrétního odhadu derivace).
2) Zpětným trasováním nalezněte optimální cestu odpovídající
minimální kumulované vzdálenosti.
Realizace on-line rozpoznávače pro telefonní volbu
Realizace on-line rozpoznávač pro výše vytvořené vzory pro povely telefonní volby, tj. vaše nahrávky všech 10 izolovaných
číslovek "nula"-"devět" a povelů
"hvězdička" a "křížek",
"*C0.BIN"-"*C9.BIN", "*W0.BIN", "*W1.BIN"
Vytvořte demonstrační program, v rámci kterého vždy po stisku klávesy
nahrajete jeden z možných povelů. Nahranou promluvu porovnejte na bázi DTW
algoritmu se všemi uloženýni vzory a následně nalezněte vzor s
minimální kumulovanou vzdáleností od vyslovené promluvy.
Cyklické interaktivní nahrávání rozpoznávané promluvy v MATLABu lze realizovat dle recording_signals_in_loop.m
Dobrovolný výsledek:
Funkční on-line rozpoznávač pro telefonní volbu, tj.:
použijte stejné vzory jako v předcházející úloze,
jako rozpoznávanou promluvu použijte on-line nahraný
signál (je vhodné aplikovat detekci řečové aktivity a
odstranit delší pauzy na začátku a konci nahrávky),
zobrazte vždy časový průběh a spektrogram nahraného signálu,
signálu po aplikaci VAD a výslednou normovanou vzdálenost (jako v
předcházející úloze).