VýRČe DiAna1 je projekt o rozpoznávání českých nářečí ze zvukových nahrávek. Související softwarový nástroj umožňuje sběr a analýzu nasbíraných nahrávek pro analýzu nářečí. Skládá se ze dvou částí - serverové a klientské. Na serverové části se definují nahrávací scénáře a všechna nastavení pro sběr a analýzu. Aplikace vyžaduje pro běh Javu 5 nebo vyšší. Všechny související soubory lze stáhnout na stránce projektu. Server se spouští z příkazové řádky příkazem: java -jar Server.jar konfigurační-soubor
Pro kontrolu nastavení si stáhněte Klienta, vyžaduje alespoň Javu 6 a spouští se: java -jar Klient.jar
Příprava Stáhněte si Server ze stránky projektu a rozbalte jej. Pro vyzkoušení jsou zde připravené dvě modelové konfigurace. Na jednodušší verzi budeme vysvětlovat možnosti nastavení serveru. Jednoduchá konfigurace je ve dvou verzích: configfile-simple-lin.xml pro linuxové platformy, configfile-simple-win.xml pro Windowsové platformy. Obě nastavení jsou stejná, ale nastavení pro platformy windows neobsahuje modelový skript pro „analýzu“, ten je připraven pouze jako jednoduchý skript pro shell. Všechny související soubory pro ukázkovou konfiguraci jsou v souboru setfiles-simple. Pro spuštění serveru s modelovým nastavením použijte příkaz: java -jar Server.jar configfile-simple-lin.xml
nebo java -jar Server.jar configfile-simple-win.xml
Konfigurace serveru Server se nastavuje pomocí xml souborů které obsahují veškeré důležité informace. Existují dva typy konfiguračních souborů: • Hlavní konfigurační soubor Předává se při spuštění jako parametr a skládá se ze dvou částí - úvodní parametry pro spuštění serveru a nahrávací scénář. • Setting pro znovupřipojení Vytváří je server za běhu a používají se pro navazování starších spojení. Úvodní nastavení serveru
V úvodní části nastavení serveru je potřeba sada informací pro nastavení parametrů spojení. Pro vytváření spojení server potřebuje číslo portu, na kterém bude poslouchat. Server otevírá pro každé spojení nové vlákno, takže musí být omezené množství vláken spojení. Protože je kapacita omezená, kontroluje se aktivita vláken, aby neaktivní spojení nedržely prostředky. Určují tedy časové kontroly aktivity a neaktivní vlákna jsou vražděna za lenost. Specifikuje je interval kontroly a maximání dovolená doba neaktivity. Server pak během sběru dat bude vytvářet jednoduchou strukturu korpusu ve zvláštní složce, data 1 Zkratka z "Výslovnostní rysy češtiny - dialektová analýza"
Vendula Michlíková
2012/2013
od mluvčích bude třídit pomocí ID spojení. V konfiguraci se také určuje audio formát ve kterém chceme, aby nám mluvčí nahrávali data.
Nahrávací scénář se jmenuje sada (set) a skládá se z jednotlivých obrazovek (set members) s pokyny k nahrávání. Každá obrazovka definuje jeden „vzhled“ okna zobrazený na klientské straně. Každá taková obrazovka pak produkuje buď audio nebo textovou informaci. Máme celkem 4 typy definic nahrávacích obrazovek: • UniSM Univerzální prvek scénáře pro běžné použití, definuje právě jednu obrazovku. • TxtFileSM Umožňuje jednodušší zápis pro zobrazení několika po sobě jdoucích obrazovek stejného vzhledu. • AnalyzeSM Po odeslání standardní obrazovky spustí vybraný příkaz pro spuštění externích programů, příp. skriptů. • GeneratedSM Vygenerovaný prvek scénáře, předpokládá se že bude vytvořen až za běhu pro konkrétního uživatele. Tyto způsoby definic jsou postupně použity v jednoduchém nastavení a jejich specifika si vysvětlíme na příkladech. Zatím ale obecně, každá obrazovka scénáře potřebuje tyto elementy: • • • • • •
- soubor s XML pro design obrazovky withRec - true /false informace, jestli obrazovka má nahrávat zvuk nebo ne maxLength - maximální délka nahrávky files - seznam doplňujících souborů resets - struktura resetů design
desc, itemNumber, itemTotal
- popisy prvků pro logování a zobrazení postupu nahrávací sadou Vendula Michlíková
2012/2013
1. obrazovka - dotazník
První obrazovka v ukázkovém scénáři je vstupní dotazník. Je to univerzální prvek scénáře typu uniSM a neprodukuje zvuk ale textové informace o mluvčím. Pokud se v Klientovi připojíte k běžícímu serveru, uvidíte obrazovku na obrázku 3. Definuje jej XML definice na obrázku 2.
Obrázek 2: Nastavení dotazníkové obrazovky
Obrázek 3: Výsledná obrazovka
Jak jsme výsledku docílili teď probereme postupně po jednotlivých složkách definice - začneme s designem okna a pak si vysvětlíme přenastavování komponenty.
Vendula Michlíková
2012/2013
Designový soubor
Designový soubor, který definuje vzhled obrazovky na klientské části je ve formátu XML a na straně kliena se renderuje pomocí knihovny SWIXml. Tato knihovna generuje z XML souborů objekty javax.swing. Tyto designové soubory obsahují objekty a jejich rozmístění, které jsou sdruženy v panelu, který se musí jmenovat include, protože tak jej bude Klient zpracovávat. Ukázkový design pro tuto obrazovku není příliš pěkný, protože používá GridBagLayout, ale když z něj ponecháme pouze jednotlivé objekty, je pak výsledný vzhled okna zcela jasný: <panel id="include">