Uživatelské nástroje

Nástroje pro tento web


projekty:psychoakusticke_testy:navrh_dsl_jazyka

PsychoAcousticTest-DSL

Doménově specifický jazyk pro definici psychoakustických testů:

syntax definice příklad
test [jmeno testu] na prvním řádku definice testu, jméno testu je použito jako pojmenování uložené v databázi
test demotest
  [screen|screen per 1|screen per 2]
  stimulus [filename]
  [task]
  [values|scalevalues|edit|scale]
# [poznamka] komentář je ignorován
# anytext
// [poznamka]
komentář je ignorován
// anytext
text [any text] text, který se zobrazí na dané obrazovce včetně HTML značek
text Uslyšíte <b>zvuk</b>.  
stimulus [filename.wav] [filename.ogg] [“[„starttime,duration“]“] [filename2.wav] [filename2.ogg] stimuli (audio (mp3,wav,ogg), video (mp4)), které lze na obrazovce přehrát, musí odkazovat na existující wav, mp3, ogg, mp4, jpg, png a txt soubor dostupný na serveru, soubory se stejným jménem a jinou příponou generují varianty pro prohlížeč, soubor s jiným jménem generuje další stimul (tlačítko pro audio, video) na obrazovce. Pokud se použije parametry <b>starttime</b> a <b>duration</b> v hranatých závorkách pak pro audio to určí interval, který se ze zvukového souboru přehraje.
stimulus trombone.wav [1000,3000] 

vykreslí tlačítko play, které po stisku přehraje zvuk ze souboru trombone.wav od 1 sekundy po dobu 3 sekund

task [Nazev otazky] Vygeneruje formulář, který sbírá odpověď na danou otázku
task Hrubost zvuku 
values chraplavy, drsny, dusny
values [1,2,3,…] Předdefinované hodnoty na otázku na předchozím řádku oddělené čárkou nebo mezerou, hodnota v uvozovkách může obsahovat mezery a čárky
 task Hrubost zvuku 
  values jemný,ostrý,hrubý,tupý
valuesonrow [1,2,3,…] viz předchozí, hondoty jsou vykresleny na řádek
 task Hrubost zvuku 
  valuesonrow jemný,ostrý,hrubý,tupý
checkboxvalues [1,2,3,…] Předdefinované hodnoty na otázku na předchozím řádku oddělené čárkou nebo mezerou, lze vybrat 0 az vsechny hodnoty
 task Hrubost zvuku 
  checkboxvalues jemný,ostrý,hrubý,tupý
checkboxvaluesonrow [1,2,3,…] viz předchozí, hondoty jsou vykresleny na řádek.
 task Hrubost zvuku 
  checkboxvaluesonrow jemný,ostrý,hrubý,tupý
screen definuje následující obrazovku, v testu dostupnou pomocí tlačítka dál
screen
  text Uslyšíte zvuk pozounu. 
  stimulus trombone.wav
  task Hrubost zvuku 
  values jemný,ostrý,hrubý,tupý
screen per 1 [nazev obrazovek] Pro kazdy radek stimulu generuje obrazovku se shodnymi tasky
screen per 1 Ohodnotte zvuky
  stimulus trumpets.wav
  stimulus trombone.wav
  # pozor zvuky musi byt na 
  # zacatku definice 
  text Kategoricky test ohodnotte zvuky
  task Hrubost zvuku
  values 0,1,2,3,4,5
  task Barva zvuku
  task Chuť zvuku
  
screen per 2 [screen names] Párový test, ze vsech radku stimulu generuje vsechny kombinace párů a pro každou kombinaci vytvoří obrazovku - pro 2 zvuky 1, pro 3 zvuky 3, pro 4 zvuky 6, atd.
screen per 2 Párový test
  stimulus trumpets.wav
  stimulus trombone.wav
  stimulus trumpets.wav
  # pozor zvuky musi byt 
  # na zacatku definice paroveho testu
  text porovnejte zvuky
  taskforstimuli Hrubost zvuku
  values 1,2,3,4,5
  task Ktery zvuk je hlasitejsi
  values prvni druhy
  task Ktery zvuk je prijemnejsi  
  values prvni druhy
