Realtime identifikace osob podle hlasu (rozpoznávání izolovaných slov)
ČÁSTI PREZENTACE základní problém zpracování vybrané řešení praktické výsledky rozdělení projektu použitá literatura
ZÁKLADNÍ PROBLÉM komunikace se stroji mluvenou řečí je zákl. prostředkem přenosu informací přenos informace se obvykle skládá z určité posloupnosti akcí: - zpracování řečového signálu - syntéza a rozpoznávání řeči - porozumění významu rozpoznaných slov a vět
ZPRACOVÁNÍ AKUSTICKÉHO SIGNÁLU analýza daného zvukového souboru krátkodobá analýza - úseky řečového signálu se zpracovávají tak, jako by to byly oddělené krátké zvuky výsledkem analýzy je soubor čísel, které popisují daný mikrosegment, získané kódováním tvaru vlny (pcm)
ZPRACOVÁNÍ AKUSTICKÉHO SIGNÁLU získání vektoru obsahující jednotlivé složky zvukového souboru zvolenou vzorkovací hodnotou k analýze zvukového souboru jsme použili matematický software MATLAB
ROZPOZNÁVÁNÍ IZOLOVANÝCH SLOV aplikace dynamického programování Základní odlišnosti jsou v časovém členění nepoměru mezi délkami částí uvnitř slova algoritmus DTW - porovnává řečové obrazy na principu dynamického programování
ROZPOZNÁVÁNÍ IZOLOVANÝCH SLOV modelování slov skrytými Markovými modely - vychází z představy o vytváření řeči vektorová kvantizace - vytvoření kódové knihy typových spektrálních vzorů a nahrazení indexem „nejbližšího“ typového spektrálního vzoru z kódové knihy
ZPRACOVÁNÍ AKUSTICKÉHO SIGNÁLU 1) Vytvoření vzorků (izolované slovo) získání vzorků 4 řečníků – vyslovené slovo („AHOJ“) s různými vzorkovacími frekvencemi a to konkrétně: 8 kHz 16 kHz 44,1 kHz. Pro testovací účely použity vzorky s vzorkovací frekvencí 16kHz
Ukázka akustického signálu – slovo „AHOJ“
2) Zpracování akustického signálu - akustický signál byl načten ve formě WAV souboru, dále kvantifikován (převeden na int hodnoty) a uložen do textového souboru pomocnou funkcí MATLABU function wav2txt(filename) Try [y,fs,bits] = wavread(filename); // načtení vzorků y = uencode(y,16); // kvantizace y = double(y); fid = fopen(strcat(filename,'.txt'),'w'); fprintf(fid,'%d\n',y); fclose(fid); end
3) Vektorový model - každý dokument vyjádřit jako vektor dj v n-rozměrném prostoru Rn a každému dokumentu je pak přiřazen vektor vah 4) Výpočet podobnosti vektorů ve vektorovém modelu - jejich vzájemnou podobnost budeme měřit pomocí vyjádřené Kosinovy vzdálenosti
Test na příkladu vektorů: Vektor u={1,2,3,4,5} Vektor u={1,3,0,2,5} cos 90 = 0 - vektory mezi sebou svírají pravý úhel – nejsou si vůbec podobné cos 0 = 1 - vektory mezi sebou svírají nulový úhel – jsou si nejvíce podobné
PROBLÉMY - každý vektor reprezentující řečníka měl odlišný počet prvků, způsobena rozdílnou délkou hudební nahrávky - počet složek jednotlivých vektorů 8kHz, 16kHz a 44,1kHz velmi rozdílný hledání nového řešení. Histogram četností Aplikace SVD Time Stretch – WaveLab, Cubase, CoolEdit
ŘEŠENÍ histogram četností – vytvoření nového vektoru, který bude obsahovat četnost výskytu opakujících se složek akustického signálu. Tak získáme vektory stejné velikosti a z těchto vektorů bude vytvořena matice F reprezentující množinu všech dokumentů
ŘEŠENÍ Indexování latentní sémantiky SVD (singulární rozklad)– slouží pro výraznou redukci šumu v akustickém signálu. Princip spočívá v rozložení původní matice A na ortogonální matice U a V, a diagonální matici Σ.
IMPLEMENTACE PRAKTICKÉ VÝSLEDKY Implementace v jazyce C Implementace v jazyce C# implementace výše uvedeného přístupu není však příliš kvalitní, nicméně nám dá informaci o jisté podobnosti našich vzorků
ROZDĚLENÍ PROJEKTU Miroslav Trecha, tre041 vypracování analýzy – tvorba dokumentu, zajištění potřebných materiálů a softwaru, tvorba akustických vzorků, práce s Matlabem, implementace v C# Tomáš Huňka, hun012 zajištění potřebných materiálů a informací, podíl na analýze, zajištění potřebného hardwarového vybavení, tvorba akustických vzorků, tvorba prezentace, implementace v C
POUŽITÉ MATERIÁLY Problematika a teorie - J. Psutka – Komunikace s počítačem mluvenou řečí Problematika a teorie – zpracování akustické signálu, vybrání použitelného modelu pro reprezentaci dat, implementace - M.Krátký – Využití SVD pro indexování latentní sémantiky Internetové zdroje: http://www.eecg.utoronto.ca/~aamodt