WEBové rozhraní pro úlohy zpracování řečového signálu. Milan Václavík

Rozměr: px
Začít zobrazení ze stránky:

Download "WEBové rozhraní pro úlohy zpracování řečového signálu. Milan Václavík"

Transkript

1 České vysoké učení technické v Praze Fakulta elektrotechnická Diplomová práce WEBové rozhraní pro úlohy zpracování řečového signálu Milan Václavík Vedoucí práce: Doc. Ing. Petr Pollák, CSc Studijní program: Elektrotechnika a informatika dobíhající magisterský Obor: Informatika a výpočetní technika únor 2008

2 ii

3 Poděkování Děkuji všem, kteří měli se mnou trpělivost a umožnili mi dokončit tuto práci. iii

4 iv

5 Prohlášení Prohlašuji, že jsem svou diplomovou práci vypracoval samostatně a použil jsem pouze podklady uvedené v přiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu 60 Zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon). V Praze dne v

6 vi

7 Abstrakt Tato diplomová práce se zabývá demonstrací zvýrazňování a rozpoznávání řeči. Jedná se o multiplatformní aplikace typu klient server, které jsou uživatelům dostupné s pomocí WWW prohlížeče jedná se o aplety. V první části práce je vytvořen klientský program, který umožňuje uživateli nahrát audiosignál, který je následně odeslán na server, kde se provádí zvolená metoda zvýraznění řeči. Zvýraznění řeči je provedeno s pomocí externího programu CtuCopy (univerzální nástroj pro zvýrazňování řeči a parametrizaci). Audiosignál se zvýrazněnou řečí je poslán zpět klientovi, který provádí vizualizaci audiosignálu a to s pomocí časového průběhu a spektrogramu nebo ho může přehrát. Ve druhé části diplomové práce se zabývám realizací demonstrace rozpoznávání řeči na základě hlasového ovládání WWW stránek. Uživatel může hlasem ovládat samotnou WWW stránku posun stránky nahoru/dolu, aby si mohl zobrazit skrytý text, může se posouvat v historii zobrazených WWW stránek směrem vřed/vzad a může hlasem zobrazovat WWW stránky, na které ukazují hypertextové odkazy. Hlasové ovládání WWW stránek je demonstrováno na simulaci hlasového vytáčení telefonního čísla a na hlasovém výběru osoby ze seznamu členů katedry, který umožní zobrazit kontaktní informace o dané osobě. Simulace hlasového vytáčení telefonního čísla je založena na rozpoznávání souvislé sady číslovek a dvou symbolů (#, *), oddělených krátkou pauzou. Výběr osob ze seznamu je založen na rozpoznání jména, příjmení, příjmení a jména, jména a příjmení. Součástí demonstrace je vytvoření výkonového detektoru řeči, který zajišťuje, že je rozpoznávaná pouze platná řeč. Vlastní rozpoznávání mluvené řeči je realizováno na straně serveru s pomocí sady nástrojů HTK. Summary This diploma thesis deals with the demonstration of speech enhancement and speech recognition tasks. The solution is based on multiplatform applications on the basis of WWW applets using the architecture client server. Within the initial part I have created the program recording locally audio signal on client side and sending its then to the server where further processing is realized. The first application deals with algorithms for speech enhancement based on spectral subtraction which is implemented in external program ctucopy (the more general tool for speech enhancement and parameterization) running at the server side. The new audio signal is sent back to the client which can observe it as waveform or spectrogram. It is also possible to play original or enhanced speech signal on the client side. Secondly, I realized a demonstration of speech recognition within a voice controlled WWW pages. User can control by voice scrolling of WWW pages (up, down), browsing in the history of pages, or showing new pages according to standard WWW links. Two simple task were chosen for this demonstrative purposes: simulation of telephone number dialing and on department personnel list with brief contact information. An important part of this application was the creation of energy based detector of speech activity as only the signal containg a speech should be sent to the server side for the recognition. Speech recognizer implemented at the server is based on standard HMM modelling and external programs from HTK Toolkit were used for this purpose. Training of HMM models was not a part of this work. vii

8 viii

9 Obsah Seznam obrázků Seznam tabulek xiii xv 1 Úvod 1 2 Obecný popis problému Zvýrazňování řeči Základní principy metod redukce šumů Detekce a rozpoznávání řeči Detekce řečové aktivity Deterministické metody detekce řeči Stochastické metody detekce řeči Návrh výkonového detektoru řeči Rozpoznávání řeči Rozpoznávání řeči na základě porovnávání se vzory Statistické metody rozpoznávání řeči Princip rozpoznávače řeči Demonstrace zvýrazňování a rozpoznávání řeči v praxi Přenos řečového signálu po internetu 11 4 Aplikace (aplet) SEDemo zvýraznění řeči Architektura digitálního zpracování audiosignálu Navržená zařízení Vstupní zařízení Monitor Processor Výstupní zařízení Vizualizace dat Zobrazení vstupního průběhu a vstupního spektrogramu Zobrazení výstupního průběhu a výstupního spektrogramu Zobrazení ostatních grafických průběhu Použití apletu na html stránce Popis zdrojových kódů Nezbytné podpůrné balíčky JavaHelp Java Media Framework 2.1.1e Závěr Aplet SCWP rozpoznávání řeči Aplet SR Principiální popis apletu Princip detektoru řeči Popis vzhledu apletu Použití apletu na html stránce Popis zdrojových kódů Aplet CWP Principiální popis apletu ix

10 5.2.2 Popis vzhledu apletu Použití apletu na html stránce Popis zdrojových kódů Aplet TELEPHONE Principiální popis apletu Popis vzhledu apletu Použití apletu na html stránce Popis zdrojových kódů Server SCWP Závěr Klient / Server SEDemo a SCWP Princip fungování demonstrace zvýrazňování řeči Princip fungování demonstrace rozpoznávání řeči Získání akustického signálu Vytvoření gramatiky Gramatika intro Gramatika people Gramatika telephone Vytvoření slovníku HMM modely elementární řeči Rozpoznávání řeči Instalace programů na webový server Instalace serveru Instalace klienta (apletu) SEDemo SCWP Nastavení práv apletu / aplikace Model zabezpečení v Javě Soubory zásad zabezpečení Vytvoření vlastního souboru zásad Popis nastavených zásad zabezpečení Useability testování webové aplikace SEDemo a SCWP Účel Cíle testování Profil uživatele Persony Testy Screener Úvod Kritéria Dotazník Seznámení testera s testovanými programy Program SEDemo Program SCWP Seznam úkolů Seznam úkolů SEDemo Seznam úkolů SCWP Post-test x

11 Post-test SEDemo Post-test SCWP Hardwarové vybavení Vypracované testy Závěr Závěr Literatura 57 A Uživatelská příručka 59 A.1 SEDemo A.1.1 Nezbytné nastavení A.1.2 Popis ovládání A.2 SCWP A.2.1 Nezbytné nastavení A.2.2 Popis ovládání B Vypracované useability testy 63 B.1 Vyplněné testy od 1. uživatele B.1.1 Dotazník B.1.2 Post-test B Post-test SEDemo B Post-test SCWP B.2 Vyplněné testy od 2. uživatele B.2.1 Dotazník B.2.2 Post-test B Post-test SEDemo B Post-test SCWP B.3 Vyplněné testy od 3. uživatele B.3.1 Dotazník B.3.2 Post-test B Post-test SEDemo B Post-test SCWP B.4 Vyplněné testy od 4. uživatele B.4.1 Dotazník B.4.2 Post-test B Post-test SEDemo B Post-test SCWP C Obsah přiloženého CD 71 xi

12 xii

13 Seznam obrázků 1.1 Komunikační proces Detekce a rozpoznávání řeči Parametry rozpoznávače řeči Řetězec zařízení Zobrazení vstupního průběhu a vstupního spektrogramu Zobrazení výstupního průběhu a výstupního spektrogramu Princip fungování programu SCWP Princip výkonového detektoru řeči Grafický vzhled apletu SR Grafický vzhled apletu TELEPHONE Komunikace klienta Komunikace serveru Gramatika - intro Gramatika - people Gramatika - telephone Úvodní html stránka SEDemo Useability test - nahrávání řeči Useability test - ovládací panel ikon A.1 Program SEDemo A.2 Popis program SEDemo xiii

14 xiv

15 Seznam tabulek 5.1 Stavy apletu hlasového vstupu Hlasové ovládání WWW stránky A.1 Hlasové ovládání WWW stránky A.2 Stavy apletu hlasového vstupu xv

16 xvi

17 KAPITOLA 1. ÚVOD 1 1 Úvod Komunikace prostřednictvím mluvené řeči je základní a nejpřirozenější způsob přenosu informace mezi lidmi. V dnešní době s rostoucím vývojem výpočetní techniky vznikají projekty, které se snaží, aby se plnohodnotným partnerem člověka v mluveném dialogu mohl stát i počítač. Tyto projekty jsou velmi perspektivní a po naplnění svých cílů vedou na přirozenou komunikaci člověka a stroje (počítač). Ačkoliv plnohodnotný dialogový režim člověka s počítačem prostřednictvím přirozené plynule promlouvané řeči bez jakýchkoli omezení je v současné době stále ještě nedostupný, tak se postupně objevují úspěšná dílčí řešení. Tato řešení nacházejí uplatnění v průmyslové a společenské praxi. Ve většině aplikací jde o problémově orientovaná řešení, kdy komunikace je tématicky omezená, rozpoznávaný slovník se týká určité konkrétní oblasti či systém pracuje v prostředí s definovaným rušivým pozadím a podobně. Standardní dialogové systémy jsou nasazovány v těch praktických úlohách, kdy jde o hlasovou komunikaci s databázovými systémy, a to zejména, je-li osoba vzdálena od systému a může s ním komunikovat například pouze prostřednictvím telefonního spojení. Typickými příklady jsou: vzdálený přístup k informačním a rezervačním systémům, objednávka zboží po telefonu, technická podpora produktu (počítač, modem, telefon, internetové připojení od providera, apod.). Výhodou uvedeného způsobu komunikace je to, že informace či služba mohou být účastníkovi k dispozici nonstop a z jakéhokoliv místa. Široce využívány jsou i dílčí komponenty hlasových dialogových systémů (moduly syntézy a rozpoznávání řeči). Všeobecné využití například nacházejí různé systémy ovládání strojů a zařízení hlasovými povely či automatický přepis diktátu (vhodné zejména jsou-li oči i ruce člověka zaměstnány jinou činností nebo v případě využití tělesně handicapovanými lidmi). Další užitečnou aplikací může být automatický telefonní operátor, který propojí hovor po vyslovení jména volaného. Systémy automatického rozpoznávání lze s výhodou nasazovat i v takových úlohách, kdy je třeba vyhledat informace v rozsáhlých řečových databázích (například v archívu zaznamenaných schůzí a jednání, v archivu televizních a filmových dokumentů a podobně). Sluchově handicapovaní lidé zase ocení automatické (on-line) titulkování televizních pořadů (sportovní přenosy, diskuse, apod.), kde není předem k dispozici textová podoba dané promluvy. Praktické využití se nachází i v oblasti automatického převodu psaného textu na mluvenou řeč, které dosáhlo v poslední době již vysoké přirozenosti umělé řeči. Příkladem je předčítání elektronicky uložených textů, mobilní operátoři nabízejí možnost čtení SMS zpráv, apod. Tyto vlastnosti zejména ocení zrakově postižení lidé nebo lidé s poruchami řeči. Rovněž se začíná pracovat i na aplikacích automatického překladu z jednoho jazyka do druhého, které předpokládají řečový vstup v jednom jazyce, automatické rozpoznání promluvy, automatický překlad do druhého jazyka s následnou syntézou přeložené věty. Chceme-li, aby se partnerem člověka v mluveném dialogu stal počítač, musí se algoritmicky a technicky vyřešit několik relativně komplikovaných úloh, které se týkají zejména zpracování řečového signálu, počítačové syntézy a automatického rozpoznávání řeči a strojového porozumění významu rozpoznávaných promluv. Komunikační proces Přenos mezi mluvčím a posluchačem bez podpory technických prostředků se považuje za analogový. Průběh akustického tlaku ve vzduchu je spojitý jak v čase, tak v okamžitých hodnotách. Elektrický signál z mikrofonu je obrazem časového průběhu akustického tlaku a je taktéž analogový. Pro analogové signály je významným parametrem přenosového média šířka frekvenčního pásma, ve kterém je signál bez zkreslení přenesen. Lidský sluch je schopen slyšet zvuky ve

18 2 KAPITOLA 1. ÚVOD frekvenčním intervalu 20 Hz až 16 khz. Analogové systémy hlasových technologií jsou v současné době na okraji zájmu technického vývoje. Hlasové technologie stojí na číslicové technice a využití počítačů. Avšak znalosti z oblasti analogových systémů jsou v řadě aplikací východiskem pro vývoj číslicových systémů. Jeden z možných typických řetězců, digitálního přenosu, který zprostředkovává sdělení informace mezi dvěma osobami hlasem, ukazuje obrázek 1.1. Obrázek 1.1: Komunikační proces Hlasový signál vytvoří mikrofon, za kterým je obvykle zapojen zesilovač. Již na tomto místě nás musejí zajímat nejen vlastnosti mikrofonu, ale i frekvenční vlastnosti a nelineární zkreslení zesilovače. V praxi se můžeme setkat s tím, že analogový signál je nejen zesilován, ale i komprimován ve svém rozkmitu. V algoritmech dalšího digitálního zpracování se taková nelineární transformace musí brát v úvahu. Frekvenční vlastnosti zesilovače jsou významné z hlediska následující diskretizace signálu v čase, tj. vzorkování. V systémech, ve kterých se digitalizuje analogový signál frekvenčně omezený do telefonního pásma, je běžné použití vzorkovací frekvence 8 khz. V systémech, kde je požadován kvalitnější hlasový signál (pro přenos, syntézu i rozpoznávání), zachycující identitu mluvčího, barvu hlasu, jeho intonační rysy, a podobně, používáme analogového kanálu s širším frekvenčním pásmem a tomu odpovídající vyšší vzorkovací frekvenci, typicky 16 khz, objevují se však již systémy

19 KAPITOLA 1. ÚVOD 3 pracující s řečí vzorkovanou 48 resp khz. Vzorky hlasového signálu jsou vedeny do analogově-číslicového převodníku, který signál kvantuje a digitalizuje. Proces digitalizace vede k narušení signálu kvantizačním šumem. Při rekonstrukci hlasového signálu na přijímací straně je kvantizační šum činitelem zhoršujícím jeho srozumitelnost. Kvantizace a digitalizace jsou procesy, které mapují spojitý interval maximálního rozkmitu analogového signálu na interval diskrétních číselných hodnot, jejichž počet závisí na počtu bitů, kterými je digitalizovaný signál reprezentován. Uvedené zpracování řečového signálu je považováno za bezeztrátové, což znamená, že lze získat z digitálního signálu v D/A převodníku signál se stejným časovým průběhem, jaký měl signál původní, jen s tím, že je narušen kvantizačním šumem. Digitalizovaný hlasový signál je obrazem akustického tlaku, který zachytil mikrofon. Není tedy reprezentantem ideální artikulace, ale nese řadu vad, které komunikaci v konkrétních podmínkách provázejí. Za neodstranitelné považujeme vady způsobené samotným mluvčím při artikulaci (nemoc, stres, opilost). Posluchač je obvykle schopen porozumět takto narušené promluvě, avšak v automatických rozpoznávačích řeči se těmito problémy musíme zabývat. Jiné narušení hlasového signálu může pocházet z prostředí, ve kterém je mikrofon umístěn. Patří sem dozvuky a ozvěny v uzavřených prostorech, hluky a rušivé zvuky, například v jedoucím automobilu, v kanceláři, výrobním provozu, na hlučné ulici či hlasy jiných mluvčích. V těchto případech jde o narušení signálu, pro která jsou vyvíjeny algoritmy umožňující jejich redukci, či úplné odstranění. Tyto věci řeší blok v obrázku Zvýraznění. Blok Kodér upravuje digitální data do podoby, která je vhodná pro digitální přenos. Úkolem Dekodéru je přivést do bloku rekonstruujícího hlasový signál potřebná digitální data. Blok D/A zahrnuje všechny algoritmy vedoucí z číselné reprezentace signálu k jeho analogové podobě. Výstupem tohoto bloku je většinou schodovitý časový průběh napětí, jehož obálka má tvar analogového časového průběhu hlasového signálu. Pro použití ve sluchátku nebo reproduktoru musí být průběh napětí korigován vhodným analogovým filtrem.

20 4 KAPITOLA 1. ÚVOD

21 KAPITOLA 2. OBECNÝ POPIS PROBLÉMU 5 2 Obecný popis problému Ve své diplomové práci se zaměřuji na demonstraci algoritmů zvýraznění řeči (implementace programu, který vizualizuje zvukové soubory u kterých došlo k zvýraznění řeči s pomocí vhodných algoritmu) a na demonstraci jednoduché úlohy rozpoznávání řeči (převod řeči na text). Obě demonstrační úlohy předpokládají hlasový vstup ze vzdáleného počítače, hlasový vstup je snímán s pomocí apletů na WWW stránce. S podrobnějším popisem zpracování řeči se lze seznámit v publikacích [1] a [2]. 2.1 Zvýrazňování řeči Pod pojmem zvýrazňování řeči si často představíme potlačování (redukci) šumů v řeči snímané mikrofonem. Rozdíl mezi oběma úlohami ovšem existuje, neboť redukce šumů nemusí vést ke zvýraznění řeči a naopak zvýrazněním řeči se nemusí dosáhnout redukce šumů. Například ostřením spektra používaným pro zvýrazňování řeči pro sluchově postižené dochází k zesílení řeči (a zároveň šumu) v okolí formantových kmitočtů. Problém redukce šumů se vyskytuje při použití telefonních přístrojů a rozpoznávačů řeči v hlučném prostředí, jakým může být kabina automobilu, hlučná ulice, konferenční místnost,... V tomto případě je řeč rušena (kontaminována) šumy, které se přičítají, tedy aditivními šumy. Přenáší-li se řeč přenosovým kanálem (případ telefonie), nebo je-li snímána v místnosti, kde jsou přítomny odrazy, dochází k jejímu zkreslení konvolučními šumy. Konvoluční šumy jsou tedy způsobeny odrazy či přeslechy v přenosové cestě, nebo změnami jejich parametrů. V závislosti na typu a množství šumů může kvalita řeči výrazně kolísat. Potlačování aditivních a konvolučních šumů v řeči je nezbytným předpokladem jejího dalšího kvalitního zpracování, neboť jak metody komprese a přenosu řeči, tak i metody rozpoznávání jsou citlivé na přítomnost těchto šumů. Tuto citlivost v obou případech způsobují metody parametrizace řeči Základní principy metod redukce šumů Podívejme se nyní na možnosti redukce aditivních šumů, tedy zvýrazňování řeči kontaminované aditivními šumy, které jsou nekorelované s řečovým signálem. Ve všech praktických situacích lze očekávat, že přijímaná řeč obsahuje nějaký typ aditivního šumu. Typickými aplikacemi jsou zpracování a přenos řeči z hlučných ulic a provozů, pilotních kabin, jakož i předzpracování řeči pro sluchové protézy nebo implantáty. Mezi základní charakteristiky používané při redukci šumů patří statistiky druhých řádů: korelace, spektra a spektrální hustoty, koherence. Pro odhady parametrů se používají metody odhadů založené na různých kritériích, nejčastěji metoda nejmenších čtverců a její modifikace (metoda nejmenší střední kvadratické chyby), metoda maximální věrohodnosti, metoda maximalizace aposteriorní pravděpodobnosti. Pro redukci šumů se pak používají následující techniky: Filtrace v časové a frekvenční oblasti v tomto případě filtr potlačuje šum, ale zároveň může i zkreslit řeč. Používá se Wienerova a Kalmanova filtrace, filtrace adaptivním predikčním filtrem, adaptivním hřebenovým filtrem a podobně. Kompenzace v časové frekvenční oblasti v tomto případě systém potlačuje šum při může dojít ke zkreslení řeči.

22 6 KAPITOLA 2. OBECNÝ POPIS PROBLÉMU Modelování řeči tento přístup provádí analýzu řeči se šumem s cílem získat její model, který je následně opraven. Pokud je požadována zvýrazněná řeč, je provedena její syntéza. Oprava modelu je často prováděna iteračním algoritmem při použití omezujících podmínek, jak v rámci jednoho segmentu, tak i mezi segmenty. Systémy s využitím prostorové informace, která umožňuje směrovat příjem k mluvčímu a potlačit šum z jiných směrů. Systémy využívají pole mikrofonů a dokáží separovat signály ze snímané směsi signálů, ovšem za dosti omezujících podmínek, které při zpracování řeči nebývají často splněny. Potlačování aditivních šumů není jednoduchou a rovněž ani uzavřenou záležitostí. Příčinou je velká rozmanitost rušivých šumů vedoucí na relativně složité systémy s výpočetně náročnými algoritmy. Stále platí, že neexistuje univerzální metoda použitelná pro potlačování šumů v celém spektru aplikací, která by byla snadno technicky realizovatelná. Z tohoto důvodu nelze poskytnout obecný recept pro řešení úlohy zvýrazňování řeči rušené aditivními šumy. V každém konkrétním případě je potřeba alespoň přibližně analyzovat charakter šumu (stacionaritu, korelační vlastnosti, jeho výkon vzhledem k úrovni výkonu řeči, počet zdrojů rušení a podobně). Na základě provedené analýzy je možné provést první výběr nebo návrh struktury včetně algoritmu a provést simulace. Konečná struktura obvykle tvoří kompromis mezi požadovanou efektivitou a technickou realizovatelností. 2.2 Detekce a rozpoznávání řeči Na zobrazeném obrázku 2.1 lze vidět princip detekce a rozpoznávání řeči převod řeči na text. Obrázek 2.1: Detekce a rozpoznávání řeči Detekce řečové aktivity Detekce řečové aktivity v analyzovaném signálu je často významnou částí mnoha aplikací zpracování řečového signálu. Nalezneme ji ve vstupních modulech systémů rozpoznávání řeči, kdy detekujeme začátek a konec rozpoznávané promluvy, v mnoha algoritmech zvýrazňování řeči, kdy v řečových pauzách odhadujeme měnící se charakteristiky šumového pozadí, v komunikačních systémech, kdy vyvstává požadavek na zakódování a přenesení pouze té části promluvy, která obsahuje informaci. Existuje velké množství algoritmů detekce řečové aktivity (VAD - Voice Activity Detection). Principiálně lze uvažovat dvě základní skupiny uvedených algoritmů: deterministické a stochastické Deterministické metody detekce řeči Deterministické algoritmy VAD jsou založeny na principech analýzy základních charakteristik řečového signálu a z nich odvozené vhodné kriteriální funkce, na základě které je možné rozlišit úseky signálu s řečovou aktivitou a řečové pauzy. Kriteriální funkce se pak obvykle srovnává s prahem pro výsledné rozhodnutí o přítomnosti řeči v daném úseku signálu. Srovnávání kriteriální funkce s prahem definovaným pouze na základě analýzy zpracovávaného signálu je základní charakteristikou této skupiny algoritmů.

23 KAPITOLA 2. OBECNÝ POPIS PROBLÉMU 7 Hlavní rozdíly mezi jednotlivými algoritmy této skupiny jsou dané volbou kritéria pro rozhodování o řečové aktivitě. Zjednodušeně lze konstatovat, že principiálně je nutné nalézt takový průběh kriteriální funkce, která pak může být prahovatelná. Z tohoto hlediska se nejčastěji používají následující algoritmy: výkonové (energetické) rozhodují na základě nárůstu krátkodobého výkonu při přítomnosti řečové aktivity. kepstrální (spektrální) rozhodují na základě rozdílu ve spektrálních charakteristikách aktuálního segmentu a rušivého pozadí. koherenční uvažují nárůst průměrné koherence při přítomnosti řečového signálu Stochastické metody detekce řeči Stochastické algoritmy jsou založeny na stochastických metodách (HMM, GMM), principech umělé inteligence (neuronové sítě), a podobně. Charakteristickým rysem uvedených algoritmů je nutnost trénovací fáze na reprezentativním vzorku dat. Výslednou detekci řeči pak ovlivňují nejenom charakteristiky aktuálně analyzovaného signálu, ale rovněž vnitřní parametry systému nastavené na základě trénovací množiny signálů Návrh výkonového detektoru řeči Ve své diplomové práci jsem realizoval výkonový detektor řeči, nejjednodušší detektor začátku a konce promluvy použitelný v případech, kdy nepředpokládáme příliš vysokou úroveň rušivého pozadí. Vychází se z jednoduchého předpokladu, že přítomnost řečové aktivity znamená nárůst výkonu signálu. Na druhou stranu lze jistě očekávat selhání tohoto algoritmu za přítomnosti silnějšího rušivého pozadí. V tomto případě budou slabší úseky signálu maskovány silnějším aditivním šumem a nedojde k výraznějšímu nárůstu výkonu signálu. Zejména neznělé úseky řečového signálu jsou v principu nízkoenergetické, a tak jsou v silnějším šumu jen obtížně detekovatelné na základě výkonového kritéria. Za přítomnosti rušivého pozadí budou tedy při výkonové analýze často detekovatelné pouze segmenty se silnějšími, převážně znělými, úseky řeči. Odhad výkonu signálu obvykle realizujeme blokově, zejména s ohledem na další zpracování řečového signálu, které je v naprosté většině případů realizováno na bázi krátkodobé analýzy segmentovaného signálu, tj. při rozkladu na segmenty délky N posouvané po signálu s kokem M, je i-tý analyzovaný segment signálu x[n] daný vztahem x i [n] = x[i M + n]. (2.1) Krátkodobý výkon v i-tém segmentu se pak spočítá na základě elementárního vztahu P i = 1 N N 1 n=0 x 2 i [n]. (2.2) Finální rozhodnutí o přítomnosti řeči se provádí po získání kriteriální funkce vhodným prahováním. Výběr vhodného algoritmu závisí na konkrétní aplikaci, rozhodovací kritéria mohou být někdy i kombinací několika podmínek. V principu však jde v různých modifikacích o dva základní přístupy: pevné nebo adaptivní prahování. Konkrétní použitý algoritmus výkonového detektoru řečové aktivity popisuje obrázek 5.2 na stránce 21.

24 8 KAPITOLA 2. OBECNÝ POPIS PROBLÉMU Rozpoznávání řeči Ačkoliv byl na poli zpracování řečového signálu a jeho klasifikace učiněn obrovský pokrok, přesto je zatím konstrukce zařízení, které by bylo schopno rozpoznat promluvu jakéhokoliv řečníka užívajícího libovolná slova daného jazyka vzdálenou budoucností. Důvody, proč rozpoznávání řeči je obtížné, souvisí jednak s variabilitou řečníka, s prostředím, ve kterém je rozpoznávaná řeč pronášena, ale i se složitostí řešené úlohy: Hlas jedné osoby se liší od hlasu jiných osob. Je to způsobeno zejména odlišnými parametry hlasového ústrojí, ale i odlišným způsobem artikulace. To má za následek, že každý člověk má obvykle jinou barvu hlasu, jiný přízvuk, odlišné tempo řeči a podobně. Systémy rozpoznávání řeči lze proto dělit na systémy na řečníku závislé (jsou trénovány na hlas konkrétního řečníka a nebo malé skupiny řečníků) a na systémy na řečníku nezávislé (jsou trénovány na hlasy stovek i tisíců různých řečníků). Hlas jednoho člověka může být odlišný v různých situacích. Řečový signál se mění, když člověk vysloví stejnou promluvu potichu, nahlas, šeptem, nebo když je nachlazen či rozčilen. Ve skutečnosti je v podstatě nemožné, aby jede člověk řekl ve dvou různých situacích stejné slovo naprosto stejným způsobem. To je způsobeno především proměnlivostmi časování, tj. časové délky celého slova i poměrné délky jeho jednotlivých částí. V souvislé promluvě navíc přistupuje známý jev koartikulace, který může pozměnit fonetické vlastnosti začátku a konce slova v závislosti na kontextu okolních slov. Měnící se akustické pozadí, tj. přítomnost okolního šumu a rušení přenosového kanálu, může způsobovat značné problémy při rozpoznávání řeči. Vyšší úroveň šumu například ztěžuje identifikaci začátku a konce slova. Na správnou funkci rozpoznávače řeči má značný vliv i složitost řešené úlohy. Je zřejmé, že mnohem snazší je rozpoznávání izolovaných slov (například číslovek nebo povelů) z relativně malého slovníku, než rozpoznávání diskrétního diktátu (slova jsou vyslovována izolovaně s krátkou mezislovní pauzou), kdy slovník čítá například tisíce slov. Nejobtížnější úlohou je rozpoznávání souvislé řeči, kdy řečník vybírá slova z rozsáhlého slovníku (desítek tisíc slov). Významný vliv na správnou funkci systému má i to, zda promlouvaná řeč je čtená řeč a nebo zda jde o spontánně pronášenou promluvu. U spontánně pronášené promluvy totiž řečník velmi často vkládá do proudu vyslovovaných slov mnoho tzv. neřečových událostí (hlasité váhání, slyšitelné nádechy), řečník vysloví jen jednu nebo několik prvních hlásek daného slova a začne vyslovovat stejné slovo znovu a nebo začne mluvit zcela o něčem jiném. Z hlediska aplikovaných metod rozpoznávání lze klasifikátory řeči dělit na ty, které pracují na principu porovnávání se vzory a na klasifikátory pracující s využitím statistických metod Rozpoznávání řeči na základě porovnávání se vzory Tato skupina metod byla aktuální v sedmdesátých a osmdesátých létech, kdy byla často aplikována zejména v klasifikátorech izolovaně vyslovených slov. Slovo je zde zpracováno jako celek, přičemž je klasifikováno do té třídy (třídy jsou tvořeny jednotlivými slovy ve slovníku), k jejímuž vzorovému obrazu (vzorovému slovu reprezentovanému posloupností příznakových vektorů) má nejmenší vzdálenost. Klíčovou otázkou je zde určení vzdálenosti mezi dvěma obrazy slov. Tato vzdálenost je obvykle určována na základě aplikace metody dynamického programování, při které se hledá taková nelineární transformace časové osy jednoho z obrazů, při níž dojde k porovnávání obou obrazů s nejmenší výslednou vzdáleností. Tento algoritmus pracuje s efektem nelineární časové normalizace, přičemž kolísání v časové ose je modelováno časově nelineární

25 KAPITOLA 2. OBECNÝ POPIS PROBLÉMU 9 bortivou funkcí (DTW - Dynamic Time Warping) s přesně specifickými vlastnostmi. Časové rozdíly mezi dvěma řečovými obrazy jsou přitom eliminovány borcením jedné z časových os takovým způsobem, že je dosaženo maximální shody s druhým obrazem Statistické metody rozpoznávání řeči V této skupině je přístup ke klasifikaci založen na statistických metodách, ve kterých jsou slova a celé promluvy modelovány pomocí tzv. skrytých Markovových modelů (HMM - Hidden Markov Models). Jednotlivá slova přitom mohou být modelována jako celek jedním skrytým Markovým modelem slova, a nebo jsou mnohem častěji konstruovány skryté Markovovy modely subslovních jednotek (například slabik, fonémů, trifonů, apod.) a promluva je modelována zřetězením těchto elementárních modelů. Pro každou elementární jednotku jsou pak v procesu trénování stanoveny na základě trénovací množiny promluv parametry odpovídajícího Markova modelu a neznámá promluva je rozpoznána na základě toho, jaká posloupnost slov tvořená řetězcem odpovídajících modelů subslovních jednotek generuje promluvu s největší pravděpodobností Princip rozpoznávače řeči Cílem mé diplomové práce nebyla realizace rozpoznávače řeči, ale jeho demonstrace, proto jsem použil vytvořený rozpoznávač, který pracuje na principu statistických metod rozpoznávání řeči. Tento rozpoznávač se nachází v sadě nástrojů HTK [3]. Sada nástrojů je standardním profesionálním prostředkem k detekci řeči, rozpoznávání řeči, trénování parametrů Markovových modelů řeči, apod. HTK je k dispozici zdarma včetně zdrojového kódu a modely vytvořené tímto nástrojem je možno použít i komerčně. Není ovšem možno dále distribuovat samotné HTK. Následující obrázek 2.2 zobrazuje nezbytné části, které jsem musel zajistit, aby použitý rozpoznávač rozpoznával českou promluvu. Obrázek 2.2: Parametry rozpoznávače řeči Rozpoznávač - bližší popis parametrů rozpoznávače HVite ze sady nástrojů HTK je podrobně popsán v dokumentaci HTK [3]. Akustický signál - nahraná promluva, která má být rozpoznána.

26 10 KAPITOLA 2. OBECNÝ POPIS PROBLÉMU Gramatika - definuje pořadí slov ze slovníku, které rozpoznávač využívá k rozpoznání řeči. Rozpoznávač rozpozná pouze ta slova / krátká spojení řeči, která jsou uvedena v gramatice. Slovník - definuje slova, která bude rozpoznávač schopen rozpoznat. Slovník se skládá z jednotlivých dvojic - textového přepisu a rozkladu daného slova na jednotlivé hlásky. Rozpoznávač nerozpoznává slova na základě textového popisu daného slova, ale na základě hlásek. HMM modely elementární řeči - obsahují statistické vlastnosti elementární řeči, vznikají trénováním z velkých databází řeči. Tyto modely jsem převzal z diplomové práce [17]. 2.3 Demonstrace zvýrazňování a rozpoznávání řeči v praxi Cílem demonstrace zvýrazňování a rozpoznávání řeči je navrhnout takový systém, který by byl použitelný na co nejvíce počítačích a dostupen co největšímu možnému okruhu uživatelů. Toto kritérium nejlépe splňuje internet, proto bylo rozhodnuto, že demonstrační aplikace budou mít hlasový vstup ze vzdáleného počítače a budou realizována s pomocí apletů. Aplety jsou většinou kratší programy, které se používají na WWW stránkách, tj. dají se včlenit do HTML kódu. To znamená, že se nespouštějí přímo jako aplikace, ale spustí se otevřením HTML dokumentu WWW prohlížečem, který umí s aplety pracovat. Aplety jsou psány v jazyce Java, který umožňuje plnou přenositelnost programu na libovolnou platformu bez nutnosti jejich překladu na této platformě. Oba programy ke své činnosti potřebují programy třetí strany: Samotný rozpoznávač mluvené řeči (sada nástrojů HTK) Program ctucopy, který provádí zvýrazňování řeči. Ve své práci jsem navrhl demonstraci na základě architektury klient server, kde klientem je samotný aplet, který nahrává data z mikrofonu, posílá je na server, ze kterého přijímá předzpracovaná data, která dále zpracuje. Server běží na webovém serveru, který poskytuje dané aplety, server přijímá nahraná data, která zpracuje (zvýrazní řeč nebo rozpozná hlasový povel) a následně klientovi vrací zpracovaná data.

27 KAPITOLA 3. PŘENOS ŘEČOVÉHO SIGNÁLU PO INTERNETU 11 3 Přenos řečového signálu po internetu V první verzi prototypu programu SEDemo (demonstrace zvýrazňování řeči) jsem navrhl komunikaci mezi klientem a serverem s pomocí HTTP protokolu, kde se celý demonstrační program skládal nejen z Java apletu, ale i z komponent html stránky (tlačítek a textových polí). Idea byla taková, že pomocí apletu nahraji audiosignál, který uložím na disk. Poté s pomocí html formuláře vyberu tento nahraný signál, odešlu ho na server, kde bude zpracován buď s pomocí CGI skriptu a nebo PHP. Po provedení zvýraznění řeči by se pak zobrazilo dialogové okno, které by umožnilo uložit (stáhnout) zpracovaný signál. Poté by se signál nahrál v apletu, který by jej umožnil přehrávat či vizualizovat. Toto řešení má některé podstatné výhody, ale bohužel nevýhody převládají a odsuzují tento první návrh prototypu k nezdaru. Hlavní výhodou tohoto řešení je to, že veškerá komunikace probíhá s pomocí HTTP protokolu, to znamená, že na daném serveru, může být nastavena silná bezpečností politika ohledně síťového provozu. Dany server (webový) může tedy propouštět pouze komunikaci na jednom portu, na kterém běží webový server. Pokud mezi klientem a serverem se nachází nějaký firewall, který propouští pouze komunikaci mezi klientem a webovým serverem, tak bude tento prototyp vždy fungovat správně, aniž by se musela snížit bezpečnostní politika na serveru. Hlavní nevýhodou tohoto řešení se přílišná složitost ovládání. Uživatel musí nejprve ručně uložit nahraný signál, poté ho musí znovu vybrat a s pomocí odeslání formuláře odeslat na server. Jakmile je vypočte nový soubor, tak uživatel je nucen ho uložit a pak ho musí opět ručně načíst v apletu. Ve druhém prototypu jsem se snažil zjednodušit počet operací, které musí uživatel udělat, aby vizualizoval zvýrazněné signály. Napadlo mě, že by aplet mohl přímo sám odeslat nahraný signál na server, kde by byl dál zpracován. Opět jsem se snažil, aby komunikace probíhala s pomocí HTTP protokolu. Avšak tento prototyp také neuspěl. Nejprve jsem měl problémy, jak s pomocí Java apletu posílat vlastní formuláře jak realizovat načtení souboru a stisk tlačítka na formuláři. Po usilovném hledání na internetu jsem nakonec našel řešení, které umožňovalo přenést textovou zprávu z apletu na server. Když jsem se poté pokoušel přenést binární soubor, tak jsem nebyl schopen ho na straně serveru s pomocí PHP sestavit do původní podoby. Tento nedostatek jsem vyřešil později, když jsem objevil program bin64, který umí převést binární soubor na textovou zprávu a naopak. Tím jsem vyřešil problém, jak automaticky poslat data na server, kde se zpracovaly, ale získání nových dat ze serveru byl neřešitelný problém. Uživatel musel čekat, než se zobrazil dialog, aby mohl zpracovaná data uložit na disk a otevřít je v apletu nebyl jsem schopen poznat, kdy se dokončil výpočet na serveru, abych mohl nová data automaticky stáhnout. Bohužel i tento prototyp byl odsouzen k nezdaru, i když by uživatel přetrpěl několikero klikání, než by zobrazil grafický průběh signálu, přesto by byl tento způsob zcela nepoužitelný ve druhém programu SCWP, kde se předpokládá pouze hlasové ovládání WWW stránky bez jakéhokoliv ovládání s pomocí myši či klávesnice. Naštěstí jsem byl úspěšný při realizaci třetího prototypu, kdy jsem se seznámil díky skriptům [12] s novými technikami komunikace mezi klientem a serverem. Můj problém nejlépe vyřešila technika komunikace s pomocí vytvoření soketového spojení mezi klientem a serverem, kde je komunikace zajišťována s pomocí TCP protokolu. Můj nově vytvořený prototyp bez problému uměl automaticky přenášet mezi klientem a serverem binární data. Tento úspěch má však menší nevýhodu, danou způsobem komunikace. Aby tento způsob komunikace správně fungoval, musí být na počítači, na kterém poběží server, otevřen port, přes který bude server komunikovat s klienty. Otevření nového portu znamená snížení bezpečnostní politiky na webovém serveru, protože neznámý útočník může zneužít tento port k napadení sytému. Samozřejmě, pokud se mezi klientem a serverem nacházejí další firewally, tak musí být také nastaveny tak, aby

28 12 KAPITOLA 3. PŘENOS ŘEČOVÉHO SIGNÁLU PO INTERNETU propouštěly komunikaci na daném novém portu. Při realizaci třetího prototypu jsem si uvědomil, že bude třeba navrhnout server tak, aby dokázal obsloužit několik klientů najednou. Způsob realizace paralelního serveru jsem vybíral z následujícího seznamu: Paralelní server s předpřipravenými procesy - je spuštěn určitý počet procesů, kdy každý z procesů dokáže zpracovávat jeden požadavek. Výhodou je rychlá reakce na příchod požadavku. Paralelní server se společným zpracováním - pokud lze obsluhovat více klientů v rámci jednoho procesu, lze vytvořit server, který bude zpracovávat i více požadavků souběžně. Výhodou tohoto typu serveru je rychlá reakce na příchod požadavku, volnost v počtu obsluhovaných událostí. Avšak se musíme omezit na obsluhu krátkých požadavků od jednotlivých klientů. Paralelní server s dynamickým vytvářením procesů - při příchodu požadavku je spuštěn nový proces pro obsluhu požadavku. Výhodou je šetření zdrojů počítače, když nevíme, kolik souběžných požadavků bude třeba obsloužit. Tímto způsobem lze obsluhovat i velmi odlišné typy klientů. Problém je však zpoždění při vytváření nového procesu. Paralelní server s předběžným dynamickým vytvářením procesů - tato technika kombinuje určitý počet předpřipravených procesů, který je postupně doplňován o další dynamicky vytvářené tak, aby při příchodu požadavku byl pokud možno k dispozici volný proces. Vzhledem k tomu, že mé programy jsou určeny k demonstracím tak nepředpokládám, že budou spouštěny dennodenně od rána do večera, ale že se občas během dne párkrát spustí, proto jsem realizoval paralelním server s dynamickým vytvářením procesů. S vlastní implementací serveru mě pomohla kniha [13]. Aby se na počítači, na kterém poběží server zbytečně neotevírali dva porty aplikace SEDemoa SCWP by měly svůj vlastní port, čímž by se snížila bezpečnost, tak jsem vytvořil server, který je pro oba programy stejný a ke své činnosti potřebuje mít povolen jeden port, skrz který bude komunikovat s klienty..

29 KAPITOLA 4. APLIKACE (APLET) SEDEMO ZVÝRAZNĚNÍ ŘEČI 13 4 Aplikace (aplet) SEDemo zvýraznění řeči Program SEDemo vznikl za účelem demonstrace zvýraznění řeči. Program umožňuje načíst ze souboru akustický signál nebo jej umí nahrát z mikrofonu. Tento akustický signál je posléze odeslán na server, který na základě zvoleného algoritmu provede zvýraznění řeči. Nově vzniklý akustický signál je odeslán zpět klientovi, který provede vizualizaci audiosignálu zobrazí časový průběh a spektrogram. Na základě zobrazení spektrogramů, lze zjistit, který z algoritmů provádí lepší zvýraznění řeči na daném typu akustického signálu. Při vytváření programu jsem se inspiroval knihou [14], která byla zaměřena na demonstrování algoritmů digitálního zpracování signálu (DSP - Digital Signal Processing). V této knize byla popisována architektura digitálního zpracování audiosignálu, podle které jsem vytvořil program SEDemo. 4.1 Architektura digitálního zpracování audiosignálu Proces zpracování zvuků, můžeme rozdělit na jednotlivé části, které budou obsluhovány zařízeními. Tato zařízení mohou mezi sebou komunikovat a sdílet společné informace. Pod pojmem zařízení, je myšlen softwarový modul, který pracuje s digitálními vzorky. Spojením těchto zařízení vznikne řetězec zařízení, který může být znázorněn jako série bloků v blokovém diagramu, kde vlevo vstupuji zvuková data, která jsou zpracovávaná jednotlivými bloky a končí v nejpravějším bloku. Toto schéma je znázorněno na následujícím obrázku 4.1: Obrázek 4.1: Řetězec zařízení Každé zařízení můžeme pojmenovat a rozdělit podle typu operace, které provádí. V této architektuře se rozlišují čtyři druhy zařízení: 1. Zdrojové zařízení toto zařízení poskytuje zvuková data následujícím zařízením. Data mohou byt například získána: ze zvukové karty z mikrofonu ze vstupního souboru (AU, WAV,...) LINE INPUT V řetězci zařízení, se může najednou vyskytovat právě jedno vstupní zařízení a musí být umístěno úplně vlevo. 2. Processor toto zařízení zpracovává a různě modifikuje data na svém vstupu. Tato modifikovaná data poskytuje na svém výstupu. S pomocí tohoto typu zařízení lze například vytvářet různé efekty v audiosignálu: echo, reverze,... Libovolný počet těchto zařízení můžeme vložit na jakékoliv místo v řetězci. 3. Monitor toto zařízení slouží pouze k zobrazování dat na svém vstupu, na svůj výstup poskytuje nezměněná data. S pomocí toho zařízeni, lze zobrazovat: amplitudový průběh, spektrogram,... Tento typ zařízení, můžeme v libovolném počtu a kamkoliv umístit do řetězce.

30 14 KAPITOLA 4. APLIKACE (APLET) SEDEMO ZVÝRAZNĚNÍ ŘEČI 4. Výstupní zařízení toto zařízení pouze přijímá vstupní data. Přijatá data buď odešle na výstup počítače (sluchátka, reproduktory) nebo je uloží do souboru (AU, WAV,...). V řetězci zařízení, se může vyskytovat najednou právě jedno výstupní zařízení a musí být umístěno úplně vpravo. Ve výše uvedeném obrázku 4.1, bude tedy první zařízení Zařízení 1 vstupním zařízením. Zařízení 2 až Zařízení N-1 jsou typu monitor nebo processor. Poslední zařízení Zařízení N je výstupní zařízení. Tato architektura se také někdy nazývá pull architecture, protože jednotlivé vzorky zvukových dat, jsou předávány mezi zařízeními. Na požadavek výstupního zařízení, začne vstupní zařízení poskytovat zvuková data. Tato data si předávají ostatní zařízení (processor, monitor) až nakonec skončí u výstupního zařízení. Aby byla zajištěna kompatibilita mezi mezi různými zařízeními, tak všechna zařízení musejí vycházet ze společného předka (zařízení) musí implementovat jeho vlastnosti. Mezi nejdůležitější vlastnosti patří: Musí umět přijímat data a poskytovat je dále. Musí umět zjistit a nastavit počet kanálů. Musí umět zjistit a nastavit hodnotu sampling rate. 4.2 Navržená zařízení V následují části jsou popsána implementovaná zařízení v programu SEDemo. Všechna zařízení jsou omezena těmito požadavky: Počet kanálů je maximálně 2 (mono, stereo). (V aktuální verzi programu se pracuje pouze s jedním kanálem přijde-li na vstup stereo signál, tak je vzápětí automaticky zkonvertován na signál s jedním kanálem.). Hodnota sampling rate je v intervalu 8000 Hz Hz Vzorky dat, jsou uloženy v datovém typu: 16-bit znaménkový integer. Vzorky tedy mohou nabývat hodnot v intervalu: až Vstupní zařízení V programu jsou definovány tato vstupní zařízení : WAV Načítá data ze vstupního souboru typu *.wav ve formátu: PCM (typ 1), 8-bit mu law G.711 (typ 7). AU Načítá data ze vstupního souboru typu *.au ve formátu: 8-bit mu law G.711 (typ 1), 8-bit linear PCM (typ 2), 16-bit linear PCM (typ 3). BIN Načítá data ze vstupního souboru typu *.bin ve formátu: 16-bit linear PCM. SPEC Načítá data ze vstupního souboru typu *.spec pro zobrazení spektrogramu. Data jsou uložena ve formátu HTK. MIC Získává data přímo z mikrofonu.

31 KAPITOLA 4. APLIKACE (APLET) SEDEMO ZVÝRAZNĚNÍ ŘEČI Monitor V programu jsou definovány tyto monitory : Scope Zobrazí časový průběh signálu v samostatném okně. ScopeSpectrogram V jednom okně zobrazí časový průběh signálu a jeho spektrogram. Spectrogram Zobrazí spektrogram signálu v samostatném okně Processor Tato zařízení se skládají z klientské a serverové části. Klientská část posílá data na vzdálený server, kde je provedeno zvýraznění řeči nebo je proveden výpočet dat pro zobrazení spektrogramu. Server po skončení svého výpočtu odešle nová data zpět klientovi, který je dále zpracuje zobrazí grafické průběhy, přehraje je apod. Popis činnosti klientské a serverové části se nachází v kapitole 6. Zvýraznění řeči provede zvýraznění řeči v daném signále. Výpočet spektrogramu z daného signálu vypočte data pro zobrazení spektrogramu Výstupní zařízení V programu jsou definovány tato výstupní zařízení : AU Ukládá data do souboru ve formátu *.au WAV Ukládá data do souboru ve formátu *.wav BIN Ukládá data do souboru ve formátu *.bin 16 bit liner PCM. PLAYER Vstupní data zahazuje, umožňuje pohyb dat v řetězci zařízení. PCM PLAYER Přehrává zvuková data. 4.3 Vizualizace dat Na základě volby zobrazení grafického průběhu v hlavním menu programu položka Zobraz jsou nabídnuty tyto grafické průběhy: zobraz vstupní signál a vstupní spektrogram, vstupní signál a výstupní signál, vstupní spektrogram a výstupní spektrogram, výstupní signál a výstupní spektrogram, vstupní/výstupní signál, vstupní/výstupní spektrogram. Tyto grafické výstupy jsou zobrazeny s pomocí následujících vytvořených řetězců zařízení Zobrazení vstupního průběhu a vstupního spektrogramu První blok v řetězci 4.2 představuje vstupní zařízení, které načítá data ze vstupního audiosignálu. Druhý blok v řetězci představuje monitor, který zobrazí pouze jeden grafický průběh, na data druhého průběhu musí počkat. Prostřední velký blok představuje processor, který zajišťuje výpočet dat pro zobrazení spektrogramu. V předposledním bloku už má monitor data i pro zobrazení spektrogramu. Poslední výstupní zařízení spouští proudění dat v řetězci a přijatá data zahazuje.

32 16 KAPITOLA 4. APLIKACE (APLET) SEDEMO ZVÝRAZNĚNÍ ŘEČI Obrázek 4.2: Zobrazení vstupního průběhu a vstupního spektrogramu Zobrazení výstupního průběhu a výstupního spektrogramu Obrázek 4.3: Zobrazení výstupního průběhu a výstupního spektrogramu První blok v řetězci 4.3 představuje vstupní zařízení, které načítá data ze vstupního audiosignálu. Druhý blok v řetězci představuje processor, který zajistí zvýraznění řeči v audiosignálu. Třetí blok v řetězci představuje monitor, který zobrazí pouze grafický průběh výstupního signálu (nově získaný audiosignál), na data druhého průběhu musí počkat.

33 KAPITOLA 4. APLIKACE (APLET) SEDEMO ZVÝRAZNĚNÍ ŘEČI 17 Čtvrtý blok představuje další processor, který zajišťuje výpočet dat pro zobrazení výstupního spektrogramu. V předposledním bloku už má monitor data i pro zobrazení spektrogramu. Poslední výstupní zařízení spouští proudění dat v řetězci a přijatá data zahazuje Zobrazení ostatních grafických průběhu Zbývající grafické průběhy se získají kombinací předchozích obrázků 4.2 a 4.3. Ve skutečnosti, se dané průběhy zobrazí trochu jinak použije se optimalizace. Jakmile se už jednou vypočítají data pro zobrazení daného audiosignálu, tak se uloží do paměti. V okamžiku, kdy budu tato data potřebná, tak se rovnou přečtou z paměti, čímž dojde k urychlení výpočtů zobrazení grafických průběhu. Pokud by se tato optimalizace neprovedla, tak by se nejen zbytečně přetěžoval server, který by stále znovu počítal stejná data, ale také by samotné zobrazování dat trvalo příliš dlouho Použití apletu na html stránce Postup použití apletu na html stránce je uveden v kapitole Popis zdrojových kódů Zdrojové kódy tohoto apletu se nacházejí na přiloženém CD v adresáři: sedemo/src/. Popis jednotlivých souborů je uveden v příloze C. Podrobný popis fungování apletu SEDemo je popsán ve zdrojovém kódu a v přiložené dokumentaci na CD [6] Nezbytné podpůrné balíčky Program SEDemo používá ke své činnosti baličky *.jar, které rozšiřují jeho vlastnosti. Tyto balíčky obsahují přeložené *.class soubory a další všechny potřebné zdroje, jako jsou obrázky, pomocné soubory,... Tyto balíčky jsou nezbytnou součástí programu, bez kterých nelze úspěšně přeložit zdrojové soubory a také bez nich nelze úspěšně spustit aplikaci (applet) JavaHelp Tento balíček slouží k vytváření integraci uživatelské nápovědy do aplikací nebo appletů a je zdarma k dispozici na WWW stránkách [15], kde je také popsán způsob instalace. Následující uvedená publikace [4] popisuje používání systému JavaHelp. Stažený archív JavaHelpu obsahuje několik knihoven (balíčků *.jar), program SEDemo z nich pouze vyžaduje javahelp/lib/jhall.jar soubor obsahuje všechny třídy vztahující se k systému nápovědy Java- Help, včetně těch, které jsou nezbytné k tvorbě katalogu indexovaných slov Java Media Framework 2.1.1e Tento balíček slouží jako programové rozhraní (API) pro aplikace a applety, které manipulují se zvukovými a video daty na profesionální úrovni. JMF 1.0 API (Java Media Player API) umožňuje programátorům vyvíjet Java programy pro přehrávání zvukových dat (time-based media). JMF 2.0 API rozšiřuje rozhraní o podporu záznamu a ukládaní dat, řízení zpracování dat během přehrávání, uživatelská rozhraní pro

34 18 KAPITOLA 4. APLIKACE (APLET) SEDEMO ZVÝRAZNĚNÍ ŘEČI práci se streamovými daty. Dále definuje pluginy API, které umožňují pokročilým vývojářům snadněji vyvíjet uživatelské rozšíření funkcí JMF. Tento balíček lze stáhnout na WWW stránkách [16], kde je také popsán způsob instalace. 4.4 Závěr Demonstrace zvýrazňování řeči je realizována programem SEDemo, jehož hlavní náplní je umožnit uživateli nahrát krátkou řečovou promluvu nebo načíst nějaký audiosignál. Druhou hlavní částí programu je výběr algoritmu zvýraznění řeči, která se provede na straně serveru. Efektivita jednotlivých algoritmů se nejlépe porovnává na zobrazených spektrogramech vstupního (původního) signálu a výstupního (upraveného zvýrazněného) signálu. Princip celého programu je založen na vytváření audio řetězce, do kterého se vkládají různá zařízení (vstupní, výstupní, monitor, filtr), která postupně upravují vstupní signál například první zařízení v řetězci umí nahrát nebo načíst vstupní signál, druhé zařízení může zobrazit vstupní signál, třetí zařízení může signál různě modifikovat, ve čtvrtém zařízení můžeme zobrazit tento nový upravený signál či ho může pouze přehrát v reproduktorech či uložit do souboru. Tento modulární systém umožňuje rozšířit vlastnosti celého programu SEDemo pouhým přidáním nového modulu zařízení.

35 KAPITOLA 5. APLET SCWP ROZPOZNÁVÁNÍ ŘEČI 19 5 Aplet SCWP rozpoznávání řeči Program SCWP je sada navzájem spolupracujících apletů, které umožňují hlasové ovládání WWW stránek. Aplety mezi sebou komunikují s pomocí předávání zpráv. Na následujícím obrázku 5.1 je vidět princip fungování programu SCWP. Obrázek 5.1: Princip fungování programu SCWP Jméno programu SCWP vzniklo složením počátečních písmen anglického názvu Speech Controlled Web Pages (hlasové ovládání WWW stránek). První aplet na obrázku se jmenuje SR (Speech Recognizer). Pokud tento aplet detekuje řeč, tak nahraje hlasový povel, který vzápětí pošle na server. Na serveru dojde k rozpoznání hlasového povelu na textový povel, který je vrácen zpět apletu SR. Jakmile aplet SR obdrží textový povel, tak ho předá svému sousedovi apletu CWP a pak opět čeká, zda-li nedošlo k detekci řeči, aby mohl nahrát hlasový povel celý cyklus se poté opakuje znovu.

36 20 KAPITOLA 5. APLET SCWP ROZPOZNÁVÁNÍ ŘEČI Druhý aplet na obrázku se jmenuje CWP (Control Web Page). Tento aplet se stará o ovládání samotné WWW stránky. Na základě rozpoznání přijatého textového povelu provádí tyto činnosti: Zobrazí novou WWW stránku, která odpovídá vybrání hypertextového odkazu. Posouvá WWW stránku nahoru nebo dolu, aby bylo možné číst skryté části dokumentu Provádí posun vpřed / vzad v historii zobrazených WWW stránek. Neznámý povel, který neumí zpracovat pošle svému následujícímu sousedovi apletu TE- LEPHONE. Předposlední aplet TELEPHONE se stará o zobrazení telefonu s digitálním číselníkem. Na základě přijatého povelu zobrazuje vytočené číslo. Pokud tento aplet nerozpozná textový povel, tak ho pošle dál svému sousedovi. Poslední aplet představuje možnost přidání další apletů, které budou dále zpracovávat neznámý povel. Pokud aplet nemá žádného svého souseda, tak neznámý povel, který neumí zpracovat zahodí a čeká na nový povel. 5.1 Aplet SR Tento aplet SR má na starosti nahrání hlasového povelu, jeho následné odeslání na server a příjem zpracovaného hlasového povelu, který obdrží jako textovou zprávu. Tento textový hlasový povel odešle svému registrovanému sousedovi. Zjednodušeně lze říci, že má na starosti rozpoznání hlasového příkazu Principiální popis apletu Tento aplet se principiálně skládá ze tří hlavních částí: První část má na starosti pouze neustálé nahrávání dat z mikrofonu, jakmile je aplet zobrazen na WWW stránce. Nahraná data posílá druhé části detektoru řeči. Detektor řeči analyzuje nahraná data a rozhoduje, zda-li nahraná data obsahují platnou řeč nebo dlouhou pauzu. Pouze tehdy, je-li detekována platná řeč dochází k ukládání řeči na lokální počítač. Jakmile je detekován konec řeči, tak na řadu přijde třetí hlavní část rozpoznávač řeči. Přesáhne-li doba detekování souvislé řeči 10 sekund, tak detektor řeči automaticky ukončí nahrávání hlasového povelu. Tím se ošetří možná chybná detekce konce řeči, kdy je šum na pozadí detekován jako platná řeč. Třetí poslední důležitou částí je rozpoznání řeči. Tento aplet se navenek chová jako rozpoznávač řeči nahraje řeč a vrátí textový přepis mluveného slova, ale ve skutečnosti o rozpoznání mluveného slova požádá server, který provede vlastní rozpoznání. Princip skutečného rozpoznávače je popsán v kapitole 6.2.

37 KAPITOLA 5. APLET SCWP ROZPOZNÁVÁNÍ ŘEČI Princip detektoru řeči Detektor řeči je založen na principu výkonového detektoru (viz. kapitola ), kde se vychází z jednoduchého předpokladu, že přítomnost řečové aktivity znamená nárůst výkonu signálu. Schéma výkonového detektoru řeči zobrazuje následný vývojový diagram 5.2 Obrázek 5.2: Princip výkonového detektoru řeči Detektor řeči neustále dostává na svůj vstup nahraná data z mikrofonu, tyto data ukládá do několika bufferů, se kterými dále pracuje. Cyklus detektoru řeči se skládá z několika fází: 1. Z fáze inicializace. V této fázi detektor nastaví práh kriteriální funkce, která bude určovat, zda-li došlo k detekci řeči nebo dlouhé pauzy. Hodnota kriteriální funkce se nastaví na základě nahraného šumu z okolí mikrofonu. V této fázi se nesmí mluvit do mikrofonu, jinak by se nastavila příliš vysoká mez. Inicializace trvá 2 sekundy, po tuto dobu se ukládají data z mikrofonu do bufferu, ze kterého se pak vypočítá prahová hodnota Prahový výkon. Prahový výkon se spočítá podle vzorce P prah = P s + 3 P std, (5.1)

38 22 KAPITOLA 5. APLET SCWP ROZPOZNÁVÁNÍ ŘEČI kde P s je střední hodnota okamžitého výkonu P std je standardní odchylka okamžitého výkonu P s = 1 N 1 N P i (5.2) P std = N 1 i=0 i=0 (P i P s ) 2 N 1, (5.3) a P i je okamžitý výkon, který se počítá ze vzorků analyzovaného segmentu délky N, tj. P i = N 1 n=0 s 2 n (5.4) Velikost bufferu pro výpočet okamžitého výkonu odpovídá součinu vzorkovací frekvence nahraného signálu mikrofonem a zvolenou dobou pro výpočet segmentu okamžitého výkonu, což v mém případě je 10 ms. Délka bufferu ve vzorcích je pak dána N = 10ms f s = 0.01s 16000Hz = 160 (5.5) 2. Fáze detekce elementární řeči. Jakmile proběhne inicializace a je vypočten prahový výkon, tak se v cyklu začne vypočítávat pouze okamžitý výkon (aktuální výkon), který se bude porovnávat s vypočtenou hodnotou prahového výkonu. Je-li okamžitý výkon větší než prahový výkon, tak byla detekována elementární řeč (detektor vrací hodnotu 1), jinak je detekována elementární pauza (detektor vrací hodnotu 0). 3. Fáze detekce řeči. Díky předchozí fázi jsme získali sadu číslic 0 nebo 1, které určují, zda-li byla detekována elementární řeč v segmentu řeči o velikosti 10ms. Tyto hodnoty obsahují elementární detekci řečové aktivity, která obsahuje mnoho krátkodobých chybných rozhodnutí neboť lidský hlas je velice dynamický. Jednotlivé hlásky se vyslovují různě rychle a jsou mezi nimi různě krátké prodlevy, také krátkodobá rušení jsou detekována jako řeč, apod. Abychom byly schopni skutečně rozlišit řeč, která se skládá ze slov a krátkých pauz, mezi jednotlivými slovy, musíme ještě rozdělit detekovanou elementární řeč na jednotlivé segmenty, ze kterých zjistíme, zda-li byla detekována řeč nebo dlouhá pauza. Tato primitivní detekce řeči se sleduje v segmentech délky 0.5 sekund. Obsahuje-li tento segment více než 20% řečové aktivity tak předpokládáme přítomnost řeči a dochází k ukládání snímaného signálu na lokální počítač. Pokud detektor od této chvíle zjistí, že ve čtyřech segmentech za sebou nebyla detekována řeč, tak ukončí svou činnost přestane nahrávat data z mikrofonu a nahranou řeč pošle rozpoznávači, který převede řeči v akustickém signálu na text. Jakmile je detektor aktivován, tak se celý cyklus znovu opakuje.

39 KAPITOLA 5. APLET SCWP ROZPOZNÁVÁNÍ ŘEČI Popis vzhledu apletu Navržený aplet je vidět na WWW stránce a skládá se ze tří částí, které můžeme vidět na obrázku 5.3. Obrázek 5.3: Grafický vzhled apletu SR Pod první částí se skrývá tlačítko, které umožňuje manuální vypnutí / zapnutí rozpoznávání řeči. Jakmile je zobrazen tento aplet, tak automaticky dojde ke spuštění rozpoznávání řeči. Popisek tlačítka má různé barvy pozadí a textu, v závislosti na tom, v jaké stavu se nachází rozpoznávač hlasového povelu. Rozpoznávač řeči se může nacházet v různých stavech, které jsou uvedeny v následující tabulce 5.1. Popis Barva Význam Rozpoznávač vypnut Modrá Rozpoznávač je vypnut hlasové ovládání nefunguje. Inicializace Červená Inicializace rozpoznávače, nastavuje se práh citlivosti. Tento práh určuje od jaké intenzity hlasitosti nahraného signálu bude detektor řeči indikovat platnou řeč nebo ticho (pauzu). Očekávám příkaz Zelená Detektor řeči nezaznamenal žádnou řeč. Detekována řeč Zelená Detektor řeči zaznamenal řeč. Rozpoznávám příkaz Červená Rozpoznávač rozpoznává hlasový povel, po rozpoznání příkazu provede odpovídající činnost. V této fázi je nahrávání z mikrofonu vypnuto Tabulka 5.1: Stavy apletu hlasového vstupu Jednotlivé změny stavu rozpoznávače řeči se neprovádí okamžitě, ale s menší prodlevou. Druhá část obsahuje textový popis Poslední přijatý příkaz: a nakonec v poslední části se zobrazuje poslední přijatý příkaz Použití apletu na html stránce Je velmi vhodné umístit tento aplet na html stránku tak, aby byl stále vidět, i když posouváme stránkou nahoru / dolu, aby jsme viděli zbytek skrytého textu na obrazovka. Aplet je třeba stále vidět proto, aby jsme věděli, v jaké fázi se zrovna nachází rozpoznávač aby jsem zadávali hlasový povel ve správnou dobu ve fázi Očekávám příkaz. Pevné umístění na html stránce se docílí pomocí kaskádových stylů (CSS), konkrétně s pomocí atributu position:fixed. Bohužel, ne všechny WWW prohlížeče implementují celý standard kaskádových stylů, takže se musí tento atribut obcházet s pomocí různých hacků, které však v pozdějších verzích prohlížeče nemusejí fungovat, jakmile napraví své chyby. Tento problém se v současné době týká WWW prohlížeče Internet Explorer verze nižší než 7. Prohlížeče Mozilla Firefox a Internet Explorer 7 tuto vlastnost CSS stylu podporují. Aplet nelze vložit do rámce, protože musí být schopen komunikovat s ostatními aplety, které se vyskytují na stránce podle toho, o jakou html stránku jde. Sice na oficiálních WWW

40 24 KAPITOLA 5. APLET SCWP ROZPOZNÁVÁNÍ ŘEČI stránkách [5] píší ze to sice lze, ale tato vlastnost není podporována přímo Java API a ne každý WWW prohlížeč tuto vlastnost podporuje. Aplet se vloží na html stránku s pomocí této značky html jazyka s těmito povinnými parametry:... <applet codebase="classes" code="cz/cvut/fel/mihlon/scwp/sr/speechrecognizer.class" width="166" height="50" name="srpa" recognize="intro" receiver="cwp" mayscript> </applet>... codebase obsahuje relativní nebo absolutní URL adresu, kde se bude hledat soubory tříd přeloženého apletu. code obsahuje jméno hlavní třídy přeloženého apletu. width určuje šířku apletu na html stránce. height určuje výšku apletu na html stránce. name obsahuje jméno apletu recognize určuje název slovníku, který se použije pro rozpoznání hlasového příkazu (viz. kapitola 6.2 receiver jméno apletu, kterému aplet pošle neznámý (nezpracovaný) textový příkaz. mayscript Umožní apletu spouštět příkazy JavaScriptu Popis zdrojových kódů Zdrojové kódy tohoto apletu se nacházejí na přiloženém CD v adresáři: scwp/src/cz/cvut/fel/mihlon/scwp/sr: AlarmClock.java Tato třída zajistí, že se bude nahrávat řeč pouze po omezenou dobu. Ideální doba je okolo 10s. FormatControls.java Obsahuje a nastavuje parametry Audioformátu, který slouží k nastavení vlastností pro nahrávání či přehrávání audiosignálu. Mic.java Zajišťuje nahrávání z mikrofonu. SendDataDialog.java Posílá data na server, který je zpracuje a vrátí zpět. Během komunikace se serverem zobrazí dialog, který informuje o průběhu komunikace a nedovoluje cokoliv dělat. Až komunikace skončí, tak ukončí dialog. SpeechDetector.java Detekuje řeč při nahrávání z mikrofonu. SpeechRecognizer.java Nahrávání příkazu z mikrofonu, následně odešle příkaz (audio) na server, příjem dekódovaného povelu (text) a odeslání příkazu (text) registrovanému appletu. SpeechRecognizerProxy.java Simuluje nahrávání příkazu z mikrofonu, následné odeslání příkazu (audio) na server, dekódování příkazu na serveru, příjem dekódovaného povelu (text). Příkaz odešle registrovanému appletu.

41 KAPITOLA 5. APLET SCWP ROZPOZNÁVÁNÍ ŘEČI 25 Podrobný popis fungování apletu SR je popsán ve zdrojovém kódu a v přiložené dokumentaci na CD [7]. 5.2 Aplet CWP Tento aplet CWP má na starosti ovládání samotné WWW stránky Principiální popis apletu Na základě rozpoznání přijatého textového povelu, uvedeného v tabulce 5.2 provádí tyto činnosti: Hlasový příkaz dolu nahoru vpřed zpět hypertextový odkaz Akce Posun WWW stránky nahoru. Posun WWW stránky dolu. Posun vpřed v historii zobrazených WWW stránek. Posun vzad v historii zobrazených WWW stránek. Zobrazí WWW stránku, na kterou ukazuje hypertextový odkaz. Tabulka 5.2: Hlasové ovládání WWW stránky 1. Zobrazí novou WWW stránku, která odpovídá vybrání hypertextového odkazu. Jakmile je tento aplet aktivní, tak si stáhne aktuálně zobrazenou stránku. Tuto stránku postupně analyzuje hledá v ní definice hypertextových odkazů. Jakmile nějaký hypertextový odkaz nalezne, tak z něj vybere název hypertextového odkazu, který je zobrazen na html stránce a samotnou adresu hypertextového odkazu. Tyto dvě hodnoty uloží do asociativního pole, kde je klíčem název a hodnotou je adresa. Klíčem je buď přesný název hypertextového odkazu a nebo jeho kombinace. Pokud nový vkládaný klíč už existuje v daném poli, tak se do pole vloží (přidá) pouze hodnota, takže lze s pomocí jednoho klíče získat více hodnot. Zda-li se má do asociativního pole vkládat pouze přesný název hypertextového odkazu či jeho kombinace, určuje parametr apletu exactlinks v html stránce. V okamžiku, kdy se má zobrazit nová stránka, která je určena hypertextovým odkazem, se zjistí, že daný klíč odpovídá více stránkám, tak se zobrazí html stránka, která informuje o této shodě. Na stránce se objeví seznam všech hypertextových odkazů, které odpovídají danému klíči a uživatel je upozorněn, že má blíže specifikovat, kterou stránku chce vlastně zobrazit. Tato situace nastane, když chce uživatel na demonstrační stránce zjistit kontaktní informace o členu Katedry teorie obvodů. Na úvodní stránce je zobrazen seznam všech členů je tam uvedeno jméno a příjmení, které slouží jako hypertextový odkaz html stránku s kontaktními údaji. Aplet CWP získá tyto hypertextové odkazy a vytvoří dva klíče na samotný odkaz: jméno a příjmení. Shoda nastane při výběru některých odkazů, kde se shodují jména osob. Uživatel je na tuto shodu upozorněn a musí vybrat danou osobu s pomocí jména a příjmení, příjmení a jména nebo s pomocí příjmení. 2. Posouvá WWW stránku nahoru nebo dolu, aby bylo možné číst skryté části dokumentu. Posun stránky je zajištěn s pomocí volání příkazů (funkcí) JavaScriptu. 3. Provádí posun vpřed / vzad v historii zobrazených WWW stránek. Zobrazování stránek v historii je prováděno s pomocí volání příkazů (funkcí) JavaScriptu.

42 26 KAPITOLA 5. APLET SCWP ROZPOZNÁVÁNÍ ŘEČI 4. Pokud aplet zjistí, že přijatý příkaz neodpovídá žádnému hypertextovému odkazu a ani příkazu pro ovládání WWW stránky, tak tento příkaz pošle svému registrovanému apletu, který tento příkaz dále zpracuje. Pokud u tohoto apletu není registrován žádný aplet, který by zpracoval tento příkaz, tak zahodí neznámý příkaz a požádá aplet SR, aby nahrál nový příkaz Popis vzhledu apletu Tento aplet nemá žádný grafický výstup Použití apletu na html stránce Vzhledem k tomu, ze aplet nemá žádný grafický výstup, lze jeho define v html stránce umístit kdekoliv. Jelikož tento aplet přímo volá funkce JavaScriptu, je třeba, aby měl tento aplet povolené spouštění funkcí JavaScriptu. Vlastní těla funkcí JavaScriptu jsou uložena v samostatném souboru. Jméno tohoto souboru musí být uvedeno v těle html stránky. Html stránka musí obsahovat tyto řádky: Aplet se vloží na html stránku s pomocí této značky html jazyka s těmito povinnými parametry:... <head>... <script language="javascript" type="text/javascript" src="scwp.js"> </script>... </head>... <applet codebase="classes" code="cz/cvut/fel/mihlon/scwp/cwp/controllwebpages.class" width="1" height="1" name="cwp" exactlinks="true" receiver="telephone" mayscript> </applet>... src= scwp.js definice cesty k souboru, obsahující funkce JavaScriptu, které jsou volány z apletu. codebase obsahuje relativní nebo absolutní URL adresu, kde se bude hledat soubory tříd přeloženého apletu. code obsahuje jméno hlavní třídy přeloženého apletu. width určuje šířku apletu na html stránce. height určuje výšku apletu na html stránce. name obsahuje jméno apletu exactlinks určuje, podle jakých pravidel se zobrazí html stránka na základě hypertextového odkazu. Platné hodnoty toho parametru jsou: true Html stránka se zobrazí na základě přesného názvu hypertextového odkazu. false Html stránka se zobrazí na základě kombinace hypertextového odkazu.

43 KAPITOLA 5. APLET SCWP ROZPOZNÁVÁNÍ ŘEČI 27 receiver jméno apletu, kterému aplet pošle neznámý (nezpracovaný) textový příkaz. Pokud tento parametr není uveden, tak aplet neznámé povely ignoruje. mayscript Umožní apletu spouštět příkazy JavaScriptu Popis zdrojových kódů Zdrojové kódy tohoto apletu se nacházejí na přiloženém CD v adresáři: scwp/src/cz/cvut/fel/mihlon/scwp/cwp: ControllWebPages.java Ovládá webové stránky: zobrazuje nové stránky, provádí historii příkazu: krok vpřed, vzad; posun textu v html stránce: nahoru, dolu; nasleduje hypertextové odkazy. SetProxyDialog.java Zobrazí dialog, který umožní nastavit proxy nastaveni pro přístup k html stránkám. Podrobný popis fungování apletu CWP je popsán ve zdrojovém kódu a v přiložené dokumentaci na CD [7]. 5.3 Aplet TELEPHONE Tento aplet TELEPHONE se stará o zobrazení telefonu s digitálním displejem a demonstruje hlasové vytáčení telefonního čísla, které se pak zobrazí na displeji Principiální popis apletu Aplet demonstruje hlasové vytáčení telefonního čísla, které musí být řečeno po jednotlivých číslicích. Na telefonním displeji se zobrazuje maximálně 12 místní číslo, pokud se řekne více číslic, tak jsou zbylá číslice ignorována. Každé nově zadané telefonní číslo vždy přemaže předchozí zadané číslo Popis vzhledu apletu Na 5.4 uvedeném obrázku je zobrazen vzhled apletu digitální telefon s displejem. Obrázek 5.4: Grafický vzhled apletu TELEPHONE

44 28 KAPITOLA 5. APLET SCWP ROZPOZNÁVÁNÍ ŘEČI Telefonní číselník se skládá nejen z číslovek, ale i ze dvou speciálních znaků, jejich výslovnost je tato: # - hash, mřížka * - hvězdička Použití apletu na html stránce Tento aplet se může v html stránce umístit kdekoliv, kde je třeba, aby byl vidět.... <applet codebase="classes" code="cz/cvut/fel/mihlon/scwp/telephone/telephone.class" width="350" height="200" name="telephone" mayscript> </applet>... codebase obsahuje relativní nebo absolutní URL adresu, kde se bude hledat soubory tříd přeloženého apletu. code obsahuje jméno hlavní třídy přeloženého apletu. width určuje šířku apletu na html stránce. height určuje výšku apletu na html stránce. name obsahuje jméno apletu receiver jméno apletu, kterému aplet pošle neznámý (nezpracovaný) textový příkaz. Pokud tento parametr není uveden, tak aplet neznámé povely ignoruje. mayscript Umožní apletu spouštět příkazy JavaScriptu Popis zdrojových kódů Zdrojové kódy tohoto apletu se nacházejí na přiloženém CD v adresáři: scwp/src/cz/cvut/fel/mihlon/scwp/telephone: Telephone.java Zobrazí telefon ovládaný hlasem. Podrobný popis fungování apletu TELEPHONE je popsán ve zdrojovém kódu a v přiložené dokumentaci na CD [7]. 5.4 Server SCWP Vzhledem k tomu, že programy SCWP a SEDemo používají stejného klienta pro odesílání a příjem dat ze vzdáleného serveru, který je také pro oba programy stejný, bude princip klienta serveru popsán v kapitole 6.

45 KAPITOLA 5. APLET SCWP ROZPOZNÁVÁNÍ ŘEČI Závěr Demonstraci rozpoznávání řeči jsem realizoval s pomocí programu SCWP, který demonstruje hlasové ovládání WWW stránek (posun html stránky nahoru/dolu, aby se zobrazil skrytý text, pohyb v historii zobrazených stránek směrem vřed/vzad a především demonstruje zobrazování nových WWW stránek na základě hlasového výběru hypertextového odkazu). Demonstrace je realizována na simulaci hlasového vytáčení telefonního čísla, kde se rozpoznává sada jednotlivých číslovek a dvou symbolů (#, *) oddělených krátkou pauzou. Druhou částí je zobrazení kontaktních informací o dané osobě na seznamu člunů katedry, kdy je výběr založen na rozpoznání jména, příjmení, jména a příjmení, příjmení a jména dotyčné osoby. Tyto demonstrační WWW stránky se ovládají pouze hlasem. Proto jsem musel nejprve implementovat detektor řečové aktivity použil jsem výkonový detektor, který detekuje řeč na základě nárůstu krátkodobého výkonu při přítomnosti řečové aktivity. Během realizace a praktického testování detektoru řeči jsem zjistil, že úspěšnost správné detekce řeči nezávisí pouze na nastavení vhodné kriteriální funkce, ale také na počátečním nastavení nahrávacích parametrů mikrofonu. Pokud je citlivost mikrofonu příliš nízká či moc vysoká, tak detektor špatně reaguje buď musíme do mikrofonu hodně křičet nebo detektor detekuje řeč při výskytu výraznějšího šumu na pozadí. Tento detektor je vhodný používat v relativně klidném prostředí (kancelář), kdy detektor není moc ovlivňován okolním šumem. Detektor není vhodný k používání ve venkovním prostředí, protože toto prostředí je obklopeno dynamickým šumem (hluk aut, procházející lidé, apod.), který by ovlivňoval funkčnost detektoru byla by detekována falešná řeč. Tyto nevýhody by se daly částečně odstranit přidáním dalších kriteriálních funkcí. Vlastní rozpoznání mluvené řeči je realizováno s pomocí sady nástrojů HTK. Abych mohl rozpoznávat česká slova, tak jsem musel zajistit vytvoření českého slovníku, gramatiky a získání českého HMM modelu elementární řeči. Během uživatelského testování demonstrace hlasového ovládání WWW stránek, jsem si ověřil, že úspěšnost rozpoznávání řeči je velice závislé na vytvořeném slovníku a gramatice. Úspěšnost rozpoznání je tím větší, pokud se slovník skládá ze slov, které se mezi sebou výrazně liší. V mé demonstraci hlasového vytáčení telefonního čísla, se vyskytují souběžně dva velice podobné příkazy číslovka 5 (pět) a zpět (posun v historii WWW stránek). Tyto dvě slova se liší pouze v prvním písmenu z. Proto většina testovaný osob měla problémy, když chtěli použít příkaz zpět místo toho se na displeji telefonu zobrazila číslovka 5. Proto je vhodné v další verzi programu SCWP změnit příkaz zpět na jiný název, třeba dozadu. Další parametr který výrazně ovlivňuje úspěšnost rozpoznání řeči je vytvoření vhodné gramatiky. Čím gramatika obsahuje méně pravidel, tím se lépe rozpoznávač trefí do správného slova, protože vychází ze statistických informací. Program SCWP by se mohl v další fázi vývoje rozšířit tak, aby docházelo k dynamickému generování gramatiky gramatika by obsahovala pouze ta slova, ze kterých uživatel aktuálně vybírá. Například na stránce, kde je zobraz seznam členů katedry, nejprve uživatel vybírá osobu na základě 20 jmen a 20 příjmení + 4 příkazy pro ovládání WWW stránky. Když uživatel vybere osobu podle jména, tak gramatika pracuje se 44 slovy ze slovníku. Pokud uživatel vybere jméno, které patří více osobám, například Jan, tak ze zobrazí WWW stránka, která upozorňuje uživatele, že došlo ke shodě a nabídne nový seznam osob, kteří se jmenují Jan. Uživatel teď volí osobu z 5 Janů (1 Jan + 5 příjmení + 4 příkazy). Proto nově vygenerovaná gramatika by měla skládat pouze z 10 slov. Dalším nezanedbatelným parametrem je i vhodná volba HMM modelů elementární řeči. Tento model ovlivňuje správnost rozpoznání na nákladě natrénování fonémů rozpoznávač může dobře reagovat na rychlou, pomalou řeč, na řeč, která se vyskytuje v hlučném prostředí apod.

46 30 KAPITOLA 5. APLET SCWP ROZPOZNÁVÁNÍ ŘEČI

47 KAPITOLA 6. KLIENT / SERVER SEDEMO A SCWP 31 6 Klient / Server SEDemo a SCWP Následující popisované části jsou stejné pro oba programy SEDemo a SCWP. Klienti obou programů, komunikuji se vzdáleným serverem s pomocí tohoto zobrazeného schématu 6.1: Obrázek 6.1: Komunikace klienta V první fázi klient navazuje se serverem spojení. Je-li spojení úspěšně navázáno, tak mu odešle číslo ID akce, kterou má server provést. V další části klient odešle hodnotu sample rate nahraného audiosignálu a samozřejmě i samotný audiosignál. Jakmile server získá celý audiosignál od klienta, tak provede vlastní výpočet s přijatým audiosignálem na základě přijaté hodnoty ID. Pokud server rozpoznává hlasový příkaz, tak ke své činnosti nepotřebuje znát hodnotu sample rate nahraného audiosignálu, klient může poslat libovolnou hodnotu. Tato hodnota je důležitá pouze tehdy, má-li se provést zvýraznění řeči. Pokud výpočet na straně serveru proběhl úspěšně, tak server o tom informuje klienta, kterému pak vzápětí pošle upravený audiosignál a komunikace mezi klientem a serverem skončí. Zjistí-li však server, že došlo k chybě během zpracovávání audiosignálu, tak to oznámí klientovi, který ihned ukončí komunikaci se serverem. Činnost serveru je velice podobná klientovi, což můžeme vidět na následujícím schématu 6.2:

48 32 KAPITOLA 6. KLIENT / SERVER SEDEMO A SCWP Obrázek 6.2: Komunikace serveru Server stále čeká na spojení od klienta. Jakmile se klient spojí se serverem, tak server vytvoří nový proces, který bude obsluhovat právě připojeného klienta. Po vytvoření nového procesu, server čeká na nové spojení od dalšího klienta navržený server umí pracovat s několika klienty najednou. Nově vytvořený proces přijme od klienta číslo ID, hodnotu sample rate audiosignálu a samotný audiosignál. Proces na základe přijatého ID provede určenou akci s přijatým audiosignálem. Provede jednu činnost z těchto akcí: Vypočte data pro zobrazení spektrogramu. Provede zvýraznění řeči v audiosignálu. Rozpozná hlasový příkaz v audiosignálu převede mluvenou řeč do textové podoby. Požadované výpočty proces provádí s pomocí spouštění externích programu ctucopy a nástrojů sady HTK. Po skončení výpočtů pošle proces klientovi návratový kód externích programů. Pokud výpočty proběhly bez žádných problémů, vrací hodnotu 0 a výsledný zpracovaný soubor (audiosignál nebo textový příkaz), jinak vrací chybový kód. V posledním kroku proces ukončí komunikaci s klientem. Server po celou dobu komunikace s klientem vytváří logovací soubory standardní a chybový výstup externích programů. Z těchto záznamů se dá zjistit, jaký klient komunikuje se ser-

49 KAPITOLA 6. KLIENT / SERVER SEDEMO A SCWP 33 verem, zda-li výpočet proběhl správně a nebo slouží k hledání chyb, pokud dochází ke špatné komunikaci mezi klientem a serverem. Vytvoření těchto logovacích souborů nebylo triviální záležitostí, protože je musel vytvářet samotný server a ne externí programy. Realizaci vytvoření logovacího systému jsem se inspiroval článkem [8] V následující části budu popisovat, jaké kroky provádí server, aby se mohla realizovat demonstrace: zvýrazňování řeči server provádí zpracování audiosignálu, výsledek se poté vizualizuje v programu SEDemo. rozpoznávání řeči server provádí rozpoznávání mluvené řeči, kterou uloží do textového souboru. Tato uložená řeč pak slouží k hlasovému ovládání WWW stránek. 6.1 Princip fungování demonstrace zvýrazňování řeči Server provádí zvýrazňování řeči a výpočet dat pro zobrazení spektrogramu na základě spouštění externího programu ctucopy [10] ([11]). Server na základě přijatého ID zjistí, zda-li má z přijatého audiosignálu počítat data pro zobrazení spektrogramu a nebo má-li provést zvýraznění řeči výběr algoritmu zvýraznění řeči je také dán hodnotou přijatého ID. Dalším nezbytným parametrem pro spouštění programu ctucopy je přijatá hodnota sample rate audiosignálu. 6.2 Princip fungování demonstrace rozpoznávání řeči V předchozí kapitole jsem se zabýval teorií rozpoznávání řeči. V této části budu popisovat, co je vše třeba udělat, aby mohl server rozpoznávat mluvenou řeč. Server rozpoznává řeč na základě spouštění externích programů, které jsou součástí sady nástrojů HTK. Tyto nástroje rozpoznávají řeč na základě statistických informací. Když si připomeneme obrázek 2.2, tak aby rozpoznávač rozpoznával česká slova, musíme především zajistit tyto vstupní data: akustický signál gramatiku slovník HMM modely elementární řeči Získání akustického signálu Akustický signál je nahrán s pomocí klientského programu SCWP a je uložen do audio formátu WAV. Tento nahraný signál je klientem odeslán na server Vytvoření gramatiky Gramatika definuje pořadí slov ze slovníku, které rozpoznávač využívá k rozpoznání řeči. Rozpoznávač rozpozná pouze ta slova / krátká spojení řeči, která jsou uvedena v gramatice. Vzhledem k tomu, že je rozpoznávač založen na základě statistických metod, tak je velice nevhodné, aby rozpoznávač pracoval pouze s jednou velkou gramatikou slov. Pokud by byla gramatika příliš veliká, rozpoznávač by se často mýlil, čím bude gramatika menší, tím snadněji se bude rozhodovat, které slovo / krátké spojení řeči bylo řečeno.

50 34 KAPITOLA 6. KLIENT / SERVER SEDEMO A SCWP Na základě vytvoření slovníku všech slov, na které reaguje hlasové ovládání WWW stránky a na charakteru demonstrace, jsem vytvořil tři různé gramatiky, které se používají na různých demonstračních html stránkách. Gramatika se definuje v textovém souboru, ale rozpoznávač nepracuje přímo s tímto souborem, ale nejprve ji musí převést do svého formátu, kterému rozumí. Tato konverze se provádí s pomocí nástroje HTK - HParse: HParse gramatika wdnet Výstupní soubor wdnet představuje vygenerovanou vnitřní formu gramatiky, se kterou pracuje rozpoznávač. Způsob vytvoření gramatiky je popsán v dokumentaci [3]. V následující části zobrazuji vytvořené gramatiky. Všechny tři gramatiky mají společnou větev pro ovládání samotné WWW stránky Gramatika intro Tato gramatika slouží k vybrání html stránky, na které je podrobněji demonstrováno hlasové rozpoznání. Následující obrázek 6.3 zobrazuje grafické znázornění navržené gramatiky. Z obrázku lze vidět, že na začátku a na konci akustického signálu se může nebo nemusí nacházet dlouhá pauza (symbol #SIL#). Podle gramatiky může rozpoznávač v jednom kroku reagovat buď na povel nebo na výběr stránky. Obrázek 6.3: Gramatika - intro Vlastní soubor s gramatikou vypadá takto: $povely = dolu nahoru vpřed zpět; $vyber_stranku = Katedra_teorie_obvodů Vytáčení_čísla; ([#SIL#] ( $povely $vyber_stranku ) [#SIL#] )

51 KAPITOLA 6. KLIENT / SERVER SEDEMO A SCWP Gramatika people Tato gramatika slouží k výběru osob, u kterých se má zobrazit kontaktní informace. Následující obrázek 6.4 zobrazuje grafické znázornění navržené gramatiky. Z obrázku lze vidět, že na začátku a na konci akustického signálu se může nebo nemusí nacházet dlouhá pauza (symbol #SIL#). Podle gramatiky může rozpoznávač v jednom kroku reagovat buď na povel nebo na výběr osoby podle jména a příjmení, příjmení a jména, příjmení nebo jen podle jména. Obrázek 6.4: Gramatika - people Vlastní soubor s gramatikou vypadá takto: $lide = Bergl_Petr Bičák_Jan Bolom_Václav Boreš_Petr Bortel_Radoslav Bártů_Marek Chaloupka_Zdenek... $jmena = Antonín Gabriela Ivan Ivana Iveta... $povely = dolu nahoru nápověda vpřed zpět; ([#SIL#] ( $povely $lide $jmena ) [#SIL#] ) Gramatika telephone Tato gramatika slouží k simulaci hlasového vytáčení telefonního čísla. Následující obrázek 6.5 zobrazuje grafické znázornění navržené gramatiky. Z obrázku lze vidět, že na začátku a na konci akustického signálu se může nebo nemusí nacházet dlouhá pauza (symbol #SIL#). Podle gramatiky může rozpoznávač v jednom kroku reagovat buď na povel nebo na sadu jednotlivých číslic oddělených krátkou pauzou (symbol #SP#). Vlastní soubor s gramatikou vypadá takto: $cisla = devět dvě hash hvězdička jedna nula osum pět sedm tři šest čtyři; $povely = dolu nahoru vpřed zpět; ([#SIL#] ( $povely <$cisla #SP#> ) [#SIL#] )

52 36 KAPITOLA 6. KLIENT / SERVER SEDEMO A SCWP Obrázek 6.5: Gramatika - telephone Vytvoření slovníku Slovník definuje slova, která bude rozpoznávač schopen rozpoznat. Slovník se skládá z jednotlivých dvojic - textového přepisu a rozkladu daného slova na jednotlivé fonémy. Rozpoznávač nerozpoznává slova na základě textového popisu daného slova, ale na základě fonémů. Rozklad slova a jeho jazykových variant na jednotlivé fonémy jsem provedl s pomocí programu lexfig. Pro správnou činnost rozpoznávače stačí vytvořit jeden veliký slovník, protože rozpoznávač bude rozpoznávat pouze ta slova, která má uvedena v gramatice. Jednotlivé řádky ve slovníku se nemusejí skládat pouze z jednoho slova, ale mohou se skládat z více různých slov, které jsou mezi sebou odděleny znakem krátké pauzy (#SP#). Navenek se tyto slova chovají, jako jedno slovo. Díky této vlastnosti si mohu ušetřit práci s vyhodnocováním rozpoznaných slov a s tvorbou gramatiky. Když chci na html stránce obsahující členy Katedry teorie obvodů vybrat nějakou osobu, abych o ní získal nějaké informace, tak nemusím provádět výběr osoby na základě extra přijatého jména a extra přijatého příjmení (po té bych musel na základě obou kombinaci prohledávat všechny hypertextové odkazy, než bych nalezl shodu, což by bylo časově náročné), ale provedu výběr osoby na základě jednoho přijatého slova (díky tomu, že slovo bude jedinečné, tak na základě jednoho kroku naleznu příslušný hypertextový odkaz v asociativním poli). Například, pokud budu chtít získat informace o osobě Bergl Petr, tak vytvořím tento záznam ve slovníku: Bergl_Petr b e r g l Bergl_Petr b e r g l sp p e t r Bergl_Petr p e t r sp b e r g l Petr p e t r Danou osobu mohu vybrat na základě: jména, příjmení, jména a příjmení, příjmení a jména. Klíč Bergl Petr je v celém slovníku jedinečný a vznikl sloučením názvu hypertextového odkazu HMM modely elementární řeči HMM modely obsahují statistické vlastnosti elementární řeči, vznikají trénováním z velkých databází řeči. Tyto modely jsem získal od Katedry teorie obvodů. K těmto HMM modelům jsem také získal seznam všech fonémů, které jsou obsaženy v HMM modelech Rozpoznávání řeči Server na základě přijatého ID zjistí, že má provést rozpoznání řeči a také, jakou má k tomu použít gramatiku. Poté volá příslušný skript, který provede rozpoznání mluvené řeči na text. V následující části popíši skript, který provede rozpoznání řeči. Tento skript je principiálně

53 KAPITOLA 6. KLIENT / SERVER SEDEMO A SCWP 37 stejný pro všechny tři gramatiky, liší se jen obsahem gramatiky a místem uložení spouštěcího skriptu. 1 #!/bin/bash 2 3 CESTA_HTK="/home/milase/MilaSE/bin" 4 CESTA_NASTAVENI="/home/milase/MilaSE/rozpoznavac/people" 5 6 if [ $#!= 1 ] 7 then 8 echo "Spatny pocet parametru!" 9 echo "Pouziti: recognize.sh vstupni_soubor_s_prikazem" 10 echo "" 11 exit 1 12 fi echo "$1 $1.mfc" > ${CESTA_NASTAVENI}/codetr.scp 15 echo "$1.mfc" > ${CESTA_NASTAVENI}/test.scp ${CESTA_HTK}/HCopy -A -T 7 -C ${CESTA_NASTAVENI}/config \ 18 -S ${CESTA_NASTAVENI}/codetr.scp ${CESTA_HTK}/HVite -C ${CESTA_NASTAVENI}/config2 \ 21 -o ST -A -T 7 -H ${CESTA_NASTAVENI}/macros \ 22 -H ${CESTA_NASTAVENI}/hmmdefs \ 23 -S ${CESTA_NASTAVENI}/test.scp -l "*" \ 24 -i ${CESTA_NASTAVENI}/recout.mlf \ 25 -w ${CESTA_NASTAVENI}/wdnet -p 0.0 -s 5.0 \ 26 ${CESTA_NASTAVENI}/slovnik \ 27 ${CESTA_NASTAVENI}/monophones sed -f ${CESTA_NASTAVENI}/sed.rules \ 30 ${CESTA_NASTAVENI}/recout.mlf > "$1.command" echo "$1.command" Zobrazený skript se spouští s jedním parametrem, který určuje umístění a jméno souboru, který obsahuje nahraný audiosignál. Audiosignál musí být uložen v audio formátu WAV. Hodnota parametru je uložena v proměnné $1. Proměnná CESTA HTK určuje adresář, který obsahuje programy se sady nástrojů HTK. Proměnná CESTA NASTAVENI určuje adresář, který obsahuje konfigurační soubory pro samotný rozpoznávač. Na řádcích 6 12 se provádí test, zda-li je skript spuštěn se správným počtem parametrů. na řádcích 14 a 15 se dynamicky vytvářejí konfigurační soubory Příkaz HCopy na řádku 17 provede předzpracování audiosignálu. Příkaz HVite na řádku 20 provede vlastní rozpoznání řeči. Výsledek uloží do souboru recout.mlf

54 38 KAPITOLA 6. KLIENT / SERVER SEDEMO A SCWP Význam jednotlivých parametrů příkazů HCopy a HVite je popsán v dokumentaci HTK [3]. Příkaz sed na řádku 29 provede filtraci výsledku: ze souboru odstraní komentář a nedůležité řádky, takže získá pouze požadovaný příkaz. Vzhledem k tomu, že nástroje HTK neumí přímo pracovat s českou diakritikou, jsou česká písmena zaprána v Unicode kódování. Program sed také provádí konverzi Unicode znaků na české znaky (ISO8859-2). Výsledné české slovo je uloženo do souboru $1.command Poslední příkaz na řádku 32 pouze vypíše získané slovo na standardní výstup, čímž se zapíše do logovacího souboru serveru.

55 KAPITOLA 7. INSTALACE PROGRAMŮ NA WEBOVÝ SERVER 39 7 Instalace programů na webový server V následující části popisuji instalaci obou programů (SEDemo a SCWP) na webový server. 7.1 Instalace serveru V této části se bude popisovat instalace serveru, který je společný pro oba programy SEDemo a SCWP, na počítač, na kterém je nainstalovaný Linux a webový server. Spolu s uvedeným popisem zobrazuji i konkrétní příklady postupů, u kterých předpokládám, že je bude provádět Linuxový administrátor, který daným příkazů rozumí a proto je nebudu podrobně popisovat. Všechna nastavení v konfiguračních souborech odpovídají nastavením, která jsou uvedená v příkladech. Pokud se bude server instalovat do jiných adresářů, je třeba upravit i konfigurační soubory serveru! 1. Nejprve se musí v daném operačním systému vytvořit nějaký uživatel, pod kterým se bude spouštět server spolu s programy třetích stran. linux#> useradd -m milase 2. V domovském adresáři nového uživatele je třeba vytvořit nějaký adresář, do kterého se nahrají data serveru. linux#> cd /home/milase linux#> mkdir MilaSE 3. Z přiloženého CD zkopírovat obsah adresáře server/ do nově vytvořeného adresáře. Zkopírován bude archív sedemo scwp-server.tar.bz2, který je třeba rozbalit. linux#> mount /mnt/cdrom linux#> cd /mnt/cdrom/server/ linux#> cp sedemo_scwp-server.tar.bz2 /home/milase/milase/ linux#> cd /home/milase/milase linux#> tar -xvjf sedemo_scwp-server.tar.bz2 Tento archív obsahuje tyto data další adresáře: bin/, ctucopy, cz/, htk-bin/, htk-src/, log/, rc/, rozpoznavac/, tmp/ bin Adresář obsahuje spustitelné soubory programů třetích stran. ctucopy Adresář pro obsahuje zdrojové a binární kódy programu ctucopy. cz Přeložené kódy vlastního serveru htk-bin Adresář pro binární data sady programu HTK. htk-src Adresář pro zdrojová data sady programu HTK. log Adresář pro záznam logovacích informaci od serveru rc Adresář obsahuje spouštěcí rc-skript, který automaticky spouští server po zapnutí nebo restartování počítače. rozpoznavac Adresář obsahující konfigurační soubory rozpoznávače

56 40 KAPITOLA 7. INSTALACE PROGRAMŮ NA WEBOVÝ SERVER tmp Adresář pro ukládání dočasných dat. 4. Z internetové adresy [9] stáhnout zdrojové kódy HTK tools: HTK-3.4.tar.gz a rozbalit je do adresáře htk-src. Podle instalačního návodu uvnitř archívu HTK tools je třeba nástroje HTK přeložit a nainstalovat do adresáře htk-bin. Po instalaci nástrojů HTK je třeba vytvořit symbolické linky na tyto spouštěcí programy: HParse, HVite, HCopy do adresáře bin. linux#> cd /home/milase/milase/bin linux#> ln -s../htk-bin/bin/hparse. linux#> ln -s../htk-bin/bin/hvite. linux#> ln -s../htk-bin/bin/hcopy. 5. Z internetové adresy [10] stáhnout zdrojové kódy programu ctucopy: CtuCopy_ tar.bz2 a rozbalit je do adresáře ctucopy. Podle instalačního návodu uvnitř archívu je třeba program přeložit. Po instalaci programu ctucopy je třeba vytvořit symbolický odkaz na spouštěcí program: ctucopy do adresáře bin. linux#> cd /home/milase/milase/bin linux#> ln -s../ctucopy/ctucopy_3.0.10/release/ctucopy. 6. Zkopírovat rc-skript SEDemoSCWPserver z adresáře rc do systému a vytvořit příslušné odkazy v init levelech, aby se server vždy automaticky spustil po zapnutí nebo restartování počítače. Tento rc-skript je psán pro Linux Fedora Core, pokud v daném počítači je nainstalována jiná verze Linuxu, je třeba tento skript přepsat podle možností daného operačního systému! linux#> cd /home/milase/milase/rc linux#> cp SEDemoSCWPserver /etc/init.d/ linux#> cd /etc/rc0.d linux#> ln -s../init.d/sedemoscwpserver K01SEDemoSCWPserver linux#> cd /etc/rc1.d linux#> ln -s../init.d/sedemoscwpserver K01SEDemoSCWPserver linux#> cd /etc/rc2.d linux#> ln -s../init.d/sedemoscwpserver S99SEDemoSCWPserver linux#> cd /etc/rc3.d linux#> ln -s../init.d/sedemoscwpserver S99SEDemoSCWPserver linux#> cd /etc/rc4.d linux#> ln -s../init.d/sedemoscwpserver S99SEDemoSCWPserver linux#> cd /etc/rc5.d linux#> ln -s../init.d/sedemoscwpserver S99SEDemoSCWPserver linux#> cd /etc/rc6.d linux#> ln -s../init.d/sedemoscwpserver K01SEDemoSCWPserver 7. Pokud je na daném počítači spuštěn firewall, je třeba ho nakonfigurovat tak, aby propouštěl komunikaci z venku na port serveru a zpět. Konkrétní hodnota daného portu je definována ve zdrojovém kódu serveru.

57 KAPITOLA 7. INSTALACE PROGRAMŮ NA WEBOVÝ SERVER Posledním krokem je spuštění samotného serveru. Server pak poté běží pod právy nově vytvořeného uživatele (milase) a také externí programy, které spouští běží pod tímto uživatelem. linux#> /etc/init.d/sedemoscwpserver start 9. Server se ukončí příkazem: /etc/init.d/sedemoscwpserver stop. Status serveru (zda-li běží nebo ne) se zjistí příkazem: /etc/init.d/sedemoscwpserver status. 7.2 Instalace klienta (apletu) SEDemo Zkopírujte z přiloženého CD obsah adresáře klient/sedemo/ do adresáře, ze kterého Váš webový server zobrazuje WWW stránky (/var/www/html/, /home/uživatel/public html/, apod.). Z CD si zkopírujete tyto soubory: sedemo-button.png, sedemo.html, SEDemo.jar s SE- Demo.jnlp,.java.policy. SEDemo.jar Obsahuje přeloženou distribuci programu SEDemo. SEDemo.jnlp Konfigurační soubor pro spuštění programu s pomocí Java Web Start, kde se definuje umístění archívu přeloženého programu (SEDemo.jar), určení minimální verze Javy ke spuštění (pokud v daném systému není nainstalována požadovaná verze, tak se automaticky nabídne možnost stažení požadované verze). <?xml version="1.0" encoding="iso "?> <!-- SEDemo --> <jnlp spec="1.0+" codebase=" href="sedemo.jnlp"> <information> <title>sedemo</title> <vendor>milan Vaclavik vaclam1@fel.cvut.cz</vendor> <homepage href=" start.php?page=demos&lang=cz&sub=sedemo"/> <description>sedemo</description> <description kind="short">zvýrazňování řečového signálu</description> <offline-allowed/> </information> <resources> <j2se version="1.6+"/> <jar href="sedemo.jar"/> </resources> <application-desc main-class="mila.milase"/> </jnlp> sedemo-button.png Obrázek tlačítka, které spouští program SEDemo

58 42 KAPITOLA 7. INSTALACE PROGRAMŮ NA WEBOVÝ SERVER sedemo.html Jednoduchá html stránka (obrázek 7.1), která umožňuje spuštění programu SE- Demo. Ačkoliv je program SEDemo navržen jako aplet (také se dá spustit jako samostatná aplikace), tak velice doporučuji spouštět program s pomocí technologie Java Web Start, než s pomocí značky applet v těle html souboru. Java Web Start umožňuje spouštět aplikace, jako by to byly aplety (automaticky jsou spouštěny se zapnutým modelem zabezpečení viz ), v samostatném okně. Java Web Start také umožňuje spouštět libovolné programy s různými verzemi Javy, aniž by se musel provádět nějaký zásah v systému. Spuštění programu s pomocí Java Web Start je docíleno s pomocí definice hypertextového odkazu v html stránce: <a href="sedemo.jnlp"> Obrázek 7.1: Úvodní html stránka SEDemo.java.policy Soubor zásad zabezpečení pro úspěšné spuštění apletů (viz. kapitola 7.3.1). Tento soubor zásad je nabídnut ke stažení na html stránce sedemo.html SCWP Zkopírujte z přiloženého CD obsah adresáře klient/scwp/ do adresáře, ze kterého Váš webový server zobrazuje WWW stránky (/var/www/html/, /home/uživatel/public html/, apod.). Z CD si zkopírujete tyto soubory: classes/, index.html, namesake.php, people/people, scwp.js, tbinfo.php, telephonebook.php, telephone.html index.html Úvodní stránka rozcestník, ze které se dají zobrazit tyto html stránky: Simulace hlasového vytáčení telefonního čísla. Stránka zobrazující informace o členech Katedry teorie obvodů. telephone.html Stránka umožňující simulaci hlasové vytáčení telefonního čísla. Stránka zobrazuje telefon s displejem, který zobrazuje vytočené telefonní číslo.

59 KAPITOLA 7. INSTALACE PROGRAMŮ NA WEBOVÝ SERVER 43 telephonebook.php Stránka zobrazující seznam lidí na Katedře teorie obvodů. people/people Tento soubor people v adresáři people definuje informace, které se zobrazí u dané osoby. Každý řádek v tomto souboru představuje informace o právě jedné osobě, oddělovačem jednotlivých záznamů je znak &. Jeden vzorový řádek s popisem vypadá takto (ačkoliv příklad zobrazuje čtyři řádky, tak ve skutečnosti jde o dva řádky): # Příjmení Jméno id Tituly Telefon Bártů & Marek & 33 & Ing. & marek.bartu@gmail.com & 2887 Místnost & B3/615 Vztah & Doktorand tbinfo.php Stránka zobrazuje informace o osobě, které jsou napsány v souboru people/people. namesake.php Tato stránka oznamuje, že vybraná osoba ze seznamu nebyla jednoznačně určena osoba byla vybrána podle jména v seznamu se vyskytuje více osob, se stejným jménem, proto je teď třeba vybrat osobu podle jména. scwp.js Definice JavaScriptu, který se používá na html stránkách. classes/ Tento adresář obsahuje přeložený program (aplet) SCWP. 7.3 Nastavení práv apletu / aplikace Model zabezpečení v Javě Aplety šířené v internetu s pomocí WWW prohlížečů představují neodmyslitelnou přítomnost bezpečnostního rizika, neboť cizí kód je spouštěn lokálně. Autoři jazyka Java proto na zmíněné riziko mysleli už při návrhu prvních verzí. Výsledkem je model zabezpečení nazývaný pískoviště (sandbox). Model pískoviště je bezpečnostní prostředí okolo systému či aplikace, které je většinou postaveno na zákazu potenciálně nebezpečných činností (přístup k souborům, k síťovým připojením, apod.). Proto v prostředí jazyka Java existuje mechanismus, který zajišťuje, že jak lokální, tak i vzdálený kód lze spouštět uvnitř specifických bezpečnostních domén založených na souborech zásad zabezpečení (security policy files), jež určují, které programy mohou používat které prostředky. Výchozí bezpečnostní politika jazyka Java je taková, že programy jazyka Java spuštěné lokálně mají plný přístup ke všem souborům a prostředkům poskytovaným systémem hostícím virtuální stroj jazyka Java (model zabezpečení je vypnut). Zatím co programy spuštěné s pomocí WWW prohlížeče aplety jsou automaticky spouštěny se zapnutým modelem zabezpečení a provádějí svoji činnost v rámci působení svého pískoviště, kde je jejich činnost omezena. Vzhledem k tomu, že mé programy SEDemo a SCWP jsou spouštěny uvnitř pískoviště a potřebují přistupovat k systémovým prostředkům, tak je nezbytné, aby se na lokálním počítači vytvořil soubor zásad zabezpečení. Obsah tohoto souboru musí povolit nezbytné akce, které jsou nezbytné ke správné činnosti obou programů. V následující části budu popisovat vytvoření minimálního souboru zásad zabezpečení. S úplným popisem jednotlivých druhů zásad oprávnění se lze seznámit v knize [4].

60 44 KAPITOLA 7. INSTALACE PROGRAMŮ NA WEBOVÝ SERVER Soubory zásad zabezpečení Při instalaci prostředí jazyka Java (JRE - Java Runtime Environment) bez ohledu na to, zda je toto prostředí instalováno samostatně nebo jako součást sady JDK (Java Development Kit), je instalován rovněž konfigurační soubor zabezpečení a implicitní soubor zásad. Konfigurační soubor zabezpečení se nazývá java.security a obsahuje oddíl podobný tomu, co je zobrazen v následujícím výpisu. # The default is to have a single system-wide policy file, # and a policy file in the user s home directory. policy.url.1=file:${java.home}/lib/security/java.policy policy.url.2=file:${user.home}/.java.policy Tento oddíl definuje implicitní soubory zásad, jde o obyčejné textové soubory, které neobsahují formátovací znaky. První soubor představuje výchozí systémové nastavení zásad oprávnění. Proměnná prostředí Javy ${java.home} představuje domovský adresář prostředí JRE (ne JDK!). Vzhledem k tomu, že tento soubor představuje systémový soubor, tak ve většině případů nemůže tento soubor přímo upravovat běžný uživatel. Proto je v zobrazeném výpise definován i uživatelský soubor, který může běžný uživatel upravovat. Implicitně se tento soubor v počítači nenachází, je vytvářen uživatelem teprve tehdy, když ho skutečně potřebuje. Proměnná prostředí Javy ${user.home} představuje domovský adresář právě přihlášeného uživatele. V operačním systému UNIX (Linux) jde o adresář /home/uživatel, v MS Windows jde většinou o adresář (záleží to na konkrétní verzi) C:/Documents and Settings/uživatel Vytvoření vlastního souboru zásad Soubory zásad lze vytvářet a upravovat s pomocí libovolného textového editoru, který neukládá spolu s textem i formátovací znaky (velikost písma, tučné písmo, apod.). K uvedeným činnostem lze také použít nástroj policytool, který je dodáván jako součást sady prostředí Java JDK. Tento nástroj umožňuje ze seznamu zásad vybírat ty zásady, které chceme upravit a také částečně nabízí výběr hodnot, které můžeme nastavit. Následující výpis zobrazuje minimální seznam zásad zabezpečení, který je třeba nastavit, aby mé programy (SEDemo a SCWP) fungovaly správně: grant { permission java.io.filepermission "<<ALL FILES>>", "read, write, delete"; permission java.util.propertypermission "*", "read"; permission javax.sound.sampled.audiopermission "record"; permission java.net.socketpermission "*", "connect"; }; Popis nastavených zásad zabezpečení V následující části popisuji význam minimálního souboru zásad zabezpečení. Třída oprávnění java.io.filepermission S pomocí této třídy FilePermission se uděluje oprávnění k užití souboru nebo adresáře. Tento typ oprávnění vyžaduje dva řetězce. První specifikuje cíl oprávnění (soubor nebo adresář), zatím co druhý řetězec obsahuje seznam operací (činností), které lze s daným objektem vykonávat. << ALL F ILES >> Specifikované operace jsou platné pro všechny soubory a adresáře v daném souborovém systému bez ohledu na umístění.

61 KAPITOLA 7. INSTALACE PROGRAMŮ NA WEBOVÝ SERVER 45 read Program může číst obsah adresářů a souborů. write Program může vyvářet nové soubory a měnit obsah stávajících souborů. delete Program smí mazat soubory a adresáře. Oba programy (SEDemo a SCWP) vytváří v domovském adresáři uživatele adresář, do kterého ukládají dočasné soubory. Program SEDemo umožňuje kamkoliv uložit nahraný signál (řeč). Třída oprávnění java.util.propertypermission Virtuální stroj jazyka Java využívá řadu systémových proměnných. Je-li nepřátelský program schopen upravovat hodnoty systémových vlastností, může narušit správnou funkci ostatních programů spuštěných ve stejné instanci virtuálního stroje jazyka Java. Tato třída oprávnění očekává dvě hodnoty: Název vlastnosti nebo skupiny vlastností, k níž má být udělen přístup. Typ přístupu, který má být udělen. * Nahrazuje všechny vlastnosti. read Aplikace může pouze číst hodnoty systémových proměnných. Oba programy zjišťují, kde je domovský adresář uživatele, aby v něm mohly vytvořit dočasné soubory, k tomu je také třeba znát znak oddělovače adresářů. Třída oprávnění javax.sound.sampled.audiopermission S pomocí této třídy AudioPermission se uděluje oprávnění k používání audio zařízení. record Aplikace může nahrávat data z mikrofonu. Oba programy ke své činnosti vyžadují schopnost nahrávat data z mikrofonu. Třída oprávnění java.net.socketpermission S pomocí této třídy SocketPermission se uděluje oprávnění k používání operací se sokety. Samotné oprávnění se skládá ze dvou položek: Název hostitele (název DNS počítače v síti, případně jeho IP adresa) a port. Seznam akcí, které lze při operacích souvisejících s daným hostitele a portem povolit. * Lze vytvořit připojení k libovolnému počítači dostupného v rámci sítě. connect Umožňuje lokálnímu počítači vytvářet soketové připojení k jiným počítačům. Použitím tohoto pravidla se zamezí zobrazení varovného dialogu, že program navazuje spojení se vzdáleným počítačem.

62 46 KAPITOLA 7. INSTALACE PROGRAMŮ NA WEBOVÝ SERVER

63 KAPITOLA 8. USEABILITY TESTOVÁNÍ WEBOVÉ APLIKACE SEDEMO A SCWP 47 8 Useability testování webové aplikace SEDemo a SCWP 8.1 Účel Otestovat webové rozhraní aplikací SEDemo (demonstrace zvýrazňování řeči) a SCWP (demonstrace rozpoznávání řeči) na WWW stránkách v sekci demonstrace. Je třeba ověřit funkčnost nabízených vlastností a odhalit problematické části programu z hlediska uživatele (špatně navržené prvky programu, složité ovládání,...) 8.2 Cíle testování Otestovat uživatelskou část aplikace SEDemo a hledat problematické oblasti pro uživatele: Nahrát krátký řečový úsek. Prozkoumávání časového průběhu signálu Zoomování průběhu. Přehrávání signálu. Nastavení parametrů pro nahrávání signálu. Výběr filtrů pro zvýraznění řeči. Otestovat uživatelskou část aplikace SCWP a hledat problematické oblasti pro uživatele: Hlasový výběr WWW stránky. Simulace hlasového vytočení čísla Výběr stránky, zobrazující informace o dané osobě Hlasové ovládání WWW stránky Zobrazení předchozí stránky, posun stránky nahoru/dolu. 8.3 Profil uživatele Každý, kdo má minimální zkušenosti s prací s PC a používání mikrofonu Persony Martin Martinovi je 18 let, navštěvuje stření školu už třetím rokem a příští rok ho čeká maturita. Martin je spíše průměrným studentem. Ve volném čase buď fotí zajímavé předměty nebo s kamerou natáčí zajímavé události. S používáním počítače nemá žádné problémy, protože často s jeho pomocí upravuje fotografie/záběry z kamery, občas ho také používá k hraní her, brouzdání po internetu a nebo pro sledování filmů. S počítačem se seznámil už jako malé dítě, protože ho velmi často používal jeho otec k práci. Lenka Lenka je docela plachá dívka, které je 22 let. Před dvěma lety ukončila střední školu. Lenka pracuje jako servírka v malé restauraci. Lenka má doma pět měsíců počítač, který využívá k brouzdání na internetu, čtení ů a k četu s přáteli. Před pár dny se jí podařilo použít spojení s kamarády přes Skype, z čehož byla velmi nadšená. Naneštěstí se jí podařilo smazat nějaké důležité systémové soubory na jejím počítači, takže ho nemohla používat celý týden, než jí ho bratr opravil.

64 48 KAPITOLA 8. USEABILITY TESTOVÁNÍ WEBOVÉ APLIKACE SEDEMO A SCWP 8.4 Testy Screener Úvod Program SEDemo je určen pro užší okruh uživatelů, kteří se zabývají zpracováním řečového signálu. Program demonstruje některé algoritmy pro zvýraznění řeči, proto v cílové skupině testerů se musí vyskytovat nějaká osoba, která se dobře orientuje v této oblasti. Program SCWP demonstruje rozpoznávání řeči hlasové ovládání WWW stránek. Proto je určen pro široký okruh uživatelů, kteří by rádi uvítali hlasové ovládání PC a mají aspoň minimální zkušenosti s používáním počítače. Posouzení zkušeností s používáním PC se bude provádět jednak podle doby, kterou uživatel PC používá a dále podle způsobů, jakým počítač používá Kritéria Počet účastníků: 4. D1: 1 uživatel, který skoro nepoužívá multimediální programy, 1 uživatel který používá multimediální programy, 2 uživatele aktivně se pracující v oblasti zpracování řeči D2: 1 uživatel s menšími zkušenostmi s PC, 1 uživatel s většími zkušenostmi, 2 uživatele s každodenním stykem s PC

65 KAPITOLA 8. USEABILITY TESTOVÁNÍ WEBOVÉ APLIKACE SEDEMO A SCWP Dotazník 1. Používáte počítač [ ] nikdy, nikde [ ] doma [ ] v práci [ ] ve škole [ ] jinde, kde? Jak dlouho počítač používáte? 3. Kolik času u počítače strávíte? [ ] méně než hodinu týdně [ ] hodinu až pět hodin týdně [ ] hodinu až pět hodin denně [ ] více než pět hodin denně 4. Za jakým účelem PC používáte? [ ] programování [ ] přístup k internetu/ u [ ] kancelářská práce (psaní dokumentů) [ ] hraní her [ ] používání multimediálních programů [ ] jiný, jaký? Chtěl by jste mít možnost ovládat PC hlasem? [ ] ano [ ] ne 6. Měl byste zájem zúčastnit se testování internetové aplikace [ ] ano [ ] ne 7. Který den v týdnu a v kolik hodin mát čas? (test může trvat minut) [ ] pondělí, čas [ ] úterý, čas [ ] středa, čas [ ] čtvrtek, čas [ ] pátek, čas [ ] sobota, čas [ ] neděle, čas

66 50 KAPITOLA 8. USEABILITY TESTOVÁNÍ WEBOVÉ APLIKACE SEDEMO A SCWP Seznámení testera s testovanými programy Ke správnému používání programů, musíte mít správně nastaveno nahrávání z mikrofonu ve vašem operačním systému, nainstalovanou Javu (verze 6 a vyšší) a nakonec je třeba nahrát do vašeho počítače soubor Soubor zásad pro Javu Program SEDemo Tento program umožňuje načítat soubory obsahující nahranou řeč a nebo umožní přímo si nahrát nějaký krátký řečový úsek promluvy. Hlavním účelem tohoto programu je demonstrace algoritmů zvýrazňování řeči, kde si může uživatel na základě grafických průběhů signálu (amplitudový průběh, spektrogram) pozorovat rozdíly mezi demonstrovanými algoritmy Program SCWP Tento program demonstruje rozpoznávání řeči hlasové ovládání WWW stránek zobrazení WWW stránky na základě hlasového vybrání hypertextového odkazu, zobrazení předchozí stránky, posun stránky nahoru/dolu, simulace vytáčení telefonního čísla (výběr telefonního čísla na základě jednotlivých číslovek).

67 KAPITOLA 8. USEABILITY TESTOVÁNÍ WEBOVÉ APLIKACE SEDEMO A SCWP Seznam úkolů Seznam úkolů SEDemo 1. Chcete si nahrát seznam úkolů na zítřejší práci (a) Spusťte program SEDemo. (b) Nahrajte nějakou krátkou větu. 2. V nahraném signálu se Vám zdá, že obsahuje příliš šumu z okolí (a) Prozkoumejte spektrogram nahraného signálu: zvětšete / maximalizujte / snižte detail zobrazení signálu. (b) Přehrajte si nahraný signál. 3. Pokuste se vylepšit nahraný signál s pomocí zvýraznění řeči (a) Nastavte filtr: Spektrální odečítání s jednocestným usměrněním VAD. (b) Prozkoumejte spektrogram upraveného signálu. (c) Přehrajte si upravený signál. 4. Rozhodl(a] jste se, že nahraný signál byl nahrán nekvalitně a proto ho nahrajete znovu s lepšími nahrávacími podmínkami (a) Změňte vzorkovací frekvenci nahrávaného signálu na Hz. (b) Nahrajte nový úkol na zítřek. (c) Zvýrazněte řeč s pomocí filtru Spektrální odečítání s dvoucestným usměrněním VAD. (d) Do PC uložte upravený signál - úkol na zítřek Seznam úkolů SCWP VEŠKERÉ ÚKONY SE PROVÁDÍ POUZE HLASEM!!! 1. Chcete zavolat svému kolegovi(kolegyni) a zdělit mu(jí) zajímavé informace (a) Hlasem zobrazte WWW stránku s telefonním přístrojem. (b) Zadejte hlasem telefonní číslo: # (c) Zadejte hlasem telefonní číslo: * Chcete zjistit kontaktní informace o svém učiteli na Katedře teorie obvodů (a) Zobrazte WWW stránku Katedry teorie obvodu. (b) Zobrazte detaily o učiteli Ondřeji Konopkovi (c) Zobrazte detaily o učiteli Hanžlovi (d) Zobrazte detaily o učiteli Petrovi (Struhovský) 3. Chcete zatelefonovat svému kamarádovi Tomáši, zjistěte jeho telefonní číslo, poté vytočte jeho číslo a proberte s ním přípravu na další cvičení.

68 52 KAPITOLA 8. USEABILITY TESTOVÁNÍ WEBOVÉ APLIKACE SEDEMO A SCWP Post-test Post-test SEDemo 1. Jak se Vám líbila webová aplikace SEDemo? (Zakroužkujte svou volbu - číslo) (velmi pěkná) (hrozná) 2. Ovládání aplikace je: (Zakroužkujte svou volbu - číslo) (jednoduché) (složité) 3. Co by jste nejraději změnili a proč? 4. Jaká část aplikace byla pro Vás složitá, nepřehledná a proč? Post-test SCWP 1. Jak se Vám líbilo hlasové ovládání WWW stránek? (Zakroužkujte svou volbu - číslo) (velmi pěkné) (hrozné) 2. Ovládání je: (Zakroužkujte svou volbu - číslo) (jednoduché) (složité) 3. Co by jste nejraději změnili a proč? 4. Jaká část aplikace byla pro Vás složitá, nepřehledná a proč?

69 KAPITOLA 8. USEABILITY TESTOVÁNÍ WEBOVÉ APLIKACE SEDEMO A SCWP Hardwarové vybavení Kvůli testování, že dané programy jsou nezávislé na operačním systému a WWW prohlížeči, tak testování probíhalo na těchto počítačích: 1. varianta: PC: Athlon 1GHz, 758MB RAM OS: Linux (Gentoo) WWW prohlížeč: Mozilla Firefox varianta: PC: Pentium III, 512MB RAM OS: Windows XP Home WWW prohlížeč: Mozilla Firefox Informace o mikrofonu: (Media microphone series, Maxxtro) Directivity omni-directional Frequency response khz Impedance 600 Ω Sensitivity 60 db ± 3 db Cord length 6ft 8.6 Vypracované testy Vyplněné testy od testovaných osob se nachází v příloze B na straně Závěr Testovaní uživatelé měly nejčastěji tyto problémy s testovanými programy a nebo se jim (ne)líbilo: Program SEDemo: Chybí informace, že se skutečně nahrává z mikrofonu. Obrázek 8.1: Useability test - nahrávání řeči V některých stavech programu nejednoznačná možnost přehrávání výstupního programu.

70 54 KAPITOLA 8. USEABILITY TESTOVÁNÍ WEBOVÉ APLIKACE SEDEMO A SCWP Nepřehledné menu. Občas problémy během přehrávání zpomalení celého systému. Nižší kvalita ovládacích ikon, ikony znázorňující zvětšení/snížení detailů nejsou názorné. Obrázek 8.2: Useability test - ovládací panel ikon Program SCWP: Chybí možnost vybrat znak # s pomocí slova křížek. Pokud se hlasem vytáčela čísla hodně pomalu, tak často docházelo k chybě buď se zobrazila úplně jiná číslice a nebo před správnou číslicí se objevila navíc špatná číslice. Častým problémem bylo se dostat pryč ze stránek, kde se demonstrovalo hlasové vytáčení problém s příkazem zpět, která se vyhodnotilo jako číslovka 5 (pět). Uživatelé často začali říkat hlasový povel dříve (v inicializační části rozpoznávače) než měli (správné je říkat příkaz ve fázi Očekávám příkaz ). Když se rychle za sebou zadávaly příkazy a pak se změnila WWW stránka, tak došlo k zamrznutí programu inicializační část nikdy neskončila.

71 KAPITOLA 9. ZÁVĚR 55 9 Závěr V rámci diplomové práce jsem se seznámil s problematikou zvýrazňování a rozpoznávání řeči, kterou jsem demonstroval vytvořením programům, které se zabývají demonstrací zvýrazňování a rozpoznávání řeči. Vytvořil jsem multiplatformní programy aplety, které jsou nezávislé na operační systému a jsou nabízeny širokému okruhu uživatelů s pomocí WWW prohlížeče. Vzhledem k tomu, že oba programy používají ke své správné činnosti i programy třetích stran, které jsou licenčně omezeny, byl jsem nucen navrhnout programy s architekturou klient server, kde uživatel v klientské části nahrává daná signál, který je poté odeslán na server, kde je zpracován proběhne zvýraznění řeči či rozpoznání hlasové promluvy, a výsledek je vrácen klientovi, kde je dále zpracován. Server je navržen tak, aby byl schopen obsloužit požadavky několika klientů najednou jakmile server naváže s pojení s klientem, tak vytvoří nový samostatný proces, který obslouží daného klienta. Hlavní výsledky mé práce lze shrnout v následujících bodech: Vytvořil jsem programy aplety, které jsou nezávislé na daném operačním systému a jsou poskytovány uživatelům s pomocí WWW prohlížeče. Vytvořil jsem klientskou a serverovou část, která umožňuje přenos nahraného audiosignálu po internetu. Server je schopen obsloužit několik klientů najednou. Vytvořil jsem program SEDemo, který umožňuje demonstraci zvýraznění řeči v akustickém signálu. Hlavní činností programu je vizualizace vstupního (nahraného/načteného) signálu a výstupního (po zvýraznění řeči) signálu s pomocí časových průběhů a spektrogramu. Vlastní zvýraznění řeči se provádí na serveru s pomocí spouštění externího produktu třetí strany. Vytvořil jsem program SCWP, který demonstruje rozpoznávání řeči umožňuje hlasové ovládání WWW stránek: pohyb WWW stránky nahoru/dolu, aby se zobrazil skrytý text, pohyb vpřed/vzad v historii WWW stránek, zobrazování nových WWW stránek na základě hlasového výběru hypertextového odkazu. Součástí demonstrace je simulace hlasového vytáčení telefonního čísla. Vlastní rozpoznání mluvené řeči se provádí na serveru s pomocí spouštění externího produktu třetí strany. V programu SCWP, jsem vytvořil výkonový detektor řečové aktivity, který umožňuje výhradně hlasové ovládání WWW stránek. Provedl jsem uživatelské testy programů SEDemo a SCWP s pomocí skupiny testovaných uživatelů. Tyto testy slouží k nalezení možných chyb a ke zlepšení celkové použitelnosti programů pro široký okruh uživatelů. Vytvořil jsem programy, které demonstrují základní algoritmy pro zvýrazňování a rozpoznávání řeči. Programy jsem se snažil vytvářet tak, aby šly dále rozšiřovat pomocí přidaných modulů. V další fázi vývoje programů by se mohly programy rozšířit o další pokročilé algoritmy zvýrazňování a rozpoznávání řeči. Také bude třeba opravit chyby, které byly nalezeny s pomocí uživatelských testů. Tyto demonstrační programy jsou umístěné na WWWW stránkách [18].

72 56 KAPITOLA 9. ZÁVĚR

73 KAPITOLA 10. LITERATURA Literatura [1] Jan Uhlíř - kol.: Technologie hlasových komunikací, Nakladatelství ČVUT, [2] Josef Psutka - kol.: Mluvíme s počítačem česky, Academia, Praha, [3] Young, S. - al.: The HTK Book (for HTK Version 3.4), Cambridge University Engineering Department, Cambridge, GB, [4] Brett Spell: Java programujeme profesionálně, Computer Press, CZ [5] The Java Tutorials - Applets. [6] [příloha CD] Dokumentace popisující činnost programu SEDemo vytvořená s pomocí Javadoc: /javadoc/sedemo/. [7] [příloha CD] Dokumentace popisující činnost programu SCWP vytvořená s pomocí Javadoc: /javadoc/scwp/. [8] Michael C. Daconta: When Runtime.exec() won t - Navigate yourself around pitfalls related to the Runtime.exec() method, JavaWorld.com ( javaworld/jw /jw-1229-traps.html), [9] The Hidden Markov Model Toolkit (HTK): [10] CtuCopy - univerzální nástroj pro zvýrazňování řeči a parametrizaci: Petr Fousek, 2006 [11] Petr Fousek, Petr Pollák : Additive Noise and Channel Distortion-Robust Parametrization Tool - Performance Evaluation on Aurora 2 & 3, EUROSPEECH 2003 [CD-ROM], Berlin: ESCA, 2003, vol. 1, s. 63. ISSN [12] Jan Janeček - kol.: Distribuované systémy - cvičení, Vydavatelství ČVUT, [13] Ian F. Darwin: Java - kuchařka programátora, Computer Press, Brno, [14] Craig A. Lindley: Digital Audio with Java, Prentice Hall, 2000 [15] : The JavaHelp system online help system. [16] : The Java Media Framework API (JMF) enables audio, video and other time-based media to be added to Java applications and applets. [17] Josef Rajnoha: Rozpoznávání řeči v reálných podmínkách na platformě standardního PC, diplomová práce, [18] : Demonstrace zvýrazňování a rozpoznávání řeči, Milan Václavík, 2008.

74 58 KAPITOLA 10. LITERATURA

75 PŘÍLOHA A. UŽIVATELSKÁ PŘÍRUČKA 59 A Uživatelská příručka A.1 SEDemo Obrázek A.1: Program SEDemo Program SEDemo (na obrázku A.1) slouží k demonstraci zvýrazňování řeči. Ke správné činnosti programu musejí být splněny tyto podmínky: A.1.1 A.1.2 Nezbytné nastavení V domovském adresáři uživatele musí existovat soubor zásad zabezpečení pro spouštění apletu. (viz. kapitola 7.3.1). K lokálnímu počítači musí být připojen mikrofon, který je správně nastaven. Žádné zařízení v lokálním počítači nesmí přistupovat ke zvukové kartě, ke které je připojen mikrofon (nesmí se přehrávat žádný zvuk, nahrávat data z mikrofonu a podobně) po dobu používání programu SCWP. Zapnuté a funkční připojení k internetu. Nainstalovanou verzi Java JRE (SDK) 1.6 (6) a vyšší. WWW prohlížeč musí mít zapnutou podporu Javy. Popis ovládání Program SEDemo se skládá z několika částí, které lze vidět na obrázku A.2. část 1. Hlavní ovládací menu umožňuje načítat/ukládat audiosignál, přehrávání/nahrávání audiosignálu, zobrazuje různé grafické průběhy vstupního a výstupního audiosignálu, nastavuje nahrávací vlastnosti mikrofonu, vybírá algoritmy pro zvýraznění řeči, umí změnit

76 60 PŘÍLOHA A. UŽIVATELSKÁ PŘÍRUČKA Obrázek A.2: Popis program SEDemo lokalizaci programu (česká anglická), obsahuje integrovanou nápovědu k celému programu. část 2. Ovládací panel tlačítek programu, která umožňují: ukládání vstupního nebo výstupního audiosignálu, načtení vstupního signálu, nahrávání signálu z mikrofonu, přehrávání vstupního a výstupního signálu, pozastavení a ukončení přehrávání signálu. Poslední tři ikony slouží zoomování grafických průběhů: zvětšení, zmenšení a zobrazení celého průběhu v okně. část 3. Místo pro zobrazení grafických průběhů. Podle přání uživatele se v okně zobrazí buď jeden průběh a nebo dva průběhy. Program umožňuje zobrazovat vždy jen jedno okno s grafickým průběhem signálu. Po nahrávání z mikrofonu nebo načtení audiosignálu ze souboru se vždy automaticky zobrazí grafický průběh: Vstupní signál a vstupní spektrogram. Pokud s program nedokáže spojit se serverem, aby mohl zobrazit spektrogram, tak se zobrazí pouze grafický průběh: Vstupní signál. část 4. Zobrazený vstupní signál. část 5. Zobrazený spektrogram vstupního signálu. část 6. Informační panel, který zobrazuje aktuální informace o zobrazeném signálu: vzorkovací frekvenci audiosignálu, použitý algoritmus zvýraznění řeči, počet zobrazených segmentů a pásem spektrogramu (celkový počet na zobrazeném průběhu, interval právě zobrazených segmentů), počet kanálů zobrazeného audiosignálu (program pracuje pouze s mono signály, pokud se načte stereo signál, tak dojde ke konverzi na mono), zobrazený časový úsek celého zobrazeného průběhu a časy na jednotlivých krajích zobrazeného průběhu signálu.

Základní komunikační řetězec

Základní komunikační řetězec STŘEDNÍ PRŮMYSLOVÁ ŠKOLA NA PROSEKU EVROPSKÝ SOCIÁLNÍ FOND Základní komunikační řetězec PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI Podpora kvality výuky informačních a telekomunikačních technologií ITTEL

Více

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 7.4 13/14

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 7.4 13/14 ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2014 7.4 13/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 13 0:40 Implementace Umělá inteligence (UI) Umělá inteligence

Více

1. Vlastnosti diskretních a číslicových metod zpracování signálů... 15

1. Vlastnosti diskretních a číslicových metod zpracování signálů... 15 Úvodní poznámky... 11 1. Vlastnosti diskretních a číslicových metod zpracování signálů... 15 1.1 Základní pojmy... 15 1.2 Aplikační oblasti a etapy zpracování signálů... 17 1.3 Klasifikace diskretních

Více

Modulární monitorovací systém Gradient Digitální systém pro záznam, archivaci a vyhodnocení telefonie.

Modulární monitorovací systém Gradient Digitální systém pro záznam, archivaci a vyhodnocení telefonie. Modulární monitorovací systém Gradient Digitální systém pro záznam, archivaci a vyhodnocení telefonie. Obsah prezentace. Historie systému Gradient. Popis funkcí systému Gradient. Závěr kontaktní informace.

Více

VY_32_INOVACE_E 15 03

VY_32_INOVACE_E 15 03 Název a adresa školy: Střední škola průmyslová a umělecká, Opava, příspěvková organizace, Praskova 399/8, Opava, 746 01 Název operačního programu: OP Vzdělávání pro konkurenceschopnost, oblast podpory

Více

Automatická detekce anomálií při geofyzikálním průzkumu. Lenka Kosková Třísková NTI TUL Doktorandský seminář, 8. 6. 2011

Automatická detekce anomálií při geofyzikálním průzkumu. Lenka Kosková Třísková NTI TUL Doktorandský seminář, 8. 6. 2011 Automatická detekce anomálií při geofyzikálním průzkumu Lenka Kosková Třísková NTI TUL Doktorandský seminář, 8. 6. 2011 Cíle doktorandské práce Seminář 10. 11. 2010 Najít, implementovat, ověřit a do praxe

Více

Zvuková karta. Zvuk a zvuková zařízení. Vývoj, typy, vlastnosti

Zvuková karta. Zvuk a zvuková zařízení. Vývoj, typy, vlastnosti Zvuk a zvuková zařízení. Vývoj, typy, vlastnosti Zvuková karta Počítač řady PC je ve své standardní konfiguraci vybaven malým reproduktorem označovaným jako PC speaker. Tento reproduktor je součástí skříně

Více

Sítě SFN Systém pro analýzu a vizualizaci pokrytí a rušení vysílacích sítí

Sítě SFN Systém pro analýzu a vizualizaci pokrytí a rušení vysílacích sítí Sítě SFN Systém pro analýzu a vizualizaci pokrytí a rušení vysílacích sítí Sítě SFN ver. 7 je výpočetní systém pro analýzu pokrytí a rušení vysílacích sítí pro služby FM, TV, DVB- T a T-DAB a analýzu a

Více

Zápočtová úloha z předmětu KIV/ZSWI DOKUMENT SPECIFIKACE POŽADAVKŮ

Zápočtová úloha z předmětu KIV/ZSWI DOKUMENT SPECIFIKACE POŽADAVKŮ Zápočtová úloha z předmětu KIV/ZSWI DOKUMENT SPECIFIKACE POŽADAVKŮ 10. 5. 2011 Tým: Simplesoft Členové: Zdeněk Malík Jan Rada Ladislav Račák Václav Král Marta Pechová malikz@students.zcu.cz jrada1@students.zcu.cz

Více

7 Další. úlohy analýzy řeči i a metody

7 Další. úlohy analýzy řeči i a metody Pokročilé metody rozpoznávánířeči Přednáška 7 Další úlohy analýzy řeči i a metody jejich řešení Výsledky rozpoznávání (slovník k 413k) frantisek_vlas 91.92( 90.18) [H= 796, D= 10, S= 60, I= 15, N=866,

Více

Rozpoznávání izolovaných slov (malý slovník, např. číslovky, povely).

Rozpoznávání izolovaných slov (malý slovník, např. číslovky, povely). Rozpoznávání řeči Každý člověk má originální hlasové ústrojí a odlišný způsob artikulace, to se projevuje rozdílnou barvou hlasu, přízvukem, rychlostí řeči atd. I hlas jednoho řečníka je variabilní a závislý

Více

POROVNÁNÍ NĚKTERÝCH SW PRO ZOBRAZENÍ GRAFU FUNKCE DVOU PROMĚNNÝCH

POROVNÁNÍ NĚKTERÝCH SW PRO ZOBRAZENÍ GRAFU FUNKCE DVOU PROMĚNNÝCH POROVNÁNÍ NĚKTERÝCH SW PRO ZOBRAZENÍ GRAFU FUNKCE DVOU PROMĚNNÝCH Martin Fajkus Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky, Ústav matematiky, Nad Stráněmi 4511, 760 05 Zlín, Česká

Více

Úvod do zpracování signálů

Úvod do zpracování signálů 1 / 25 Úvod do zpracování signálů Karel Horák Rozvrh přednášky: 1. Spojitý a diskrétní signál. 2. Spektrum signálu. 3. Vzorkovací věta. 4. Konvoluce signálů. 5. Korelace signálů. 2 / 25 Úvod do zpracování

Více

Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce

Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Katedra mikroelektroniky Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce Zadání Stávající

Více

INFORMAČNÍ SYSTÉM VIDIUM A VYUŽITÍ MODERNÍCH TECHNOLOGIÍ

INFORMAČNÍ SYSTÉM VIDIUM A VYUŽITÍ MODERNÍCH TECHNOLOGIÍ INFORMAČNÍ SYSTÉM VIDIUM A VYUŽITÍ MODERNÍCH TECHNOLOGIÍ Michal Brožek, Dominik Svěch, Jaroslav Štefaník MEDIUM SOFT a.s., Cihelní 14, 702 00 Ostrava, ČR Abstrakt Neustále rostoucí význam sběru dat, možnost

Více

3 METODY PRO POTLAČENÍ ŠUMU U ŘE- ČOVÉHO SIGNÁLU

3 METODY PRO POTLAČENÍ ŠUMU U ŘE- ČOVÉHO SIGNÁLU 3 METODY PRO POTLAČENÍ ŠUMU U ŘE- ČOVÉHO SIGNÁLU V současné době se pro potlačení šumu u řečového signálu používá mnoho různých metod. Jedná se například o metody spektrálního odečítání, Wienerovy filtrace,

Více

REMARK. Perfektně popsaný záznam. Uživatelský manuál

REMARK. Perfektně popsaný záznam. Uživatelský manuál REMARK Perfektně popsaný záznam Uživatelský manuál áudified AUDIFIED REMARK Uživatelský Manuál 2 Obsah Úvod 3 Prostředí programu 3 Nastavení programu 4 Karta Audio 4 Karta Export a přenos 5 Karta Obecné

Více

Práce v textovém editoru

Práce v textovém editoru Práce v textovém editoru 0) Otevřete NOTEPAD a okopírujte celý tento článek do NOTEPADu. [Můžete použít zkratky Ctrl-A (označit vše) Ctrl+C(kopírovat), Ctrl+V (vložit)] 1) Najděte v tomto textu slovo "myš"

Více

9. PRINCIPY VÍCENÁSOBNÉHO VYUŽITÍ PŘENOSOVÝCH CEST

9. PRINCIPY VÍCENÁSOBNÉHO VYUŽITÍ PŘENOSOVÝCH CEST 9. PRINCIPY VÍCENÁSOBNÉHO VYUŽITÍ PŘENOSOVÝCH CEST Modulace tvoří základ bezdrátového přenosu informací na velkou vzdálenost. V minulosti se ji využívalo v telekomunikacích při vícenásobném využití přenosových

Více

ADA Semestrální práce. Harmonické modelování signálů

ADA Semestrální práce. Harmonické modelování signálů České vysoké učení technické v Praze ADA Semestrální práce Harmonické modelování signálů Jiří Kořínek 31.12.2005 1. Zadání Proveďte rozklad signálu do harmonických komponent (řeč, hudba). Syntetizujte

Více

1 Strukturované programování

1 Strukturované programování Projekt OP VK Inovace studijních oborů zajišťovaných katedrami PřF UHK Registrační číslo: CZ.1.07/2.2.00/28.0118 1 Cíl Seznámení s principy strukturovaného programování, s blokovou strukturou programů,

Více

SEMESTRÁLNÍ PRÁCE Z PŘEDMĚTU KVD/GRPR GRAFICKÉ PROJEKTY

SEMESTRÁLNÍ PRÁCE Z PŘEDMĚTU KVD/GRPR GRAFICKÉ PROJEKTY F A K U L T A E K O N O M I C K Á Studijní obor: 6208T086 Podniková ekonomika a management SEMESTRÁLNÍ PRÁCE Z PŘEDMĚTU KVD/GRPR GRAFICKÉ PROJEKTY TÉMA: SYNTÉZA A ROZPOZNÁVÁNÍ ŘEČI TERMÍN: ZS 2006-01-21

Více

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika

Více

Software pro vzdálenou laboratoř

Software pro vzdálenou laboratoř Software pro vzdálenou laboratoř Autor: Vladimír Hamada, Petr Sadovský Typ: Software Rok: 2012 Samostatnou část vzdálených laboratoří tvoří programové vybavené, které je oživuje HW část vzdáleného experimentu

Více

Základní informace: vysoce komfortnímu prostředí je možné se systémem CP Recorder efektivně pracovat prakticky okamžitě po krátké zaškolení.

Základní informace: vysoce komfortnímu prostředí je možné se systémem CP Recorder efektivně pracovat prakticky okamžitě po krátké zaškolení. Základní informace: CP Recorder je v Čechách vyvíjený systém pro sofistikované zaznamenávání telefonních hovorů. V prvé řadě je určen pro optimalizaci služeb, které poskytují u nás stále více populární

Více

Naším cílem je Vaše spokojenost...

Naším cílem je Vaše spokojenost... Vážení zákazníci, Naším cílem je Vaše spokojenost... blahopřejeme Vám, že jste se rozhodli pro nákup nové telefonní ústředny řady ATEUS - NETSTAR od českého výrobce 2N TELEKOMUNIKACE a.s. Současně Vás

Více

Kapitola 1. Signály a systémy. 1.1 Klasifikace signálů

Kapitola 1. Signály a systémy. 1.1 Klasifikace signálů Kapitola 1 Signály a systémy 1.1 Klasifikace signálů Signál představuje fyzikální vyjádření informace, obvykle ve formě okamžitých hodnot určité fyzikální veličiny, která je funkcí jedné nebo více nezávisle

Více

Semestrální práce: Rozpoznání hláskované řeči a převedení na text

Semestrální práce: Rozpoznání hláskované řeči a převedení na text VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta strojního inženýrství Ústav mechaniky těles, mechatroniky a biomechaniky Technická 2, Brno 616 69 RSZ Základy zpracování signálu Semestrální práce: Rozpoznání hláskované

Více

DUM č. 15 v sadě. 31. Inf-7 Technické vybavení počítačů

DUM č. 15 v sadě. 31. Inf-7 Technické vybavení počítačů projekt GML Brno Docens DUM č. 15 v sadě 31. Inf-7 Technické vybavení počítačů Autor: Roman Hrdlička Datum: 24.02.2014 Ročník: 1A, 1B, 1C Anotace DUMu: zvukové karty: zapojení zařízení, vzorkování a kvantování

Více

Komunikace s automaty MICROPEL. správa systému lokální a vzdálený přístup do systému vizualizace, umístění souborů vizualizace

Komunikace s automaty MICROPEL. správa systému lokální a vzdálený přístup do systému vizualizace, umístění souborů vizualizace Komunikace s automaty MICROPEL správa systému lokální a vzdálený přístup do systému vizualizace, umístění souborů vizualizace MICROPEL 02/2014 Základní správu automatu tvoří činnosti: Nastavení základních

Více

1. Základy teorie přenosu informací

1. Základy teorie přenosu informací 1. Základy teorie přenosu informací Úvodem citát o pojmu informace Informace je název pro obsah toho, co se vymění s vnějším světem, když se mu přizpůsobujeme a působíme na něj svým přizpůsobováním. N.

Více

Akustika. Cesta zvuku od hudebního nástroje přes nahrávací a reprodukční řetězec k posluchači

Akustika. Cesta zvuku od hudebního nástroje přes nahrávací a reprodukční řetězec k posluchači Akustika Cesta zvuku od hudebního nástroje přes nahrávací a reprodukční řetězec k posluchači Vzdělávání v rámci projektu Rozvoj výzkumného potenciálu JAMU Princip zvukařiny x s c T R Q O L M Poslech nebo

Více

I. Současná analogová technika

I. Současná analogová technika IAS 2010/11 1 I. Současná analogová technika Analogové obvody v moderních komunikačních systémech. Vývoj informatických technologií v poslední dekádě minulého století digitalizace, zvýšení objemu přenášených

Více

1 Uživatelská dokumentace

1 Uživatelská dokumentace 1 Uživatelská dokumentace Systém pro závodění aut řízených umělou inteligencí je zaměřen na závodění aut v prostředí internetu. Kromě toho umožňuje testovat jednotlivé řidiče bez nutnosti vytvářet závod

Více

Kybernetika a umělá inteligence, cvičení 10/11

Kybernetika a umělá inteligence, cvičení 10/11 Kybernetika a umělá inteligence, cvičení 10/11 Program 1. seminární cvičení: základní typy klasifikátorů a jejich princip 2. počítačové cvičení: procvičení na problému rozpoznávání číslic... body za aktivitu

Více

TESTOVÁNÍ UŽIVATELSKÉHO ROZHRANÍ VIDEO PŘEHRÁVAČE VLC

TESTOVÁNÍ UŽIVATELSKÉHO ROZHRANÍ VIDEO PŘEHRÁVAČE VLC TESTOVÁNÍ UŽIVATELSKÉHO ROZHRANÍ VIDEO PŘEHRÁVAČE VLC Semestrální práce předmětu Tvorba uživatelského rozhraní Y39TUR Vypracoval: Kontakt: Obsah Popis aplikace... 3 Cílová skupina... 3 Testované případy

Více

31SCS Speciální číslicové systémy Antialiasing

31SCS Speciální číslicové systémy Antialiasing ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE 2006/2007 31SCS Speciální číslicové systémy Antialiasing Vypracoval: Ivo Vágner Email: Vagnei1@seznam.cz 1/7 Převod analogového signálu na digitální Složité operace,

Více

Multimediální systémy

Multimediální systémy Multimediální systémy Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI přednášky Literatura Havaldar P., Medioni G.: Multimedia Systems: Algorithms, Standards, and Industry Practices. Course

Více

Komprese dat Obsah. Komprese videa. Radim Farana. Podklady pro výuku. Komprese videa a zvuku. Komprese MPEG. Komprese MP3.

Komprese dat Obsah. Komprese videa. Radim Farana. Podklady pro výuku. Komprese videa a zvuku. Komprese MPEG. Komprese MP3. Komprese dat Radim Farana Podklady pro výuku Obsah Komprese videa a zvuku. Komprese MPEG. Komprese MP3. Komprese videa Velký objem přenášených dat Typický televizní signál - běžná evropská norma pracuje

Více

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý Uživatelský manuál Aplikace GraphViewer Vytvořil: Viktor Dlouhý Obsah 1. Obecně... 3 2. Co aplikace umí... 3 3. Struktura aplikace... 4 4. Mobilní verze aplikace... 5 5. Vytvoření projektu... 6 6. Části

Více

Zvukové rozhraní. Základní pojmy

Zvukové rozhraní. Základní pojmy Zvukové rozhraní Zvukové rozhraní (zvukový adaptér) je rozšiřující rozhraní počítače, které slouží k počítačovému zpracování zvuku (vstup, výstup). Pro vstup zvuku do počítače je potřeba jeho konverze

Více

Systémy pro měření, diagnostiku a testování prototypů II. Odůvodnění vymezení technických podmínek podle 156 odst. 1 písm. c) ZVZ

Systémy pro měření, diagnostiku a testování prototypů II. Odůvodnění vymezení technických podmínek podle 156 odst. 1 písm. c) ZVZ Název veřejné zakázky: Systémy pro měření, diagnostiku a testování prototypů II. Odůvodnění vymezení technických podmínek podle 156 odst. 1 písm. c) ZVZ Technická podmínka: Odůvodnění Zaškolení obsluhy:

Více

Číslicové filtry. Honza Černocký, ÚPGM

Číslicové filtry. Honza Černocký, ÚPGM Číslicové filtry Honza Černocký, ÚPGM Aliasy Digitální filtry Diskrétní systémy Systémy s diskrétním časem atd. 2 Na co? Úprava signálů Zdůraznění Potlačení Detekce 3 Zdůraznění basy 4 Zdůraznění výšky

Více

TELEFONNí LiNKA PREMiUM PRŮVODCE APLIKACí T UC-ONE - PC

TELEFONNí LiNKA PREMiUM PRŮVODCE APLIKACí T UC-ONE - PC TELEFONNí LiNKA PREMiUM PRŮVODCE APLIKACí T UC-ONE - PC úvod Sjednocená komunikace představuje ideální řešení pro společnosti, které chtějí zvýšit svou efektivitu a využít komplexní řešení pro pokrytí

Více

Základní principy přeměny analogového signálu na digitální

Základní principy přeměny analogového signálu na digitální Základní y přeměny analogového signálu na digitální Pro přenos analogového signálu digitálním systémem, je potřeba analogový signál digitalizovat. Digitalizace je uskutečňována pomocí A/D převodníků. V

Více

Obslužný software. PAP ISO 9001

Obslužný software.  PAP ISO 9001 Obslužný software PAP www.apoelmos.cz ISO 9001 červen 2008, TD-U-19-20 OBSAH 1 Úvod... 4 2 Pokyny pro instalaci... 4 2.1 Požadavky na hardware...4 2.2 Postup při instalaci...4 3 Popis software... 5 3.1

Více

Klasifikace Landau-Kleffnerova syndromu

Klasifikace Landau-Kleffnerova syndromu Klasifikace Landau-Kleffnerova syndromu malých dětí 1. Abstrakt Petr Zlatník ČVUT FEL, K13131 Katedra teorie obvodů Tento příspěvěk pojednává o klasifikaci Landau-Kleffnerova syndromu, který se projevuje

Více

Jasové transformace. Karel Horák. Rozvrh přednášky:

Jasové transformace. Karel Horák. Rozvrh přednášky: 1 / 23 Jasové transformace Karel Horák Rozvrh přednášky: 1. Úvod. 2. Histogram obrazu. 3. Globální jasová transformace. 4. Lokální jasová transformace. 5. Bodová jasová transformace. 2 / 23 Jasové transformace

Více

Lineární a adaptivní zpracování dat. 1. ÚVOD: SIGNÁLY a SYSTÉMY

Lineární a adaptivní zpracování dat. 1. ÚVOD: SIGNÁLY a SYSTÉMY Lineární a adaptivní zpracování dat 1. ÚVOD: SIGNÁLY a SYSTÉMY Daniel Schwarz Investice do rozvoje vzdělávání Osnova Úvodní informace o předmětu Signály, časové řady klasifikace, příklady, vlastnosti Vzorkovací

Více

ROZPOZNÁVÁNÍ AKUSTICKÉHO SIGNÁLU ŘEČI S PODPOROU VIZUÁLNÍ INFORMACE

ROZPOZNÁVÁNÍ AKUSTICKÉHO SIGNÁLU ŘEČI S PODPOROU VIZUÁLNÍ INFORMACE TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky a mezioborových inženýrských studií ROZPOZNÁVÁNÍ AKUSTICKÉHO SIGNÁLU ŘEČI S PODPOROU VIZUÁLNÍ INFORMACE AUTOREFERÁT DISERTAČNÍ PRÁCE 2005 JOSEF CHALOUPKA

Více

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012 Vývoj SW pro mobilní zařízení s ios Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie, 6.12.2012 Perspektiva 3 roky zkušeností s vývojem aplikací pro ios 1 rok vývoj pro Android desítky aplikací Obsah

Více

KAPITOLA 2 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ

KAPITOLA 2 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ KAPITOLA 2 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ KLÍČOVÉ POJMY Internet World Wide Web FTP, fulltext e-mail, IP adresa webový prohlížeč a vyhledávač CÍLE KAPITOLY Pochopit, co je Internet

Více

TELEFONNí LiNKA PREMiUM PRŮVODCE NASTAVENíM SLuŽBY MEET-ME KONFERENCE

TELEFONNí LiNKA PREMiUM PRŮVODCE NASTAVENíM SLuŽBY MEET-ME KONFERENCE TELEFONNí LiNKA PREMiUM PRŮVODCE NASTAVENíM SLuŽBY MEET-ME KONFERENCE úvod Služba poskytuje komfortní plánované audio konference stejně jako jednoduché konference bez rezervace. Jednoduchý webový klient

Více

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D.

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D. VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ Ing. Lukáš OTTE, Ph.D. Ostrava 2013 Tento studijní materiál vznikl za finanční podpory

Více

A7B31ZZS 4. PŘEDNÁŠKA 13. října 2014

A7B31ZZS 4. PŘEDNÁŠKA 13. října 2014 A7B31ZZS 4. PŘEDNÁŠKA 13. října 214 A-D převod Vzorkování aliasing vzorkovací teorém Kvantování Analýza reálných signálů v časové oblasti řečové signály biologické signály ---> x[n] Analogově-číslicový

Více

Zpravodaj. Uživatelská příručka. Verze

Zpravodaj. Uživatelská příručka. Verze Zpravodaj Uživatelská příručka Verze 02.01.02 1. Úvod... 3 2. Jak číst tuto příručku... 4 3. Funkčnost... 5 3.1. Seznam zpráv... 5 4. Ovládání programu... 6 4.1. Hlavní okno serveru... 6 4.2. Seznam zpráv...

Více

JUMO LOGOSCREEN 600. Dotyková budoucnost záznamu: Obrazovkový zapisovač

JUMO LOGOSCREEN 600. Dotyková budoucnost záznamu: Obrazovkový zapisovač JUMO LOGOSCREEN 600 Dotyková budoucnost záznamu: Obrazovkový zapisovač Nová generace Obrazovkový zapisovač JUMO LOGOSCREEN 600 je nový úvodní model řady LOGOSCREEN, který je určen pro skutečný provoz na

Více

Architektura počítačů. Zvukové karty

Architektura počítačů. Zvukové karty Architektura počítačů Zvukové karty Zvuková karta Zařízení které slouží k počítačovému zpracování zvuku. Vstupy a výstupy zvukové karty: Analogový výstup pro stereo signál (sluchátka, přední reproduktory)

Více

Direct Digital Synthesis (DDS)

Direct Digital Synthesis (DDS) ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Ing. Radek Sedláček, Ph.D., katedra měření K13138 Direct Digital Synthesis (DDS) Přímá číslicová syntéza Tyto materiály vznikly za podpory

Více

X32MKO - Mobilní komunikace. projekt č.1 Sítě DECT, přenos hlasu, výstavba sítě a její rozšíření

X32MKO - Mobilní komunikace. projekt č.1 Sítě DECT, přenos hlasu, výstavba sítě a její rozšíření 31.10.2007 X32MKO - Mobilní komunikace projekt č.1 Sítě DECT, přenos hlasu, výstavba sítě a její rozšíření měřící skupina č.3 středa 14:30-16:00 Zadání: 1. Vybudování DECT sítě Vybudujte síť DECT podle

Více

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě PHP PHP původně znamenalo Personal Home Page a vzniklo v roce 1996, od té doby prošlo velkými změnami a nyní tato zkratka znamená Hypertext Preprocessor. PHP je skriptovací programovací jazyk, určený především

Více

Rozcestník virtuálních světů

Rozcestník virtuálních světů České vysoké učení technické v Praze Fakulta elektrotechnická Semestrální projekt Rozcestník virtuálních světů Radek Loucký Vedoucí práce: Mgr. Jiří Danihelka Studijní program: Softwarové technologie a

Více

1. Podmínky chodu aplikace

1. Podmínky chodu aplikace 1 / 15 1. Podmínky chodu aplikace Licenční instalace určení pro značku, lokální instalace, nebo síťová licencovaná MAS serverem. 1.1. Instalace podpory MicroCat na lokální stanici Na dané stanici musí

Více

25. DIGITÁLNÍ TELEVIZNÍ SIGNÁL A KABELOVÁ TELEVIZE

25. DIGITÁLNÍ TELEVIZNÍ SIGNÁL A KABELOVÁ TELEVIZE 25. DIGITÁLNÍ TELEVIZNÍ SIGNÁL A KABELOVÁ TELEVIZE Digitalizace obrazu a komprese dat. Uveďte bitovou rychlost nekomprimovaného číslicového TV signálu a jakou šířku vysílacího pásma by s dolním částečně

Více

NÁVOD K POUŽITÍ. IP kamerový systém.

NÁVOD K POUŽITÍ. IP kamerový systém. NÁVOD K POUŽITÍ IP kamerový systém www.slkamery.cz 1 1. Práce se systémem CMS 1. Instalace aplikace Aplikaci CMS nainstalujeme z přiloženého CD. Pokud není CD součástí balení, stáhneme instalační soubory

Více

Webové stránky. 16. Obrázky na webových stránkách, optimalizace GIF. Datum vytvoření: 12. 1. 2013. str ánk y. Vytvořil: Petr Lerch. www.isspolygr.

Webové stránky. 16. Obrázky na webových stránkách, optimalizace GIF. Datum vytvoření: 12. 1. 2013. str ánk y. Vytvořil: Petr Lerch. www.isspolygr. Webové stránky 16. Vytvořil: Petr Lerch www.isspolygr.cz Datum vytvoření: 12. 1. 2013 Webové Strana: 1/6 Škola Ročník Název projektu Číslo projektu Číslo a název šablony Autor Tématická oblast Název DUM

Více

CW01 - Teorie měření a regulace

CW01 - Teorie měření a regulace Ústav technologie, mechanizace a řízení staveb CW01 - Teorie měření a regulace ZS 2014/2015 tm-ch-spec. 1.p 2014 - Ing. Václav Rada, CSc. Ústav technologie, mechanizace a řízení staveb Teorie měření a

Více

Karel Mikuláštík Katedra radioelektroniky, ČVUT-FEL Radiokomunikace 2016, Pardubice

Karel Mikuláštík Katedra radioelektroniky, ČVUT-FEL Radiokomunikace 2016, Pardubice Karel Mikuláštík Katedra radioelektroniky, ČVUT-FEL Radiokomunikace 2016, Pardubice 18.10.2016 Úvod Zabezpečení signálu/pokrytí datová kapacita Větší počet stanic v MUXu => nižší kapacita/stanici Zvuková

Více

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

Popis programu EnicomD

Popis programu EnicomD Popis programu EnicomD Pomocí programu ENICOM D lze konfigurovat výstup RS 232 přijímačů Rx1 DIN/DATA a Rx1 DATA (přidělovat textové řetězce k jednotlivým vysílačům resp. tlačítkům a nastavovat parametry

Více

Multimediální systémy

Multimediální systémy Multimediální systémy Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI přednášky Literatura Havaldar P., Medioni G.: Multimedia Systems: Algorithms, Standards, and Industry Practices. Course

Více

ROZPOZNÁNÍ TITULU GRAMOFONOVÉ DESKY PODLE KRÁTKÉ UKÁZKY

ROZPOZNÁNÍ TITULU GRAMOFONOVÉ DESKY PODLE KRÁTKÉ UKÁZKY ROZPOZNÁNÍ TITULU GRAMOFONOVÉ DESKY PODLE KRÁTKÉ UKÁZKY V. Moldan, F. Rund Katedra radioelektroniky, fakulta elektrotechnická České vysoké učení technické v Praze, Česká republika Abstrakt Tento článek

Více

Vypracoval: Ing. Antonín POPELKA. Datum: 30. června 2005. Revize 01

Vypracoval: Ing. Antonín POPELKA. Datum: 30. června 2005. Revize 01 Popis systému Revize 01 Založeno 1990 Vypracoval: Ing. Antonín POPELKA Datum: 30. června 2005 SYSTÉM FÁZOROVÝCH MĚŘENÍ FOTEL Systém FOTEL byl vyvinut pro zjišťování fázových poměrů mezi libovolnými body

Více

Speciální struktury číslicových systémů ASN P12

Speciální struktury číslicových systémů ASN P12 Aplikace UNS v syntéze řeči modelování prozodie druhy syntezátorů Umělé neuronové sítě pro modelování prozodie Rozdíly mezi přirozenou a syntetickou řečí Požadavky: zlepšování srozumitelnosti zlepšování

Více

Vzdělávací obsah vyučovacího předmětu

Vzdělávací obsah vyučovacího předmětu V.9.3. Vzdělávací obsah vyučovacího předmětu Vzdělávací oblast: Inormatika a informační a komunikační technologie Vyučovací předmět: Informatika Ročník: 1. ročník + kvinta chápe a používá základní termíny

Více

SIMULACE JEDNOFÁZOVÉHO MATICOVÉHO MĚNIČE

SIMULACE JEDNOFÁZOVÉHO MATICOVÉHO MĚNIČE SIMULE JEDNOFÁZOVÉHO MATICOVÉHO MĚNIČE M. Kabašta Žilinská univerzita, Katedra Mechatroniky a Elektroniky Abstract In this paper is presented the simulation of single-phase matrix converter. Matrix converter

Více

A4300BDL. Ref: JC

A4300BDL. Ref: JC # Uživatelský manuál A4300BDL Aplikace :! Jednoduchý program umožňující přenos souboru s pochůzkou k měření z programu DDS 2000 do přístroje řady Adash 4300! Jednoduchý program umožňující přenos naměřených

Více

základní vlastnosti, používané struktury návrhové prostředky MATLAB problém kvantování koeficientů

základní vlastnosti, používané struktury návrhové prostředky MATLAB problém kvantování koeficientů A0M38SPP - Signálové procesory v praxi - přednáška 4 2 Číslicové filtry typu FIR a IIR definice operace filtrace základní rozdělení FIR, IIR základní vlastnosti, používané struktury filtrů návrhové prostředky

Více

Instalace a první spuštění Programu Job Abacus Pro

Instalace a první spuštění Programu Job Abacus Pro Instalace a první spuštění Programu Job Abacus Pro Pro chod programu je nutné mít nainstalované databázové úložiště, které je připraveno v instalačním balíčku GAMP, který si stáhnete z našich webových

Více

Telefon, fax a diktafon

Telefon, fax a diktafon Variace 1 Telefon, fax a diktafon Autor: Mgr. Jaromír JUŘEK Kopírování a jakékoliv další využití výukového materiálu je povoleno pouze s uvedením odkazu na www.jarjurek.cz. 1. Telefon, fax a diktafon Telefon

Více

4x standardní vstupy

4x standardní vstupy Uvedení do provozu Toto DVR je speciálně vyrobeno pro USB rozhraní, USB3104 převádí videosignál pomocí USB do počítače. Má vkusný černý design a malou velikost, umožňuje jednoduché připojení k počítači.

Více

UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Katedra softwarových technologií

UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Katedra softwarových technologií UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Katedra softwarových technologií Softwarový nástroj pro tvorbu a správu genealogických dat Manuál pro uživatele Bc. František Hlaváček Součást

Více

E-learningovýsystém Moodle

E-learningovýsystém Moodle E-learningovýsystém Moodle Jan Povolný Název projektu: Věda pro život, život pro vědu Registrační číslo: CZ.1.07/2.3.00/45.0029 Co je to Moodle? - systém pro tvorbu a správu elektronických výukových kurzů

Více

xrays optimalizační nástroj

xrays optimalizační nástroj xrays optimalizační nástroj Optimalizační nástroj xoptimizer je součástí webového spedičního systému a využívá mnoho z jeho stavebních bloků. xoptimizer lze nicméně provozovat i samostatně. Cílem tohoto

Více

Hospodářská informatika

Hospodářská informatika Hospodářská informatika HINFL, HINFK Vytvořeno s podporou projektu Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu reg.

Více

ZEMĚMĚŘICKÝ ÚŘAD. Uživatelská příručka - Metadatový editor MDE. Pod Sídlištěm 9/1800, Praha 8. Verze IS nebo části IS: 1.01. Účel poslední změny:

ZEMĚMĚŘICKÝ ÚŘAD. Uživatelská příručka - Metadatový editor MDE. Pod Sídlištěm 9/1800, Praha 8. Verze IS nebo části IS: 1.01. Účel poslední změny: ZEMĚMĚŘICKÝ ÚŘAD Pod Sídlištěm 9/1800, Praha 8 Uživatelská příručka - Metadatový editor MDE Verze IS nebo části IS: Účel poslední změny: Počet listů dokumentu: 1.01 úprava dokumentace 8 Číslo jednací dokumentu:

Více

1. Přednáška: Obecné Inf. + Signály a jejich reprezentace

1. Přednáška: Obecné Inf. + Signály a jejich reprezentace 1. Přednáška: Obecné Inf. + Signály a jejich reprezentace 1 Obecné informace Změna rozvrhů Docházka na cvičení 2 Literatura a podklady Základní učební texty : Prchal J., Šimák B.: Digitální zpracování

Více

gdmss Lite Android DVR Mobile Client Návod k obsluze aplikace

gdmss Lite Android DVR Mobile Client Návod k obsluze aplikace gdmss Lite Android DVR Mobile Client Návod k obsluze aplikace Pouze pro telefony se systémem Android Obsah 1. VŠEOBECNÉ INFORMACE... 3 1.1 Úvod... 3 1.2 Funkce... 3 1.3 Technické požadavky na provoz aplikace...

Více

www.zlinskedumy.cz Střední průmyslová škola Zlín

www.zlinskedumy.cz Střední průmyslová škola Zlín VY_32_INOVACE_31_12 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední

Více

5. Umělé neuronové sítě. Neuronové sítě

5. Umělé neuronové sítě. Neuronové sítě Neuronové sítě Přesný algoritmus práce přírodních neuronových systémů není doposud znám. Přesto experimentální výsledky na modelech těchto systémů dávají dnes velmi slibné výsledky. Tyto systémy, včetně

Více

Profilová část maturitní zkoušky 2017/2018

Profilová část maturitní zkoušky 2017/2018 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

Úvod do praxe stínového řečníka. Proces vytváření řeči

Úvod do praxe stínového řečníka. Proces vytváření řeči Úvod do praxe stínového řečníka Proces vytváření řeči 1 Proces vytváření řeči člověkem Fyzikální podstatou akustického (tedy i řečového) signálu je vlnění elastického prostředí v oboru slyšitelných frekvencí.

Více

Lineární a adaptivní zpracování dat. 1. ÚVOD: SIGNÁLY, ČASOVÉ ŘADY a SYSTÉMY

Lineární a adaptivní zpracování dat. 1. ÚVOD: SIGNÁLY, ČASOVÉ ŘADY a SYSTÉMY Lineární a adaptivní zpracování dat 1. ÚVOD: SIGNÁLY, ČASOVÉ ŘADY a SYSTÉMY Daniel Schwarz Investice do rozvoje vzdělávání Osnova Úvodní informace o předmětu Signály, časové řady klasifikace, příklady,

Více

Teorie systémů TES 3. Sběr dat, vzorkování

Teorie systémů TES 3. Sběr dat, vzorkování Evropský sociální fond. Praha & EU: Investujeme do vaší budoucnosti. Teorie systémů TES 3. Sběr dat, vzorkování ZS 2011/2012 prof. Ing. Petr Moos, CSc. Ústav informatiky a telekomunikací Fakulta dopravní

Více

Přenos signálů, výstupy snímačů

Přenos signálů, výstupy snímačů Přenos signálů, výstupy snímačů Topologie zařízení, typy průmyslových sběrnic, výstupní signály snímačů Přenosy signálů informací Topologie Dle rozmístění ŘS Distribuované řízení Většinou velká zařízení

Více

Nabídky spolupráce pro průmysl

Nabídky spolupráce pro průmysl Nabídky spolupráce pro průmysl České vysoké učení technické v Praze kontakty Prof. Ing. Pavel Sovka, CSc., e-mail: sovka@fel.cvut.cz doc. Dr. Ing. Jiří Hospodka, email: hospodka@fel.cvut.cz 17. dubna 2012

Více

Akustika pro posluchače HF JAMU

Akustika pro posluchače HF JAMU Akustika pro posluchače HF JAMU Zvukové vlny a kmity (1) 2 Vnímání zvuku (3) 2 Akustika hudebního nástroje (2) 2 Akustika při interpretaci (2) 3 Záznam hry na hudební nástroje (2) 4 Seminární a samostatné

Více

Obsah SLEDOVÁNÍ PRÁCE... 4

Obsah SLEDOVÁNÍ PRÁCE... 4 Co je nového Obsah SLEDOVÁNÍ PRÁCE...... 4 Konfigurace souboru... 5 Globální konfigurace... 6 Soubory... 6 Projekty... 6 Uživatelské rozhraní... 7 Synchronizace... 7 Typ serveru... 8 Test připojení...

Více

OBSAH. 1. Úvod Požadavky na SW vybavení... 3

OBSAH. 1. Úvod Požadavky na SW vybavení... 3 Obsah OBSAH 1. Úvod... 3 1.1 Požadavky na SW vybavení... 3 2. Popis Reliance J... 4 2.1 Start vizualizace... 4 2.2 Hlavní okno... 5 2.2.1 Menu Služby... 6 2.2.2 Menu Nápověda... 8 2.3 Nastavení hodnoty...

Více

Středoškolská technika SCI-Lab

Středoškolská technika SCI-Lab Středoškolská technika 2016 Setkání a prezentace prací středoškolských studentů na ČVUT SCI-Lab Kamil Mudruňka Gymnázium Dašická 1083 Dašická 1083, Pardubice O projektu SCI-Lab je program napsaný v jazyce

Více