taskforstimuli Otázka se týká každého stimulu z vygenerovaného páru, pro každý stimul se vytvoří otázka s příponou #1 nebo #2 podle toho, kterého ze stimulu se otázka týká
taskforstimuli Jaká je hrubost zvuku
 values zadny malo hodne velmi
scalevalues Hodnocení zvuku nebo více zvuku pomocí škály s výčtem hodnot
task ohodnoťte ostrost
  scalevalues jemný střední ostrý
scale Hodnocení na číselné škále, kde některým hodnotám může být přiřazen vysvětlující text
task Vyberte hlasitost
  scale 0 100 0 málo 33 středně 66 velmi 100 moc
edit [?] Vygeneruje textové pole, do kterého lze zapsat slovní popis stimulu. Pokud je přidán otazník za klíčovým slovem popis, pak odpověď není vyžadována pro pokračování či uložení testu.
task Popište zvuk
  edit
task Jaké máte pocity při poslouchání
  edit?
ranking2d [popis osy X];[popis osy Y] Grafické pole, pro každý zvuk přítomný na dané obrazovce vytvoří ikonu, která je iniciálně vlevo a dá se myší přemístit v 2d poli, na obrazovce může být max. 1 takovýto prvek. Výsledkem je pole souřadnic ve tvaru „X1,Y1 X2,Y2“ tj. koordináty ikony X-ová 0-800 zleva doprava a Y-ová 0-150 ze shora dolů.
serad2d popis_x popis_y
randomintuple nastavuje, že stimuli se v rámci n-tice (stimuly na řádku) promíchají v testu náhodně
randomstimuli nastavuje, že stimuli v rámci screen per 1 a screen per 2 se promíchají náhodně
randomscreen nastavuje, že všechny obrazovky v testu se při vykonávání promíchají v náhodném pořadí.
screenset FIXME – skupina svazanych obrazovek
select Vytvori dropdown list s hodnotami pro task
task Vyberte
  select prvni druhy treti ctvrty paty
type [educational, nopreviousbutton/yespreviousbutton] definuje typ testu a dalsi nastaveni, edukacni mod, zobrazeni a umozneni vratit se o obrazovku zpet.
type educational, nopreviousbutton
panel obsahuje v sobe pouze informacni text, bez otazky a odpovedoveho pole
panel
    text Ted se zamerte na druhou polovinu zaznamu<b>
  task Jaky je zvuku
    values malodrsny velmidrsny

Styly

Styly jsou nepovinna soucast jazyka a mohou se menit, definuje styl pro vybrany element, nebo skupinu elementu.

stylpopis
screen Obrazovka
#style max-width:40em 
Definuje styl pro konkretni obrazovku, co nasleduje za #style je pridano jako styl HTML.body. V tomto pripade se zuzi obrazovka.
  stimulus F1-volani.wav   
  #style float:none; margin:auto;
  #stylebutton padding:10px; font-size:1.5em;
Definuje styl pro stimuli. Jednak pro nadrazeny element „nav“ nebo „td“ clasy “.stimulus“. #stylebutton pak definuje styl pro vsechny tlacitka, tj. zvuky. V tomto pripade jsou zvuky uprostred a vycentrovane na radce, tlacitka navic jsou zvetsena s odsazenim padding a velikosti fontu 1.5x.
    task G
  #style background-color:lightblue;
  #styleform float:left; width:20%;
Styl pro oblast, kde jsou tasky. V tomto pripade je nastaveno pozadi svetlemodre. #styleform navic definuje styl pro vsechny <form> v ramci tasku, v tomto pripade se rozlozi zleva se sirkou 20% - tj. 5 se jich vejde na sirku obrazovky, pokud je 40% obsazeno obrázkem, stiumlem, tak se jich vejde jenom 3 na zbývajících 60%.
projekty/psychoakusticke_testy/navrh_dsl_jazyka.txt · Poslední úprava: 2015/12/03 14:52 autor: tomaton