Aplikacija za učenje igranja basov diatonične harmonike

Size: px
Start display at page:

Download "Aplikacija za učenje igranja basov diatonične harmonike"

Transcription

1 Univerza v Ljubljani Fakulteta za računalništvo in informatiko David Koren Aplikacija za učenje igranja basov diatonične harmonike DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN INFORMATIKA Mentor: viš. pred. dr. Borut Batagelj Asistent: as. Bojan Klemenc Ljubljana 2013

2

3 Rezultati diplomskega dela so intelektualna lastnina avtorja in Fakultete za računalništvo in informatiko Univerze v Ljubljani. Za objavljanje ali izkoriščanje rezultatov diplomskega dela je potrebno pisno soglasje avtorja, Fakultete za računalništvo in informatiko ter mentorja. Besedilo je oblikovano z urejevalnikom besedil L A TEX.

4

5

6

7 Izjava o avtorstvu diplomskega dela Spodaj podpisani David Koren, z vpisno številko , sem avtor diplomskega dela z naslovom: Aplikacija za učenje igranja basov diatonične harmonike S svojim podpisom zagotavljam, da: sem diplomsko delo izdelal samostojno pod mentorstvom viš. pred. dr. Boruta Batagelja, so elektronska oblika diplomskega dela, naslov (slov., angl.), povzetek (slov., angl.) ter ključne besede (slov., angl.) identični s tiskano obliko diplomskega dela soglašam z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI. V Ljubljani, dne 2. julija 2013 Podpis avtorja:

8

9 Kazalo Povzetek Abstract 1 Uvod 1 2 Pregled načinov učenja diatonične harmonike Klasični načini učenja diatonične harmonike Računalniški programi za učenje diatonične harmonike Obogatena resničnost Uvod v obogateno resničnost Uporaba obogatene resničnosti Učenje igranja glasbenih inštrumentov z uporabo obogatene resničnosti Uporabljena orodja Razvojno okolje Xcode in programski jezik Objective C Orodje Cubase Virtualni inštrument AUSampler Analiza metod zaznave basne tipkovnice diatonične harmonike Neprimerni načini zaznave basne tipkovnice

10 KAZALO 5.2 Detekcija oznake z uporabo odprtokodne programske knjižnice OpenCV Predstavitev obogatene resničnosti z uporabo vmesnika OpenGL Smer stiskanja ali raztezanja harmonike Prijem ustrezne tipke Prijem naslednje tipke Podatkovni del aplikacije Zapis podatkov o prstnih prijemih v datoteki MIDI Zapis podatkov o smeri stiskanja meha v datoteki MIDI Virtualni inštrument za predvajanje zvoka diatonične harmonike Arhitektura virtualnega inštrumenta za predvajanje datoteke MIDI Predstavitev datoteke MIDI v aplikaciji Sinhronizacija predvajane pesmi s prikazom obogatene resničnosti Aplikacija za učenje igranja basov diatonične harmonike Glavno okno aplikacije Nastavitve predvajanja skladbe Nastavitve prikaza obogatene resničnosti Možnosti izboljšav in razširitev Zaznavanje prstov s pomočjo barv ali oznak Sklepne ugotovitve 73

11 Povzetek Učenja igranja glasbenega inštrumenta se običajno lotimo s pomočjo glasbenega učitelja. V kolikor tega ne storimo obstaja velika verjetnost, da se naučimo napačnega igranja. Za učenje igranja glasbenih inštrumentov obstajajo računalniški programi ter aplikacije, ki na zaslon izrisujejo pravilne prijeme tipk, vendar pa imajo velikokrat skupno pomanjkljivost, saj ne vsebujejo informacij pravilnega vrstnga reda igranja. V tej diplomski nalogi je bila razvita aplikacija za tablični računalnik Apple ipad, ki s pomočjo obogatene resničnosti, nauči uporabnika pravilnega igranja basnega dela diatonične harmonike. Najprej je predstavljena obogatena resničnost s primeri uporabe na različnih področjih. Sledi predstavitev uporabljenih orodij. V nadaljevanju se osredotočimo na problem detekcije tipk oziroma basne tipkovnice diatonične harmonike s pomočjo računalniškega vida. Po raziskavi obstoječih tehnologij, je bila uporabljena detekcija oznake z uporabo odprtokodne programske knjižnice za računalniški vid OpenCV. Po detekciji je predstavljen še izris obogatene resničnosti. Posvetiti se je potrebno tudi prednostim izbora pesmi v zapisu formata protokola MIDI. Proti koncu naloge je podrobno razložen grafični vmesnik aplikacije. Pred zaključkom so izpostavljene možnosti izboljšave aplikacije. Ključne besede: obogatena resničnost, virtualni inštrument, učenje igranja glasbila, diatonična harmonika, OpenCV, detekcija oznake, računalnkiški vid

12

13 Abstract Learning to play a musical instrument is usually tackle with the help of a music teacher. For learning purposes there already exist computer programs and applications that help the user in learning process. Many programs have a disadvantage of not showing the correct finger order while playing an instrument. In this thesis work we developed an application for an Apple ipad tablet, which teaches the user how to play the bass notes on the diatonic accordion. The presented information is based on the techonolgy called augmented reality. First are presented examples of augmented reality applications in various fields of use. Followed by a presentation of the programs and tools used in the development. In the following we focus on the problem with detection of the keys on the diatonic accordion. Among available technologies the marker detection algorithm based on open source library for coumputer vision OpenCV is being used. Then the outline of augmented reality is presented. Moving along the thesis work presents the advantages of MIDI protocol for saving all the data needed in the application. Before the completion of the thesis work reader will get to know the possible improvements of final implemented application. Key words: augmented reality, virtual instrument, music instructor, diatonic accordion, OpenCV, marker detection, computer vision

14

15 Seznam uporabljenih kratic in simbolov AR (Augmented Reality) obogatena resničnost CV (Computer Vision) računalniški vid IDE (Interface Development Environment) razvojno okolje GUI (Graphic User Interface) grafični uporabniški vmesnik MIDI (Musical Instrument Digital Interface) digitalni vmesnik glasbenega inštrumenta CHT (Circle Hough Transform) Houghova krožna transformacija PNG (Portable Network Graphics) prenosljiva spletna grafika FPS (Frames Per Second) število slik na sekundo WAVE (Waveform Audio File Format) format datoteke z zvočnim zapisom RGBA (Red Green Blue Alpha) rdeča zelena modra prosojnost HUD (Head Up Display) prosojni ekran za prikaz obogatene resničnosti

16

17 Poglavje 1 Uvod Igranja diatonične harmonike sem se naučil pri zasebnem učitelju. Kot poznavalca inštrumenta me velikokrat zmoti napačno igranje basov diatonične harmonike, kar tudi izda harmonikaša samouka, ki se je naučil napačnega igranja. Zato smo v diplomski nalogi naredili aplikacijo, ki uporabnika nauči pravilnega igranja basov diatonične harmonike, s čimer harmonikaš dodatno popestri igrano pesem. Proces učenja temelji na tehnologiji obogatene resničnosti. Pri razvoju aplikacije so bile preizkušene različne tehnologije za razpoznavo objektov s pomočjo računalniškega vida, ki so se izkazale za neprimerne. Kot najprimernejšo tehnologijo smo izbrali zaznavo oznake z uporabo odprtokodne programske knjižnice OpenCV. Oznako kvadratne oblike, ki jo aplikacija zazna, namestimo poleg basne tipkovnice harmonike. Pred samim razvojem je bilo potrebno opraviti podrobno raziskavo obstoječih programov, ki s pomočjo obogatene resničnosti učijo igranja različnih glasbil. Hkrati smo predstavili vse različne načine učenja diatonične harmonike. Poleg same predstavitve obogatene resničnosti aplikacijo dopolnimo tudi z implementacijo virtaulnega inštrumenta sposobnega reprodukcije originalnega zvoka diatonične harmonike. 1

18

19 Poglavje 2 Pregled načinov učenja diatonične harmonike Diatonična harmonika se je razvila iz ustne harmonike leta Izumitelj obeh pa je Nemec Ludwig Buschmann [1]. Kmalu je postala ljudski inštrument in tak status uživa še danes. V splošnem harmonike delimo na skupini diatoničnih ter kromatičnih harmonik. Pomembna razlika med njima je v načinu raztezanja meha, saj se pri diatoničnih harmonikah zaigrani ton tipke spreminja glede na stiskanje ali raztezanje meha, medtem ko pri kromatičnih harmonikah ostaja isti. Pomembna razlika med tema dvema vrstama harmonik je ta, da kromatična harmonika pokrije vse tone ter lestvice, medtem ko pri diatonični harmoniki temu ni tako. Tako obstajajo različne uglasitve diatoničnih harmonik, pri katerih se za isti nivo zviša ali zniža intonacija vseh tipk. Igranje na različno uglašenih diatničnih harmonikah pa ostaja enako, le melodija zveni v drugih durovskih višinah. Pri trivrstnih diatoničnih harmonikah so poznane sledeče durovske kombinacije: G-C-F, Gis-Cis Fis, A-D-G, B-Es-As, H-E-A, C-F-B, Cis-Fis-H ter D-G-C. Še enkrat ponovimo, da je pri različnih uglasitvah diatoničnih harmonik način igranja enak. Današnje diatonične harmonike se v osnovi ne razlikujejo več tako, kot so se v preteklosti. V Sloveniji je trenutno najbolj priljubljen model trivrstne 3

20 4 POGLAVJE 2. PREGLED NAČINOV UČENJA DIATONIČNE HARMONIKE diatonične harmonike (slika 2.1), s približno 40 tipkami na melodični desni polovici ter 11 tipkami na levi basni polovici. Ta model je uporabljen tudi v naši nalogi. V praksi basno stran imenujemo leva stran ali leva polovica, saj nanjo igramo z levo roko. Melodično stran pa imenujemo desna stran ali desna polovica. Slika 2.1: Model trivrstne diatonične harmonike. 2.1 Klasični načini učenja diatonične harmonike Sledi pregled klasičnih načinov učenja diatonične harmonike brez računalniških programov.

21 2.1. KLASIČNI NAČINI UČENJA DIATONIČNE HARMONIKE Učenje diatonične harmonike po posluhu Pri učenju igranja na diatonično harmoniko po posluhu ni nobene potrebe po poznavanju glasbene teorije. Učenje igranja poteka tako, da učitelj zaigra pesem in nato učencu razloži prstne prijeme. Učencu pri učenju pomagajo tudi posnetki učene skladbe. Večina harmonikašev se je igranja diatonične harmonike naučila na ta način, saj je v Sloveniji veliko harmonikašev, ki nudijo inštrukcije igranja diatonične harmonike. V Nemčiji, kakor tudi pri nas, obstaja možnost učenja diatonične harmonike s pomočjo gledanja video posnetkov. V Nemčiji ter Avstriji je izdelek poznan pod imenom Musikschule zu Hause [3], medtem ko se slovenska različica imenuje Glasbena šola na daljavo [2]. Uporabniški vmesnik je viden na sliki 2.2. Harmonikaš se tu uči igranja harmonike po posluhu. Posnetek vsebuje zaigrano pesem ter razlago pravilnih prstnih prijemov. Ker tu ne gre za računalniški program, ampak le za video posnetek igranja z razloženimi prstnimi prijemi, smo ta način učenja vključili v skupino načina učenja po posluhu. Slika 2.2: Glasbena šola na daljavo.

22 6 POGLAVJE 2. PREGLED NAČINOV UČENJA DIATONIČNE HARMONIKE Učenje po principu igre potapljanja ladjic Ena izmed alternativ je tudi način učenja po principu priljubljene igre potapljanja ladjic. Basne tipke so glede na pozicijo oštevilčene s številkami od 1 navzgor. Tipke na melodični strani pa so zapisane najprej z ustrezno vrsto (A, B, C, D), kateri sledi še zaporedna številka tipke v dani vrsti. Legenda tipk je vidna na sliki 2.3. Tako so sekvence prijemov zapisane kot pritisni tipki A3,A4 ter bas številka 3. Hkrati pa je podana še informacija o stisku in raztezanju meha. Obstaja več različic takšnega načina učenja, saj so nekateri učitelji harmonike razvili tudi svoje različice, ki v osnovi temeljijo na principu igre potapljanja ladjic. Slika 2.3: Legenda označenih tipk za učenje po principu potapljanja ladjic.

23 2.2. RAČUNALNIŠKI PROGRAMI ZA UČENJE DIATONIČNE HARMONIKE Učenje diatonične harmonike s klasičnim notnim sistemom Prvi sistematični notni zapis za diatonično harmoniko je nastal komaj leta 1975 v Avstriji. Leta 1988 gospod Stanko Žagar predstavi prvi slovenski učbenik Šola za diatonično harmoniko, v katerem je uporabljen prej omenjeni notni sistem [1]. Leta 2003 pa je diatonična harmonika postala del nižje glasbene šole. To je za diatonično harmoniko velik dosežek, saj prej ni obstajala nobena uradna ustanova, ki bi učila igranja tega inštrumenta. Tu učenje prvič poteka z uporabo klasičnega notnega sistema, s čimer se je diatonična harmonika popolnoma izenačila z ostalimi inštrumenti. 2.2 Računalniški programi za učenje diatonične harmonike Skladno z razširjenostjo diatonične harmonike so nastali tudi računalniški programi za učenje tega inštrumenta. Na svetovnem trgu dejansko obstajajo le trije takšni primerki, čeprav aplikacija Strasser harmonika komaj ustreza pogojem programa za učenje diatonične harmonike. Za potrebe raziskave smo povprašali tudi lastnika obeh slovenskih programov LTK harmonika in VSLN harmonika, ki potrdita, da tudi na svetovnem trgu ne obstaja nobena druga različica računalniškega programa za učenje diatonične harmonike Računalniška programa VSLN ter LTK harmonika G. Robert Goter, eden izmed najboljših harmonikašev na svetu, je leta 2005 skupaj z g. Darkom Obretanom in sodelavci ustvaril računalniški program Vsak se lahko nauči igrati harmoniko - VSLN [4] (slika 2.5). Alternativo temu programu predstavlja računalniški program LTK harmonika [6]

24 8 POGLAVJE 2. PREGLED NAČINOV UČENJA DIATONIČNE HARMONIKE (slika 2.4), ki je bil izdelan leta Avtorja programa sta g. Tomaž in Luka Knavs. V osnovi sta si programa zelo podobna, zato jih obravnavamo v istem razdelku. Slika 2.4: Glavni uporabniški vmesnik programa LTK harmonika. Slika 2.5: Glavni uporabniški vmesnik programa VSLN.

25 2.2. RAČUNALNIŠKI PROGRAMI ZA UČENJE DIATONIČNE HARMONIKE 9 Pri obeh programih so na ekranu izrisane tipke, katere se ob predvajanju pesmi obarvajo in tako podajo informacijo o pravilnem prstnem prijemu. Prsti so določeni z zaporedno številko od 1 do 5. Med predvajanjem pesmi se na zaslonu izrisuje tudi informacija smeri raztezanja ali stiskanja meha ter besedilo pesmi. Programa omogočata pomikanje po pesmi in nastavljanje hitrosti predvajanja skladbe. Za takšno učenje uporabnik ne potrebuje nobenega znanja glasbene teorije, saj je tu dejansko uporabljen način učenja po posluhu, opisan v podpoglavju Ena večjih razlik programov je ta, da program LTK harmonika ne prikazuje pravilnih prstnih prijemov basne strani harmonike. Hkrati pa so pri programu VSLN zaigrane pesmi boljše kvalitete, saj jih je zasnoval g. Robert Goter [5]. Kot harmonikaš je namreč leta 1999 osvojil naslov absoultnega svetovnega prvaka v igranju na diatonično harmoniko. VSLN program je tako nekoliko boljši od konkurenta LTK harmonika. Oba računalniška programa sta plačljiva Aplikacija Strasser Harmonika Učenja diatonične harmonike se je mogoče naučiti tudi s pomočjo aplikacije Strasser Harmonika (slika 2.6). Izdelalo jo je nemško podjetje Byte Poets [44], le za uporabo na tabličnem računalniku ipad. Aplikacija omogoča učenje le melodične strani štirivrstne diatonične harmonike. Ob predvajanju pesmi se tipke ustrezno obarvajo. Pravilni prstni red igranja ni podan, kar je velika pomanjkljivost programa, saj ima pravilni prstni red velik pomen pri pravilnem igranju glasbila. Za namen učenja aplikacija ponuja le 5 avstrijskih pesmi. Omogočeno je snemanje lastnih skladb, katere lahko uporabnik tudi deli z ostalimi uporabniki te iste aplikacije. S pritiski po zaslonu je omogočeno tudi igranje harmonike tako, da za samo učenje fizična diatonična harmonika sploh ni potrebna. Aplikacija je brezplačna, kajti narejena je z namenom reklamiranja proizvajalca harmonik.

26 10 POGLAVJE 2. PREGLED NAČINOV UČENJA DIATONIČNE HARMONIKE Slika 2.6: Glavni uporabniški vmesnik mobilne aplikacije Strasser Harmonika. Po pregledu programskih rešitev učenja diatonične harmonike ugotovimo, da je račuanlniški program VSLN, opisan v podpoglavju 2.2.1, trenutno najboljši program za učenje igranja diatonične harmonike.

27 Poglavje 3 Obogatena resničnost Ker želimo narediti aplikacijo, ki bo s pomočjo obogatene resničnosti učila pravilnega igranja basov diatonične harmonike, si poglejmo kaj obogotena resničnost sploh je. Obravnavali bomo tudi programe, ki s pomočjo obogatene resničnosti učijo igranja različnih glasbenih inštrumentov. 3.1 Uvod v obogateno resničnost Ideja obogatene resničnosti je prvič omenjena že v letu 1901, kjer je gospod L. Frank Baum v svojem literarnem delu [25] predstavil misel o elektronskih očalih, ki preko leč podajo informacijo o značaju videne osebe. Informacija je bila s pomočjo predstavitve posebnih očal predstavljena na čelu glave videne osebe. Ta ideja pa danes predstavlja osnovo tehnologije obogatene resničnosti (angl. Augmented Reality AR) [7]. S pomočjo zmogljivih računalnikov je sedaj mogoče predstaviti kombinacijo realnega sveta obogatenega z računalniško obdelanimi učinki. Pojem obogatene resničnosti pa ne zajema le vizualnih učinkov, temveč tudi ostala področja multimedije. Ronald Azum je postavil sledeče pogoje, ki morajo biti izpolnjeni, da lahko govorimo o dejanski obogateni resničnosti [8]. Potrebno je prepletanje realnega sveta z navideznimi elementi. Zagotovljena mora biti tridimenzionalna umestitev objekta v sliki. Da ugodimo še načelu resničnosti, je obvezna in- 11

28 12 POGLAVJE 3. OBOGATENA RESNIČNOST teraktivnost v realnem času. 3.2 Uporaba obogatene resničnosti Trenutno se nahajamo v obdobju razcveta aplikacij z obogateno resničnostjo. Pojavljajo se nove tehnične rešitve, kakor tudi nove ideje z novimi področji uporabe. Spoznajmo najbolj razširjene. Med popularnejšimi je področje arhitekture ter notranjega opremljanja prostorov, kjer s pomočjo obogatene resničnosti razporejamo pohištvo po prostoru ali celo stavbe v okolju. Slika 3.1 prikazuje uporabo mobilne aplikacije Augment 3D [15], s katero lahko uporabnik s pomočjo obogatene resničnosti razporeja pohištvo po prostoru. Slika 3.1: Mobilna aplikacija Augment 3D. Medicina predstavlja eno izmed večjih potencialnih področij za uporabo obogatene resničnosti. Aplikacije ponujajo tridimenzionalen vpogled v človeško telo, kar omogoča lažje razumevanje delovanja telesa kot celote ter tudi posameznih organov. Hkrati pa sem vključujemo tudi področje rehabilitacije bolnikov ter področje uporabe obogatene resničnosti v izobraževanju. Slika 3.2 prikazuje uporabo mobilne aplikacije Anatomy - 4D [12] s funkcijo vpogleda v tridimenzionalni objekt človeškega telesa.

29 3.2. UPORABA OBOGATENE RESNIČNOSTI 13 Slika 3.2: Mobilna aplikacija Anatomy 4D. Obogateno resničnost uporabljajo tudi v proizvodnji oziroma v industriji [9]. Dobrodošla je pri razvoju novih izdelkov ter tudi pri postavitvah delovnih strojev ali proizvodnih linij v tovarni. Primer takšnega programa je viden na sliki 3.3. Slika 3.3: Razporeditev delovnega stroja v tovarni s pomočjo obogatene resničnosti. Besedo računalnik marsikdo poveže s pojmom računalniških iger, tako tudi to področje ne zaostaja v uporabi obogatene resničnosti. Na trgu je že veliko iger s to tehnologijo. Na sliki 3.4 vidimo primer ene izmed tehnološko

30 14 POGLAVJE 3. OBOGATENA RESNIČNOST bolje razvitih iger na trgu, imenovano ar.drone [11]. Helikopter fizične narave, ki se nahaja na desni strani slike 3.4, je mogoče kontrolirati s pametnim telefonom preko brezžičnega omrežja. Ker pa ima helikopter na prednji strani tudi kamero, se slika pošilja na pametni telefon, kjer je naložena aplikacija, v kateri se je potrebno bojevati z nasprotniki prikazanimi z obogateno resničnostjo. Izgled aplikacije je viden na na levi polovici slike 3.4. Slika 3.4: Grafični vmesnik aplikacije z obogateno resničnostjo ter helikopter s štirimi propelerji. Tehnologija obogatene resničnosti se uporablja tudi pri reklamiranju ter prodaji izdelkov podjetij. Potencialnemu kupcu se predstavi 3D model produkta. Posledično se uporabnik lažje odloči za nakup nekega izdelka. Na sliki 3.5 vidimo primer, kjer si uporabnica nadene izbrano oblačilo s pomočjo obogatene resničnosti in posledično lažje odloči za nakup [10].

31 3.2. UPORABA OBOGATENE RESNIČNOSTI 15 Slika 3.5: Program The Webcam Social Shopper. Eno izmed starejših področij uporabe predstavlja uporaba v vojski. Sistem HUD (angl. Head Up Display HUD) na sliki 3.6 pilotu prikazuje podatke na prosojnem zaslonu. Sistem zazna tudi ostala letala v zraku, tako da jim lahko pilot lažje sledi. Sistem podrobneje opisan v poglavju 3.2 članka [8]. Slika 3.6: Delovanje HUD sistema v letalu. Na področju turizma se obogatena resničnost uporablja za podajanje turistu uporabnih informacij. Aplikacija Musem of London (slika 3.7) predstavlja dober primer, kjer obogatena resničnost dopolni fotografirano stavbo ali objekt z zgodovinsko sliko ter informacijo o tej stavbi [13]. Aplikacija je doživela velik uspeh ter s tem pripomogla k večji obiskanosti muzejev mesta London.

32 16 POGLAVJE 3. OBOGATENA RESNIČNOST Slika 3.7: Aplikacija Museum of London. 3.3 Učenje igranja glasbenih inštrumentov z uporabo obogatene resničnosti Področje učenja glasbenih inštrumentov s pomočjo obogatene resničnosti ostaja dokaj neraziskano. Poglejmo si dosedanji razvoj Primer aplikacije, ki uči igranja klavirja Spoznajmo zanimiv primerek aplikacije, ki s pomočjo obogatene resničnosti uči igranja lestvic ter prijema akordov na klavirju [14]. Uporabnik ima na glavi čelado z nameščeno kamero. Za zaznavo tipkovnice klavirja sistem uporablja algoritem, ki detektira oznako nameščeno na klaviaturi. Program z modro barvo obarva tipko. Obarvano tipko mora uporabnik nato pritisnit. Z zeleno obarva pravilno pritisnjeno tipko, napačno pritisnjeno pa z rdečo. Kontrola pritisnjene tipke se izvaja s pomočjo protokola MIDI. Klaviatura je povezana z računalnikom preko MIDI kabla, preko katerega sporoča računalniku informacijo o pritisnjeni tipki. Slika 3.8 prikazuje pravilno pritisnjeno tipko, saj je obarvana z zeleno barvo. Sistema s takšnim nadzorom pravilnega igranja ni mogoče uporabiti pri učenju diatonične harmonike. Poznane so harmonike z vgrajenim modulom MIDI, katerega lahko povežemo na računalnik. Zaradi načina sestave diatonične harmonike pa to ni mogoče.

33 3.3. UČENJE IGRANJA GLASBENIH INŠTRUMENTOV Z UPORABO OBOGATENE RESNIČNOSTI 17 Pri diatonični harmoniki se namreč s spremembo premikanja meha spremeni tudi ton pritisnjene tipke in tako v programu pritisnjene tipke ne moremo preverjati. To bi bilo mogoče le z posebej programiranim MIDI sistemom, ki bi preko enega kanala MIDI pošiljal informacije o pritisnjeni tipki glede na to ali harmonikaš stiska ali razteza meh. Tak sistem bi lahko uporabili na klavirski harmoniki, saj se pri menjavi smeri stiskanja meha igrani ton ne spremeni. Program ne podaja nobenih informacij pravilnega prstnega reda igranja, kar predstavlja veliko pomankljivost. Za pravilno igranje klavirja je, kakor pri ostalih glasbilih, pomemben pravilen prstni red igranja. Slika 3.8: Program za učenje igranja klavirja z uporabo obogatene resničnosti Primer aplikacije, ki uči igranja bas kitare Sedaj si poglejmo primer implementacije učenja bas kitare s pomočjo obogatene resničnosti [16]. Tipična bas kitara ima le štiri strune, medtem ko jih ima standardna kitara šest. Strune na bas kitari so debelejše kot pri navadni kitari. Razdalje med prečkami na vratu kitare so na bas kitari večje kot pri standardni kitari.

34 18 POGLAVJE 3. OBOGATENA RESNIČNOST Algoritem uporablja dve oznaki, eno večjo za detekcijo kitare ter drugo, manjšo za detekcijo glasbenikovega prsta. Sistem deluje tako, da najprej zazna oznake, nato pa označi lokacijo na struni kitare, katero mora uporabnik zaigrati. Pravilna postavitev oznak je vidna na sliki 3.9. Ko sistem zazna, da oznaka na glasbenikovem prstu prekrije lokacijo na struni, označi naslednjo lokacijo na eni izmed strun bas kitare. Program je brez zvoka. Algoritem ima določeno le zaporedje lokacij na strunah. Uporabniku ni podana nobena informacija o ritmu ter trajanju prijema strune. Program ne vsebuje nobene informacije o pravilnem prstnem redu igranja, saj je implementacija narejena le za igranje z enim prstom. Zaradi vseh pomanjkljivosti trenutna različica programa ni primerna za učenje igranja bas kitare. Slika 3.9: Program za učenje igranja bas kitare z uporabo obogatene resničnosti Primer aplikacije, ki s pomočjo obogatene resničnosti uči igranja klasične kitare Na sliki 3.10 je vidna uporaba programa za učenje kitare s pomočjo obogatene resničnosti [18]. Pri razvoju programa so uporabili izsledke raziskave programa predstavljenega v prejšnjem podpoglavju Za zaznavo kitare je tudi tu uporabljena detekcija oznake programske knjižnice ARToolKit [19]. Ker pa se zaradi majhnih razdalij med prečkami in strunami sama detekcija

35 3.3. UČENJE IGRANJA GLASBENIH INŠTRUMENTOV Z UPORABO OBOGATENE RESNIČNOSTI 19 oznake ni izkazala dovolj dobro, je algoritem podkrepljen še z detekcijo robov vratu kitare. Program uporabnika uči pravilnega prijema akordov v predvajani pesmi. Prikaz obogatene resničnosti prijema akordov je narejen s tridimenzionalno sliko prstov, ki prikazuje pravilni prstni položaj prijema akordov na kitari. Na ta način se uporabnik nauči pravilnega prstnega prijema akordov ter tudi pravilnega igranja predvajane skladbe. Slika 3.10: Program za učenje igranja kitare z uporabo obogatene resničnosti. V članku [20] smo spoznali še eno podobno implementacijo programa namenjeno učenju igranja kitare. Oznaka za detekcijo kitare je postavljena na vrh vratu kitare kot je vidno na sliki Ta sistem uporablja le detekcijo oznake, medtem ko je v prejšnjem opisanem programu [18] detekcija oznake podkrepljena z detekcijo samega vratu kitare. Prikaz obogatene resničnosti je opravljen s krogci, ki določajo položaj pritisnjene strune. Informacija o pravilnem prstnem prijemu akordov ni podana. Sistem uporablja več oznak, saj vsaka oznaka določa svoj akord. Ko se uporabnik želi naučiti prijema naslednjega akorda, mora fizično zamenjati oznako na kitari, kar je nerodno za uporabo. Boljšo različico predstavlja prejšnji program, viden na sliki 3.10.

36 20 POGLAVJE 3. OBOGATENA RESNIČNOST Slika 3.11: Program za učenje pravilnih prijemov akordov na klasični kitari z uporabo obogatene resničnosti Primer programa za rehabilitacijo bolnika s pomočjo učenja igranja klavirja Kap bolnika prizadene na različne načine. Med pogostejšemi posledicami se pojavlja okvarjena motorika okončin, večinoma rok. V članku [17] je opisan program, ki s pomočjo detekcij dveh oznak ter robotske rokavice s senzorji, pomaga bolniku pri uspešnejši rehabilitaciji (slika 3.12). Program detektira prvo oznako postavljeno na mizo pred uporabnika, na podlagi katere se na zaslonu izriše virtualna tipkovnica klavirja. Nato program poišče še drugo oznako, s katero algoritem dobi informacijo o položaju roke v prostoru. Druga oznaka je namreč nameščena na robotski rokavici, katero si bolnik nadene na roko. Rokavica ima nameščene senzorje, ki programu sporočaju informacijo o skrčenosti prstov. Na podlagi informacij o položaju roke in skrčenosti prstov algoritem določi katera tipka je bila pritisnjena. Možno je tudi dvoročno igranje ter izbira skladb različnih zahtevnosti. Kljub temu, da je osnovni namen programa rehabilitacija bolnika, ponuja povsem nov način učenja igranja inštrumenta z uporabo obogatene resničnosti. Z združitvijo tega programa s programom opisanim v podpoglavju se lahko nadejamo aplikacije za kvalitetno učenje igranja na klavir.

37 3.3. UČENJE IGRANJA GLASBENIH INŠTRUMENTOV Z UPORABO OBOGATENE RESNIČNOSTI 21 Slika 3.12: Program za učenje igranja klavirja, ki je prvotno namenjen rehabilitaciji bolnikov. Spoznali smo pet programov, ki s pomočjo obogatene resničnosti učijo igranja različnih glasbenih inštrumentov. Zaradi njihove različne namembnosti ima vsak program svoje posebnosti. Vsem predstavljenim pa je skupna implementacija detekcije oznake, katera predstavlja glavno pomoč pri izrisu obogatene resničnosti.

38

39 Poglavje 4 Uporabljena orodja Pri razvoju aplikacije, kot osrednje teme te diplomske naloge, so bila uporabljena različna orodja. Ker je aplikacija namenjena za uporabo na tabličnem računalniku ipad, je odločitev o razvojnem okolju trivialna. Aplikacije za tablični računalnik ipad je mogoče izdelati le z orodjem Xcode. Orodje je mogoče namestiti le na računalnike z operacijskim sistemom Mac OS X. Operacijski sistem je last podjetja Apple. Pri tem smo uporabili še profesionalno orodje za zvočno produkcijo Cubase. Za implementacijo virtualnega inštrumenta pa je bilo uporabljeno orodje AUSampler. 4.1 Razvojno okolje Xcode in programski jezik Objective C Razvojno okolje Xcode (angl. Interface development environment - IDE) [21] je razvilo podjetje Apple. Xcode IDE je vidno na sliki 4.1. S tem orodjem je mogoče izdelovati aplikacije za uporabo na strojni opremi podjetja Apple. Namestitev razvojnega okolja Xcode je brezplačna, vendar ima svoje omejitve. Brez zakupljene licence aplikacije ni mogoče testirati na fizični napravi. Licenco potrebujemo tudi za objavo aplikacije na portalu App Store, s katerega si lahko uporabniki prenesejo aplikacijo na svojo napravo. Pri razvoju je bila uporabljena licenca Fakultete za računalništvo in informatiko. 23

40 24 POGLAVJE 4. UPORABLJENA ORODJA Okolje Xcode ima implementirana vsa orodja, ki jih razvijalec potrebuje pri programiranju aplikacij. V istem oknu je mogoč dostop do datotek z izvorno programsko kodo ter urejanje grafičnega uporabniškega vmesnika GUI (angl. Graphic User Interface). Tu je mogoče aplikacijo tudi testirati na simulatorju ali mobilni napravi ipad, iphone ali ipod. Pri razvoju je bila uporabljena različica orodja Xcode 4.6. Slika 4.1: Zaslon razvojnega okolja Xcode. Pomemben del okolja Xcode IDE imenovan Instruments (slika 4.2), nam pomaga zagnati aplikacijo ter spremljati dogajanje in stanje zasedenosti virov med samim izvjanjem na napravi [22]. S pridobljenimi podatki je moč izločiti ozka grla ter šibkosti aplikacij, ki povzročajo počasnejše odzivanje ter celo samodejno zapiranje aplikacije.

41 4.2. ORODJE CUBASE 25 Slika 4.2: Grafični uporabniški vmesnik orodja Instruments. Razvojno okolje Xcode uporablja lasten objektno usmerjen programski jezik Objective C [23]. Zasnovan je po vzoru starejšega programskega jezika C. Za sam začetek programiranja v programskem jeziku Objective C je bilo potrebnega kar nekaj truda. Pozneje pa sta se razvojno okolje ter sam programski jezik izkazala kot dokaj preprosta za uporabo. Podjetje Apple vsako leto priredi konferenco, kjer predstavijo novosti svojega razvoja ter jezika Objective C. Na podlagi konstantega razvoja programskega jezika Objective C in programskih knjižnic menimo, da se bosta uporaba ter učenje programskega jezika Objective C še poenostavila. 4.2 Orodje Cubase Z večanjem zmogljivosti računalnikov se je povečevala tudi zmogljivost programov za urejanje zvočnih posnetkov. Nemško podjetje Steinberg je na področju računalniških zvočnih sekvencerjev eden izmed pionirjev ter gonilnih sil samega razvoja. Njihov paradni konj se imenuje orodje Cubase [38], katerega smo tudi mi uporabili za izdelavo datotek pesmi uporabljenih v aplikaciji. Uporabljena je bila trenutno najnovejša različica programa Cubase 7.0 (slika 4.3). Program ni brezplačne narave, ampak to ni predstavljalo problema, saj sem lastnik licence za uporabo. Omeniti velja, da so bili s tem

42 26 POGLAVJE 4. UPORABLJENA ORODJA programom posneti tudi vsi zvoki harmonike uporabljeni za reprodukcijo zvoka harmonike v sami aplikaciji. Slika 4.3: Zaslon programa za avdio produkcijo, imenovan Cubase, različice Protokol MIDI Specifikacija protokola MIDI (angl. Musical Instrument Digital Interface) je bila izdana avgusta leta 1983 [24]. Osnovna ideja protokola je nadzor več medseboj povezanih klaviatur oziroma modulov sintetizatorjev zvoka z le eno klaviaturo. Na podlagi protokola MIDI so nastale tudi standardne datoteke MIDI, ki omogočajo standardiziran zapis glasbenih sekvenc v formatu protokola MIDI. Zaradi njihove majhne velikosti so bile v začetku zelo prikladne za uporabo. Sama datoteka ne vsebuje nobenega zvočnega zapisa, ampak le kontrole sekvenc pesmi. Nepoznavalcu bi lahko razložili, da je to le notni zapis pesmi v digitalni obliki, čeprav je več kot to. Najpomembnejši parametri protokola MIDI so: NOTE ON (pritisk tipke), NOTE OFF (spust tipke), NOTE NUMBER (številka tipke),

43 4.3. VIRTUALNI INŠTRUMENT AUSAMPLER 27 VELOCITY (hitrost pritisnjene tipke), PROGRAM NUMBER (številka programa MIDI), MIDI CHANNEL (kanal MIDI). Pri razvoju nas zanimajo le parametri NOTE ON, NOTE OFF, VE- LOCITY ter MIDI CHANNEL, saj z njimi poskusimo predstaviti vse informacije potrebne za implementacijo aplikacije. 4.3 Virtualni inštrument AUSampler AULab [39] je zastonjsko orodje podjetja Apple, ki deluje po principu analogne zvočne mešalne mize. Uporabnik lahko uporabi več kanalov, katerim tudi določi različne avdio-zvočne vhode. Na te kanale se lahko vključi tudi različne digitalne procesorje zvočnega signala. Tipičen primer takšnega procesorja zvoka je efekt odmeva. Na mešalno mizo lahko vključimo tudi posebne kanale brez zvočnih vhodov. Zvočni izvor teh posebnih kanalov predstavljajo virtualni inštrumenti. V naši implementaciji je uporabljen virtualni inštrument AUSampler (slika 4.4). V ta virtualni inštrument je možno vstaviti zvočne datoteke formata WAVE (angl. Waveform Audio File Format) ter jih razporediti tako, da vsaki zvočni datoteki dodelimo svojo tipko na tipkovnici klaviature. S pritiskom določene tipke klaviature pričnemo s predvajanjem zvočne datoteke dodeljene tej isti tipki. Podatke o razporejenosti zvočnih posnetkov glede na položaj tipk na klaviaturi izvozimo v posebno datoteko formata aupreset, katero skupaj z vsemi zvočnimi datotekami ponovno uporabimo pri programiranju novega virtualnega inštrumenta naše aplikacije.

44 28 POGLAVJE 4. UPORABLJENA ORODJA Slika 4.4: Virtualni inštrument AUSampler.

45 Poglavje 5 Analiza metod zaznave basne tipkovnice diatonične harmonike Cilj te naloge je izdelana aplikacija za učenje basov diatonične harmonike s pomočjo obogatene resničnosti, zato se osredotočimo na detekcijo basne polovice harmonike, natančneje basnih tipk (slika 5.1). V slovenskem standardu je le teh 11, 6 v prvi in 5 v drugi vrsti. Najprej bomo predstavili načine detekcije, ki so se izkazali kot neprimerni za uporabo. 5.1 Neprimerni načini zaznave basne tipkovnice Pregledani so bili različni načini implementacije same detekcije harmonike. V tem podpoglavju so opisani neprimerni načini zaznave basne polovice harmonike. 29

46 POGLAVJE ANALIZA METOD ZAZNAVE BASNE TIPKOVNICE DIATONIČNE HARMONIKE Slika 5.1: Basna tipkovnica diatonične harmonike Zaznava regije barv Pri detekciji s pomočjo zaznave regije barv (angl. Blob detection) [27] imamo model, ki detektira območja oziroma regije obarvane z enako ali podobno barvo. Namesto barve se lahko uporabi tudi podatek o osvetlenosti področja. V osnovi se ideja zdi zelo primerna za zaznavo tipk diatonične harmonike. Na levi strani je 11 tipk, ki so skoraj vedno različne barve kot harmonika, kar ponuja dober barvni kontrast pri zaznavi tipk. Vendar pa se kmalu pojavijo sledeči problemi. Pod tipkami se nahaja kovinski nosilec zrcalne krom barve, ki je viden tudi na sliki 5.2. Tudi tipke so vedno svetleče, medtem ko obstajajo tudi v krom kovinski barvi. Da pa svetlikanja in odsevov še ni dovolj, je ohišje harmonike zaščiteno z visokosijočim lakom. To pomeni, da se na površini harmonike pojavljajo odsevi različnih barv, kar je neprikladno za trenutno obravnavano detekcijo. Omenimo še problem prekrivanja tipk s prsti, kar dodatno onemogoči učinkovito detekcijo s pomočjo barv. Za detekcijo je potrebno uporabiti zaznavo, ki tudi med samim igranjem harmonike dobro deluje. Zaznava tipk s pomočjo barv je v primeru harmonike neprimerna. Vsi našteti problemi so prevelik zalogaj za uspešno implementacijo s takšnim načinom zaznave.

47 5.1. NEPRIMERNI NAČINI ZAZNAVE BASNE TIPKOVNICE 31 Slika 5.2: Basna tipkovnica diatonične harmonike z vidnimi odsevi Zaznavanje okroglih tipk s pomočjo Houghove transformacije Krogi so v aplikacijah računalniškega vida pogosta geometrična telesa. Za iskanje teh teles je zelo poznana metoda iskanja s pomočjo Houghove transformacije CHT (angl. Circle Hough Tranform) [28]. Predstavlja zanesljiv način iskanja krogov, vendar je metoda tudi časovno zahtevna, saj za vsako točko na sliki izračuna vse možne krožnice. Za pohitritev računanja lahko metodo omejimo z največjim ter najmanjšim možnim radijem, katerega metoda še išče na sliki. Hkrati operacijo pohitrimo tudi z glajenjem robov ter odstranjevanjem šuma iz slike. Vse našteto posledično vpliva na manjšo natančnost algoritma. Programska odprtokodna knjižnica OpenCV ponuja naslednjo implementirano funkcijo HoughCircles, ki v črnobeli sliki poišče kroge s pomočjo CHT [29]. Funkcija se je izkazala neprimerna za uporabo. Poleg že naštetih problemov z odsevi ter prekrivanjem tipk s prsti, se tu pojavijo novi. Basna tipkovnica diatonične harmonike je sestavljena iz 11-ih okroglih tipk. Zaradi načina igranja so tipke v prvi vrsti postavljene globlje kot tipke druge vrste. Ta razlika znaša po standardnih merilih okrog 13 milimetrov. Pri igranju harmonike druga vrsta tipk malo prekrije prvo vrsto, kar dodatno otežuje zaznavo tipk. Algoritem na harmoniki zazna tudi okrogle oblike pod in nad tipkami, tako imenovane trobentice, kar pa ne predstavlja razloga, ki

48 POGLAVJE ANALIZA METOD ZAZNAVE BASNE TIPKOVNICE DIATONIČNE HARMONIKE bi nas odvrnil od uporabe te metode. Detekcija trobentic je vidna na sliki 5.3. Glavni problem nastane pri igranju in premikanju harmonike, ko zaradi spreminjanja perspektive glede na kamero okrogle tipke izgubljajo okroglo obliko. Med samim igranjem pa tudi s prsti prekrijemo tipke, tako da zaznava le teh ni mogoča. Zaradi vseh omenjenjih problemov zaznavo tipk s pomočjo Houghove transformacije označimo kot neprimerno za našo uporabo. Slika 5.3: Detekcija okrogle trobentice na basnem delu diatonične harmonike Zaznavanje basne tipkovnice s pomočjo ujemanja slikovnega vzorca Pri pregledu programske knjižnice za računalniški vid OpenCV smo naleteli na še eno zanimivo funkcijo matchtemplate [30]. Njeno delovanje preveri, ali se del slike, imenovan slikovni vzorec, pojavi v neznani sliki (slika 5.4). Po nadalnji analizi se ideja o uporabi te funkcije kmalu opusti. Tako se odločimo na podlagi njenega nefleksibilno okornega iskanja. Zavedati se je potrebno, da potrebujemo detekcijo, ki omogoča normalno igranje ter premikanje harmonike, česar nam funkcija matchtemplate ne omogoča.

49 5.1. NEPRIMERNI NAČINI ZAZNAVE BASNE TIPKOVNICE 33 Slika 5.4: Prikaz delovanja funkcije matchtemplate Zaznavanje basne tipkovnice z uporabo kaskadnega Haarovega klasifikatorja Zaznava objektov je v računalniškem vidu opravljena na različne načine. Eden obstoječih je uporaba razreda CascadeClassifier [31], ki se uporablja tudi za detekcijo obrazov. Razred je del programske knjižnice OpenCV. Aplikacija z uporabo le tega hitro detektira obraz. Princip delovanja algoritma je sledeč. Razred CascadeClassifier vsebuje objekt tipa klasifikator, na podlagi katerega algoritem zazna človekov obraz. Sestava klasifikatorja pa ni tako enostavna. Potrebno ga je naučiti, kaj je in kaj ni obraz oziroma iskani objekt v sliki. Za to potrebujemo veliko število slik (nekaj sto) iste velikosti, ki predstavljajo iskani objekt. Te slike se imenujejo pozitivni primeri. Na drugi strani pa so potrebni tudi negativni primeri, predstavljeni z ravno tako čimvečjim številom slik iste velikosti. Kot primer negativnih slik bi lahko uporablili slike dreves, stavb, rož, skratka vsega, kar ne predstavlja iskanega objekta. Algoritem za razpoznavo obraza deluje v redu, vendar je nenatančen pri pozicioniranju objekta. Pri detekciji harmonike pa je potrebno tudi natančno pozicioniranje tipk. Po dodatni analizi algoritma se odločimo da nadaljnji razvoj z uporabo razreda CascadeClassifier ni primeren. Sama postavitev baze pozitivnih in negativnih primerov je neprimerna, kajti potreben je algoritem ki ne bo detektiral harmonike kot celote.

50 POGLAVJE ANALIZA METOD ZAZNAVE BASNE TIPKOVNICE DIATONIČNE HARMONIKE 5.2 Detekcija oznake z uporabo odprtokodne programske knjižnice OpenCV Pogost način zaznave predstavlja detekcija oznake. Vse implementacije programov za učenje igranja glasbil s pomočjo obogatene resničnosti, katere smo spoznali v podpoglavju številka 3.3, se poslužujejo uporabe te tehnologije. Oznaka, vidna na sliki 5.5, je predstavljena z vnaprej določeno obliko, ki jo mora algoritem najti v podani sliki. Kvadratna oznaka je sestavljena iz vnaprej določenih 49 manjših črnobelih kvadratkov. Pogoj za uporabo algoritma je obarvanost obrobnih kvadratkov s črno barvo. Podroben opis postopka zaznave oznake z uporabo knjižnice OpenCV skupaj z izvorno kodo se nahajata v knjigi [41]. Slika 5.5: Algoritem detektira na sliki vidno oznako. Diatonične harmonike imajo poleg basnih tipk dovolj prostora za postavitev oznake. Postavitev oznake je vidna na sliki 5.6.

51 5.2. DETEKCIJA OZNAKE Z UPORABO ODPRTOKODNE PROGRAMSKE KNJIŽNICE OPENCV 35 Slika 5.6: Začetna slika, na kateri se začne detekcija oznake. Zaradi poznane omejitve oznake je iskanje le te dokaj preprosto opravilo. V osnovi je zaznava sestavljena iz naslednjih korakov: pretvorba RGB (angl. Red Green Blue) barvne vhodne slike v sivinsko sliko formata cv::mat, uporaba filtra binarizacije sivinske slike, detektcija obrisov shem, iskanje možnih oznak, dekodiranje možne oznake, postavitev oznake v prostoru glede na lokacijo kamere. Pretvorba vhodne RGB barvne slike v sivinsko (slika 5.7) je potrebna zaradi pohitritve ter same arhitekture algoritma zaznave oznake. Že vnaprej je znano, da je oznaka sestavljena le iz črne ter bele barve, zato procesiranje z barvami predstavlja dodatno obremenitev ter upočasnitev algoritma iskanja

52 POGLAVJE ANALIZA METOD ZAZNAVE BASNE TIPKOVNICE DIATONIČNE HARMONIKE oznake. V programski knjižnici OpenCV se pretvorba RGB barvne slike v sivinsko opravi s klicem funkcije cv::cvtcolor. Slika 5.7: Sivinska slika. Za nadalnje procesiranje je potrebno sivinsko sliko pretvoriti v binarno črnobelo [32], kjer ima vsaka slikovna točka na voljo le dve možni vrednosti (slika 5.8). Vrednost 255 predstavlja belo barvo, vrednost 0 pa črno. V tem primeru potrebujemo za predstavitev ene slikovne točke le en bit informacije, 0 ali 1. Ta postopek mora biti opravljen pred pregledom obrisov objektov v sliki. V danem algoritmu za zaznavo oznake je uporabljena funkcija cv::adaptivethreshold. Nove vrednosti so določene na podlagi svetlosti sosednjih točk v izbranem radiju. Takšen način procesiranja binarizacije daje algoritmu večjo robustnost, saj izračun nove vrednosti opravi glede na vrednost sosednjih točk. Z večanjem radija sosednjih točk se veča tudi časovna zahtevnost funkcije. Ob izbiri radija večjega od 10 slikovnih pik se procesiranje slik upočasnjuje, tako da aplikacija postane prepočasna za normalno uporabo. Da je aplikacija še primerna za uporabo potrebujemo hitrost prikazovanja večjo od 15 slik na sekundo FPS (angl. Frames Per Se-

53 5.2. DETEKCIJA OZNAKE Z UPORABO ODPRTOKODNE PROGRAMSKE KNJIŽNICE OPENCV 37 cond). Zaradi pohitritve algoritma uporabimo manjšo ločljivost zajema in procesiranja slik, ki meri 352 slikovnih točk v širino ter 288 slikovnih točk v višino. Slika 5.8: Binarizacija sivinske slike s funkcijo cv::adaptivethreshold. Uporabljena funkcija cv::findcontours najde obrise shem v binarni črnobeli sliki. Funkcija vrne seznam zaznanih obrisov v binarni sliki. Kot vhodni argument funkcija zahteva tudi najmanjšo možno velikost obrisa. Tako se izognemo shemam, ki so premajhne za nadaljnjo detekcijo. Vsak obris je določen kot seznam vogalnih točk obrisa. Število dobljenih točk, ki določajo dobljene obrise, zmanjšamo z uporabo funkcije cv::approxpolydp. Le ta s pomočjo približkov zmanjša število vogalnih točk. Naslednja uporabljena funkcija cv::iscontourconvex pa preveri, da dobljene točke predstavljajo zaprto konveksno shemo. V seznamu so sedaj shranjene vogalne točke obrisov, ki mogoče predstavljajo oznako. Perspektiva pogleda na možne oznake se s premikanjem oznake glede na kamero stalno spreminja. Frontalni pogled na premikajočo oznako v prostoru dobimo s klicem funkcij cv::getperspectivetransform ter cv::warpperspective (slika 5.9). Prva funkcija izračuna perspektivo,

54 POGLAVJE ANALIZA METOD ZAZNAVE BASNE TIPKOVNICE DIATONIČNE HARMONIKE druga pa le to izračunano vrednost uporabi za spremembo perspektive možne oznake. Slika 5.9: Pretvorba perspektive slike oznake na frontalni pogled. Oznaka je razdeljena na kvadratno mrežo 49-ih kvadratkov (slika 5.10). Zunanji črni kvadratki določajo obrobo oznake. Znotraj oznake tako ostane le še mreža 25-ih kvadratkov. S kombinirano postavitvijo notranjih kvadratkov lahko sistem zaznava do 1024 različnih oznak. Ali je kvadratek bele ali črne barve preverimo s pomočjo funkcije cv::countnonzero, ki preveri ali ima posamezna slikovna točka različno vrednost od vrednosti 0. Slika 5.10: Oznaka, sestavljena iz mreže 7x7 manjših črno belih kvadratkov. Sedaj vemo, da je algoritem zaznal oznako in si shranil koordinate njenih kotov. Potrebna je še ocenitev pozicije oznake iz dvodimenzionalnega v tridimenzionalni prostor glede na lokacijo kamere. Uporabljena je funkcija cv::solvepnp.

55 5.2. DETEKCIJA OZNAKE Z UPORABO ODPRTOKODNE PROGRAMSKE KNJIŽNICE OPENCV Poskus izboljšave binarizacije sivinske slike Spoznali smo proces binarizacije slike, ki vsaki slikovni točki dodeli le eno izmed dveh možnih vrednosti. Ta postopek je v podanem algoritmu opravila funkcija cv::adaptivethreshold. Sedaj poskusimo isti postopek opraviti s funkcijama cv::threshold ali cv::canny. Obe sta del odprtokodne knjižnice OpenCV. Binarizacijo sivinske slike najprej opravimo s funkcijo cv:threshold. Rezultat funkcije je viden na sliki Ločnica, ki določa mejo med dvema možnima vrednostima, je fiksno določena, kar pomeni da je med samim izvajanjem ni mogoče dinamično spreminjati. Posledično nastane binarizirana slika, ki pa ni vedno dovolj dobre kvalitete za nadaljnjo obdelavo. Ob premikanju harmonike se zaradi odsevov v prostoru včasih zabriše meja oznake, kar privede do nemogoče detekcije. V kolikor bi bila intenzivnost svetlobe vnaprej določena, bi bilo smotrno izbrati funkcijo cv::threshold. Na račun njene enostavnosti je hitrejša od že uporabljene funkcje cv::adaptivethreshold. Slika 5.11: Binarizacija sivinske slike s funkcijo cv::threshold. Binarizacijo slike omogoča tudi funkcija cv::canny, ki na vhodni sivinski sliki najde obrobe in obrise elementov. Implementacija funkcije sloni na

56 POGLAVJE ANALIZA METOD ZAZNAVE BASNE TIPKOVNICE DIATONIČNE HARMONIKE teoriji zaznave robov v sliki, katero leta 1986 predstavi g. John F. Canny [34]. Oznaka, katero želimo detektirati, je dobro vidna na sliki Vidni so le obrisi shem, izrisani z belo barvo. Algoritem je z uporabo funkcije cv::canny sposoben zaznave oznake, vendar se ob premikanju oznake obnaša slabše od funkcije cv::adaptivethreshold. Slika 5.12: Slika po procesu iskanja robov s funkcijo cv::canny. Po preizkusu treh funkcij za binarizacijo sivinske slike nadaljujemo detekcijo z že v začetku podano funkcijo cv::adaptivethreshold. Le ta najbolj ugodi potrebam in zahtevam zaznave oznake. Algoritem z uporabo izbrane funkcije postane dovolj robusten za zaznavo oznake tudi v težjih pogojih, kot sta menjavanje nivojev svetlobe ter premikanje harmonike z oznako po prostoru Problem algoritma za detekcijo oznake Ob direktnem frontalnem pogledu na oznako, se ob premikanju kamere pojavi napaka aproksimacije oznake v tridimenzionalnem prostoru. V tem primeru opazimo manjše nekontrolirano obnašanje izrisa obogatene resničnosti. Po te-

57 5.2. DETEKCIJA OZNAKE Z UPORABO ODPRTOKODNE PROGRAMSKE KNJIŽNICE OPENCV 41 stiranju sklepamo, da napako najverjetneje povzroča funkcija cv::solvepnp, ki skrbi za izračun postavitve oznake v tridimenzionalen prostor. Testiranih je bilo več aplikacij s podobno implementacijo detekcije oznak, pri katerih opazimo podoben problem. Primer takšne aplikacije je tudi aplikacija AR Basketball [40], kjer se ob frontalnem pogledu na oznako pojavi napaka, ki privede do nenormalnega premikanja koša oziroma obogatene resničnosti. V aplikiciji to ne predstavlja ovire, saj z vrha nikoli ne mečemo na koš, temveč od spredaj ali od strani. Pojav te napake izvira iz omejitve uporabljenega koordinatnega sistema, kjer ob poravnavi dveh osi prihaja do problema imenovanega Gimbal Lock, ko nadalnje premikanje v tej smeri ni mogoče. Problem je viden na sliki Na levi strani je prikazano normalno premikanje vseh treh osi. Ob poravnavi dveh osi, pa se na desni strani slike 5.13 pojavi problem, imenovan Gimbal Lock. V tem primeru lahko letalo premikamo le še v smeri dveh osi, namesto v smeri vseh treh. Slika 5.13: Geometrijski problem, imenovan Gimbal Lock. Nekontrolirano premikanje za nekatere aplikacije ni moteče, saj pri delovanju ne uporabljajo čelnega frontalnega pogleda pri zaznavi oznake. V našem primeru pa se zanašamo na frontalni pogled, saj smo s harmoniko postavljeni direktno pred kamero tabličnega računalnika ipad. Kot rešitev problema smo uporabili enostavno rešitev, ki se je v uporabi izkazala za zelo dobro. Sami oznaki smo zamaknili perspektivo, kot je vidno

58 POGLAVJE ANALIZA METOD ZAZNAVE BASNE TIPKOVNICE DIATONIČNE HARMONIKE na sliki 5.14, s čimer se izognemo detekciji iz direktnega frontalnega pogleda. Spremembo perspektive oznake upoštevamo pri izrisu obogatene resničnosti. Slika 5.14: Prirejena oznaka z zamaknjeno perspektivo.

59 Poglavje 6 Predstavitev obogatene resničnosti z uporabo vmesnika OpenGL Aplikacija z obogateno resničnostjo postane uporabna šele s pravilno predstavitvijo informacije uporabniku. Informacije, ki jih potrebuje učenec diatonične harmonike, so: informacija o pritisnjeni tipki, informacija o uporabljenem prstu, informacija o smeri raztezanja ali stiskanja meha harmonike. Za izris obogatene resničnosti na zaslon je uporabljen vmesnik OpenGL (ang. Open Graphics Library), ki vsebuje funkcije za izris zahtevnih tridimenzionalnih ter tudi enostavnejših objektov. Leta 1992 ga razvije podjetje Silicon Graphics. V uporabljenem algoritmu zaznave oznake iz knjige [41] je prikaz obogatene resničnosti viden na sliki 6.1. Vmesnik OpenGL v okvir zaznane oznake izriše barvni kvadrat ter vse tri osi koordinatnega sistema. Osi so obarvane z rdečo, modro ter zeleno barvo. Za dejanski izris je uporabljen vektorski zapis vidnih elementov. Za naš izris smo podano implementacijo 43

60 44 POGLAVJE 6. PREDSTAVITEV OBOGATENE RESNIČNOSTI Z UPORABO VMESNIKA OPENGL prikaza obogatene resničnosti modificirali z uporabo tekstur. Slika 6.1: Prikaz obogatene resničnosti uporabljenega algoritma za zaznavo oznake. Za naš izris obogatene resničnosti ne potrebujemo zahtevnih tri dimenzionalnih objektov, ampak enostavnejše tri dimenzionalno izrisovanje slik shranjenih v formatu PNG (angl. Portable Network Graphics). Za ta format se odločimo na podlagi možnosti brezbarvnega prosojnega ozadja slike. Za uvoz slik v aplikacijo uporabimo razred GLKTextureLoader.h, ki je del knjižnice GLKit. Za izris slik uporabimo objekt tipa GLKTextureInfo [42], ki se uporablja za dejansko nalaganje slik v pomnilnik. S klicem OpenGL funkcije glbindtexture se slika dejansko izriše na zaslon. Sledi predstavitev slik in načina prikazovanja obogatene resničnosti. Vse uporabljene knjižnice so del osnovnega okolja Xcode. V projekt je bilo potrebno posebej namestiti le programsko knjižnico OpenCV.

61 6.1. SMER STISKANJA ALI RAZTEZANJA HARMONIKE Smer stiskanja ali raztezanja harmonike Informacija o stiskanju ali raztezanju harmonike je podana s sliko formata PNG, ki se vedno izrisuje nad oznako, postavljeno na basnem delu harmonike. Puščici sta vidni na sliki 6.2. V kolikor je potrebno stiskanje meha harmonike, se na ekranu izriše desno usmerjena puščica zelene barve. Če je potrebno raztezanje meha harmonike, se na ekranu izriše levo usmerjena puščica rdeče barve. Slika 6.2: Puščici, ki podajata informacijo o stiskanju ali raztezanju meha. Ob spremembi smeri raztezanja ali stiskanja meha se eno glasbeno dobo pred samo spremembo na zaslonu izriše puščica (slika 6.3) z manjšo puščico, ki naznanja spremembo smeri stiskanja. Slika 6.3: Puščici, ki podajata informacijo o spremembi stiskanja meha. 6.2 Prijem ustrezne tipke Za pravilno igranje diatonične harmonike je potrebno izrisati tudi informacijo o igrani tipki. Tipko je potrebno pritisniti, ko le to prekrije krogec določene barve (slika 6.4).

62 46 POGLAVJE 6. PREDSTAVITEV OBOGATENE RESNIČNOSTI Z UPORABO VMESNIKA OPENGL Slika 6.4: Možni obarvani krogci na pritisnjeni tipki. Pri glasbenem inštrumentu, na katerega igramo s prsti, je zaradi enostavnejšega igranja ter tudi hitrejših prijemov pomemben pravilni prstni red igranja. Za napačne prstne prijeme obstaja zelo dober izraz, da si igralec med igranjem lomi prste. Pravilen prstni prijem je v aplikaciji predstavljen z barvami na naslednji način (slika 6.5): mezinec določa rumena barva, prstanec določa modra barva, sredinec določa zelena barva, kazalec določa rdeča barva, palca ne upoštevamo, saj z njim ni mogoče doseči tipk basne polovice harmonike. Slika 6.5: Predstavitev prstov leve roke z barvami.

63 6.3. PRIJEM NASLEDNJE TIPKE 47 Obarvani krog, ki se izriše na ekranu je dejansko shranjen v nevtralni beli barvi. Obarvamo ga le med izrisom s klicem funkcije glcolor4f, ki je del vmesnika OpenGL. 6.3 Prijem naslednje tipke Pri igranju glasbila s pomočjo branja not igralec vedno sledi informaciji o naslednjem dogodku, to je noti. Če igralec v notnem zapisu ne bi iskal te informacije, njegovo igranje ne bi zvenelo tekoče. Zato smo tudi mi implementirali podajanje predinformacije o naslednji zaigrani tipki. Naslednja tipka, ki jo moramo pritisniti, počasi pridobiva na barvi, dokler ob pritisku ne zasveti z eno izmed določenih barv. Način pridobivanja gostote barv je viden na sliki 6.6. S to dodatno informacijo je proces učenja pospešen, kajti igralec je pripravljen na naslednji pritisk tipke. Slika 6.6: Način predstavitve informacije o naslednji pritisnjeni tipke. Tudi tu so obarvani krogi dejansko shranjeni v nevtralno beli barvi v formatu PNG. V aplikaciji pa so predstavljeni kot tekstura. Barvo in prosojnost teksture določamo s klicem funkcije glcolor4f, kjer z višanjem četrtega argumenta v funkciji znižujemo prosojnost. Tipka se tako postopoma obarva.

64

65 Poglavje 7 Podatkovni del aplikacije Predstavitev vseh potrebnih podatkov smo shranili v datoteko MIDI [26]. Datoteka MIDI omogoča zapis dogodkov, kot so NOTE ON, NOTE OFF ter VELOCITY. NOTE ON nastopi ob pritisku tipke, medtem ko NOTE OFF predstavlja konec pritiska določene tipke. Obe kontroli vsebujeta tudi podatek o hitrosti udarca (angl. Velocity). Pomembno je seveda tudi to, da so vsi dogodki določeni s kanalom MIDI (angl. MIDI channel), na katerem igrajo. Standard protokola MIDI določa da kanal številka 10 predstavlja zapis igranja bobnov. V primeru kršitve pravila bomo namesto zvokov določenega inštrumenta slišali zvoke bobnov. V implementaciji aplikacije smo definirali svoj sistem, kjer pa je izpuščen kanal številka 10, čeprav bi ga lahko uporabili. Ustvarjene datoteke MIDI so namreč namenjene izključno naši aplikaciji, kjer smo neodvisni od kakršnihkoli standardov in pravil protokola MIDI. Neodvisni smo pa zato, ker bomo uporabljali le za to aplikacijo zgrajen virtualni inštrument, s katerim bomo predvajali datoteke MIDI. V kolikor bi datoteke MIDI uporabljali še v drugih programih ter klaviaturah, si česa takega ne bi mogli dovoliti. 49

66 50 POGLAVJE 7. PODATKOVNI DEL APLIKACIJE 7.1 Zapis podatkov o prstnih prijemih v datoteki MIDI Podatki o pravilnem pritisku tipk so v datoteki MIDI shranjeni na kanalu številka 9. Ker pritisnjena tipka potrebuje tudi informacijo o uporabljenem prstu, nam protokol MIDI ponudi zelo dobro rešitev problema. NOTE ON tako določa pritisnjeno tipko (slika 7.1), VELOCITY pa uporabimo za predstavitev prsta, s katerim pritisnemo tipko. Implementacija bi lahko bila tudi obratna, vendar je ta način bolj naraven. Slika 7.1: Številčenje tipk basne tipkovnice. Informacjie o pritisnjeni tipki so shranjene na naslednji način: NOTE ON številka 1 predstavlja tipko številka 1, NOTE ON številka 2 predstavlja tipko številka 2, NOTE ON številka 3 predstavlja tipko številka 3, NOTE ON številka 4 predstavlja tipko številka 4, NOTE ON številka 5 predstavlja tipko številka 5, NOTE ON številka 6 predstavlja tipko številka 6, NOTE ON številka 7 predstavlja tipko številka 7,

67 7.1. ZAPIS PODATKOV O PRSTNIH PRIJEMIH V DATOTEKI MIDI51 NOTE ON številka 8 predstavlja tipko številka 8, NOTE ON številka 9 predstavlja tipko številka 9, NOTE ON številka 10 predstavlja tipko številka 10, NOTE ON številka 11 predstavlja tipko številka 11. Uporabljen prst pa je predstavljen s podatkom VELOCITY, ki je del podatka NOTE ON, na naslednji način: mezinec je predstavljen z VELOCITY vrednostjo 100, prstanec je predstavljen z VELOCITY vrednostjo 80, sredinec je predstavljen z VELOCITY vrednostjo 60, kazalec je predstavljen z VELOCITY vrednostjo 40, palec pa ne potrebuje te informacije, saj z njim ni mogoče doseči tipk. Na sliki 7.2 je vidna vizualna predstavitev kanala MIDI številka 9 v programu Cubase. Podolgovati ležeči pravokotniki predstavljajo podatka MIDI NOTE ON ter NOTE OFF, medtem ko pokončni stolpci na spodnji polovici slike predstavljajo kontrolo VELOCITY. Slika 7.2: Kanal MIDI številka 9 v programu Cubase.

68 52 POGLAVJE 7. PODATKOVNI DEL APLIKACIJE 7.2 Zapis podatkov o smeri stiskanja meha v datoteki MIDI Podatki o mehu so postavljeni na zadnji kanal MIDI številka 16. Podatek je, enako kot pri pravilnem prstnem prijemu, shranjen kot tip NOTE ON na način kjer: NOTE ON številka 1 pomeni stiskanje meha, NOTE ON številka 2 pomeni raztezanje meha, NOTE ON številka 3 pomeni, da v naslednji glasbeni dobi sledi prehod iz stiskanja na raztezanje meha, NOTE ON številka 4 pomeni, da v naslednji glasbeni dobi sledi prehod iz raztezanja na stiskanje meha, NOTE ON številka 0 pa uporabimo za označitev konca pesmi. Ker so pri mehu dejansko potrebne le te informacije, je podatek o hitrosti VELOCITY nepomemben.

69 Poglavje 8 Virtualni inštrument za predvajanje zvoka diatonične harmonike V datoteki MIDI niso shranjeni le podatki o pritisnjenih tipkah ter smeri raztezanja meha. Za samo predvajanje melodije diatonične harmonike v aplikaciji potrebujemo tri kanale MIDI. Tako bo uporabniku omogočeno tudi poslušanje pravilno zaigrane pesmi. Protokol MIDI smo predstavili v podpoglavju Največja prednost uporabe formata MIDI je v neodvisnosti kvalitete zvoka od hitrosti predvajanja pesmi. Z uporabo standardnih zvočnih datotek bi se s spreminjanjem hitrosti zmanjševala kvaliteta zvoka. Ob pohitritvi pesmi bi se tako tudi intonacija zvišala ter obratno. Ker pa za predvajanje uporabimo virtualni inštrument s posebej posnetimi zvoki vsakega tona harmonike, se le to ne zgodi. Tako si lahko vsak uporabnik nastavi hitrost predvajanja pesmi, glede na svojo spretnost igranja. V tem poglavju si poglejmo zgradbo virtualnega inštrumenta, ki skrbi za zvočni del aplikacije. V osnovi je arhitektura zvočnega dela aplikacij zgrajena iz manjših avdio enot, ki skupaj predstavljajo celoto imenovano zvočni graf razreda AUGraph (angl. Audio Graph) (slika 8.1). Apple nam za upo- 53

70 54 POGLAVJE 8. VIRTUALNI INŠTRUMENT ZA PREDVAJANJE ZVOKA DIATONIČNE HARMONIKE rabo ponuja sledeče avdio enote: Effects, Instruments, Generators, Panners, Converters, Mixers, Offline effects in Output units. Izmed vseh izberemo le nam nujne za implementacijo. Te so Instrumets, Mixer ter Output unit. Slika 8.1: Shema različnih avdio enot, priključenih na mešalno mizo v programskem jeziku Objective C. 8.1 Arhitektura virtualnega inštrumenta za predvajanje datoteke MIDI Protokol MIDI se zaradi svoje uporabnosti uporablja tudi pri diatoničnih harmonikah. Poznane so harmonike z vgrajeno elektroniko protokola MIDI, katere se z MIDI kablom poveže na sintetizatorje ali vzorčnike zvoka. V glasbi pojem vzorčnik (angl. Sampler) predstavlja glasbeni inštrument (slika 8.2), ki je sposoben snemanja zvokov iz okolja, recimo zvena enega udarca bobna ter le tega pozicionirati na tipkovnici virtualnega inštrumenta. Če se ta zvok nahaja na tipki 60, ga s signalom MIDI NOTE ON 60 ponovno zaigramo. Na ta isti način z igranjem električnih bobnov vzorčnik reproducira zvok originalnih analognih bobnov. Svetovna glasbena industrija sloni na tej tehnologiji, saj poveča in izboljša možnosti reprodukcije zvoka analognih

71 8.1. ARHITEKTURA VIRTUALNEGA INŠTRUMENTA ZA PREDVAJANJE DATOTEKE MIDI 55 glasbil. Ta princip je največkrat uporabljen za reproduciranje zvoka pravega analognega klavirja z igranjem na cenejšo električno klaviaturo MIDI. Komunikacija med MIDI klaviaturo ter virtualnim inštrumentom poteka po pravilih protokola MIDI. Slika 8.2: Primer vzorčnika zvoka (angl. virtualnega inštrumenta. Sampler), ki deluje po principu S pritiski na tipke basne tipkovnice diatonične harmonike lahko igramo base ali sestavljene akorde. Razporeditev basov in akordov na basni tipkovnici je vidna na sliki 8.3, kjer črka A predstavlja akorde, črka B pa base. V standardu MIDI sistema se diatonična harmonika zaradi njene sestave poslužuje naslednje razporeditve MIDI kanalov, katero uporabimo tudi mi: MIDI kanal št. 1 predstavlja desno melodično stran harmonike, MIDI kanal št. 2 predstavlja akorde leve basne strani harmonike, MIDI kanal št. 3 predstavlja base leve basne strani harmonike.

72 56 POGLAVJE 8. VIRTUALNI INŠTRUMENT ZA PREDVAJANJE ZVOKA DIATONIČNE HARMONIKE Slika 8.3: Razporeditev basov in akordov na basni tipkovnici diatonične harmonike. Za predvajanje MIDI datoteke potrebujemo virtualni inštrument, ki bo znal predvajati zvok diatonične harmonike. Sestavimo ga iz treh avdio enot Sampler unit. Sampler unit št. 1 reproducira zvok melodije desne melodične strani, ki se nahaja na MIDI kanalu št. 1, Sampler unit št. 2 reproducira zvok akordov leve basne polovice, ki se nahajajo na MIDI kanalu št. 2, Sampler unit št. 3 reproducira zvok basov leve basne plovice, ki se nahajajo na MIDI kanalu št. 3. Zgoraj navedene avdio enote so priključene na zvočne vhode mešalne mize, objekta razreda Mixer, ki vse dobljene signale združi v en sam zvočni signal. Shema povezav je vidna na sliki 8.4. Mešalna miza omogoča spreminjanje jakosti zvočnih vhodnih signalov ter mešanje le teh. Uporabnik bo s pomočjo drsnikov nadziral nivo glasnosti posameznih zvočnih kanalov. Za spreminjanje jakosti zvoka v mešalni mizi je uporabljena funkcija AudioUnitSetParameter.

73 8.2. PREDSTAVITEV DATOTEKE MIDI V APLIKACIJI 57 Slika 8.4: Avdio graf aplikacije. 8.2 Predstavitev datoteke MIDI v aplikaciji Za uvoz MIDI datoteke v aplikacijo je uporabljen razred MusicSequence [35], ki datoteko MIDI predstavi kot sekvenco oziroma zaporedje. Objektu razreda MusicSequence je potrebno nastaviti še ustrezni objekt razreda AUGraph s klicem funkcije MusicSequenceSetAUGraph. Celotna shema predstavitve MIDI datoteke v aplikaciji je vidna na sliki 8.5. MIDI kanali so v objektu razreda MusicSequence postavljeni po istem naraščajočem vrstnem redu kot v datoteki MIDI. Sedaj pa ne govorimo več o MIDI kanalnih, ampak o objektih razreda MusicTrack [36]. S funkcijo MusicSequenceGetIndTrack razdelimo elemente objekte razreda MusicSequence na objekte razreda MusicTrack, kjer vsak vsebuje podatke MIDI svojega MIDI kanala uvožene datoteke MIDI. Sledi le še klic funkcije MusicTrackSetDestNode, ki pošlje objekt tipa MusicTrack na ustrezno enoto razreda SamplerUnit našega virtualnega inštrumenta. V implementaciji nastavimo izhode prvih treh objektov tipa MusicTrack na virtualni inštrument, medtem ko zadnja dva uporabimo za kontrolo predstavitve obogatene resničnosti meha ter pritisnjenih tipk.

74 58 POGLAVJE 8. VIRTUALNI INŠTRUMENT ZA PREDVAJANJE ZVOKA DIATONIČNE HARMONIKE Slika 8.5: Shema uvožene datoteke MIDI v aplikacijo.

75 Poglavje 9 Sinhronizacija predvajane pesmi s prikazom obogatene resničnosti Seznanjeni smo s podatkovnim delom aplikacije, MIDI datoteko ter uvozom le te v aplikacijo. MIDI kanali so razporejeni po objetkih razreda MusicTrack, ki pa med samim predvajanjem pesmi ne omogočajo direktnega sinhronega vpogleda v svoje elemente. Omenjenemu objektu razreda MusicTrack je mogoče le določiti končno lokacijo elementov. To so avdio enote SamplerUnit, ki predstavljajo dejanski izvor zvočnega signala aplikacije. Med samim predvajanjem pesmi moramo izluščiti podatke potrebne za prikazovanje obogatene resničnosti, shranjene v objektu tipa MusicTrack. Edini dostop do elementov objekta razreda MusicTrack predstavlja objekt razreda MusicEventIterator [37]. V osnovi je to objekt iterator, s katerim se je moč sprehoditi preko vseh elementov objekta razreda MusicTrack. Funkcija, ki bi omogočala sinhron dostop do podatkov med predvajanjem pesmi, ne obstaja. Tako implementiramo svoj algoritem, ki bo poskrbel za sinhronizacijo predvajane pesmi s podatki, potrebnimi za prikaz obogatene resničnosti. V aplikaciji je uporabljena časovna enota tipa MusicTimeStamp. Do 59

76 60 POGLAVJE 9. SINHRONIZACIJA PREDVAJANE PESMI S PRIKAZOM OBOGATENE RESNIČNOSTI trenutnega časa med samim predvajanjem pesmi pridemo s klicem funkcije MusicPlayerGetTime. Z uporabo trenutnega časa v predvajani skladbi ter s klicem funkcije MusicEventIteratorSeek poiščemo naslednji dogodek v objektu tipa MusicTrack. Funkcija MusicEventIteratorNextEvent pomakne izbrani iterator na naslednji dogodek v seznamu. S klicem funkcije MusicEventIteratorGetEventInfo pa pridobimo vse podatke trenutnega objekta shranjenega v iteratorju. Sedaj je potrebna le še sinhronizacija objekta tipa MusicEventIterator s trenutnim časom v predvajani skladbi. Vse navedeno je implementirano v funkciji synchronizetime na naslednji način: 1 ( void ) synchronizetime { 3 MusicTimeStamp timestampinsong ; MusicPlayerGetTime ( myplayer, &timestampinsong ) ; 5 //imamo l o k a c i j o v pesmi MusicEventIterator itertipkakontrola ; // i t e r a t o r 7 NewMusicEventItarator ( trackbasprsti, &itertipkakontrola ) ; MusicEventIteratorSeek ( itertipkakontrola, timestampinsong ) ; 9 MusicEventType eventtypekontrolatipka = 0 ; Const void eventdatakontrolatipka = NULL; 11 Uint32 eventdatasizekontrolatipka = 0 ; MusicTimeStamp durationkontrolatipka = 0 ; 13 Int notekontrolatipka = 0 ; Int v elocitykontrolatipka = 0 ; 15 MusicTimeStamp timestampkontrolatipka ; MusicEventIteratorGetEventInfo ( itertipkakontrola, & timestampkontrolatipka, &eventtypekontrolatipka, & eventdatakontrolatipka, &eventdatasizekontrolatipka ) ; 17 // podatki i t e r a t o r j a NSSTring StringCasPlayer ; 19 NSString timestamptipkastring ; timestamptipkastring = [ NSSTring stringwithformat %.1 f, timestampkontrolatipka ] ; 21 StringCasPlayer = [ NSSTring stringwithformat %.1 f,

77 61 timestampinsong ] ; Boolean i s P l a y i n g = 0 ; 23 MusicPlayerIsPlaying ( myplayer, &i s P l a y i n g ) ; While ( i s P l a y i n g ) 25 // zanka se i z v a j a d o k l e r se skladba predvaja { 27 I f ( [ s t r i n g C a s P l a y e r isequaltostring : timestamptipkastring ] ) { 29 I f ( eventtypekontrolatipka == kmusiceventtype MIDINoteMessage ) { 31 MIDINoteMessage notemessagekontrolatipka = ( MIDINoteMeassage ) eventdatakontrolatipka ; notekontrolatipka = notemessagekontrolatipka > note ; 33 velocitykontrolatipka = notemessagekontrolatipka > v e l o c i t y ; durationkontrolatipka = notemessagekontrolatipka > duration ; 35 MusicEventIteratorNextEvent ( itertipkakontrola ) ; MusicEventIteratorGetEventInfo ( itertipkakontrola, & timestampkontrolatipka, &eventtypekontrolatipka, & eventdatakontrolatipka, &eventdatasizekontrolatipka ) ; 37 globalnote = notekontrolatipka ; g l o b a l V e l o c i t y = velocitykontrolatipka ; 39 [ s e l f performselectoronmainthread ( updatelabelfinger ) withobject : n i l waituntildone :NO] ; timestamptipkastring = [ NSSTring stringwithformat %.1 f, timestampkontrolatipka ] ; 41 } } 43 MusicPlayerGetTime ( myplayer, &timestampinsong ) ; StringCasPlayer = [ NSSTring stringwithformat %.1 f, timestampinsong ] ; 45 MusicPlayerIsPlaying ( myplayer, &i s P l a y i n g ) ; // a l i se pesem predvaja 47 }}

78 62 POGLAVJE 9. SINHRONIZACIJA PREDVAJANE PESMI S PRIKAZOM OBOGATENE RESNIČNOSTI Preverjanje sinhronizacije poteka zanki, ki se med predvajanjem skladbe stalno ponavlja. V kolikor se zanka izvaja na glavni niti aplikacije, se pojavi problem neodzivanja grafičnega vmesnika aplikacije. Objective C omogoča večnitno programiranje [43], kar v naši implementaciji tudi uporabimo. Funkcijo, ki skrbi za sinhronizacijo predvajane skladbe s prikazom obogatene resničnosti, tako izvajamo v lastni niti objekta razreda NSThread, s čimer grafični vmesnik aplikacije postane normalno odziven. Med počasnejšim predvajanjem skladbe pa izvajanje zanke upočasnimo s klici funkcije usleep, ki izvajanje niti ustavi za določeno število milisekund. Tako prihranimo procesorsko moč tabličnega računalnika.

79 Poglavje 10 Aplikacija za učenje igranja basov diatonične harmonike Aplikacija je izdelana samo za uporabo na tabličnem računalniku ipad. Ker je za delovanje aplikacije potrebna tudi kamera, aplikacija ne bo delovala na ipadu prve generacije. Postavitev harmonike ter tabličnega račuanlnika je vidna na sliki Grafični vmesnik je zasnovan na način, da je uporabniku čimbolj razumljiv. Aplikacija uporablja vodoravni način prikaza (angl. Landscape mode). Tako se odločimo zaradi načina igranja harmonike, kjer je potrebno raztezanje in stiskanje meha v širino. V primeru da uporabnik z basnim delom harmonike zaide iz vidnega polja kamere, lahko svoj položaj popravi s pritiskom na tipko imenovano sapnik. Le ta se nahaja na zunanji strani leve polovice harmonike. Vsaka harmonika jo ima, saj je nujno potrebna pri sproščanju ter zajemanju zraka v meh harmonike. 63

80 64 POGLAVJE 10. APLIKACIJA ZA UČENJE IGRANJA BASOV DIATONIČNE HARMONIKE Slika 10.1: Uporaba aplikacije v praksi Glavno okno aplikacije Bistvo aplikacije predstavlja čim boljša predstavitev obogatene resničnosti na zaslonu (slika 10.2), zato je potrebno prostorsko omejiti število prikazanih kontrol na zaslonu. Prva kontrola je tipka za začetek predvajanja pesmi. Ob naslednjem pritisku na ta isti gumb pa se predvajanje pesmi ustavi. V primeru da se je pesem odvrtela do konca, se s ponovnim pritiskom na to isto tipko začne predvajati od začetka. Kontrola predvajanja je implementirana podobno kot pri ostalih predvajalnikih video ter avdio vsebin. Sama tipka je razmeroma majhne velikosti, kar za uporabnika med igranjem predstavlja problem. Za lažji pritisk nanjo je implementacija tipke razširjena na celotni zaslon pod drsnikom. Tako uporabnik z enim dotikom na zaslon prične predvajati izbrano skladbo. Edina drsna kontrola na glavnem oknu podaja informacijo o trenutni lokaciji v pesmi. Ob pritsku nanjo ter drsenju s prstom po njej spreminjamo

81 10.2. NASTAVITVE PREDVAJANJA SKLADBE 65 trenutno lokacijo v pesmi. Uporabnik se tako lahko hitro osredotoči in postavi na izbrani del pesmi. V spodnjem desnem robu sta še dve tipki za prikaz dveh različnih menujev nastavitev aplikacije. Do nastavitev je mogoč dostop med samim predvajanjem skladbe. Slika 10.2: Glavno uporabniško okno končane aplikacije Nastavitve predvajanja skladbe Ob pritisku tipke z napisom Nastavitve aplikacija prikaže kontrole, ki služijo nastavitvam predvajanja pesmi (slika 10.3). Na vrh zaslona je postavljena tipka za izhod iz menija. Pod njo se nahaja drsnik za nastavljenje hitrosti predvajanja. Uporabnik določi hitrost predvajanja glede na svojo sposobnost igranja. S klicem funkcije MusicPlayerSetPlayRateScalar spre-

82 66 POGLAVJE 10. APLIKACIJA ZA UČENJE IGRANJA BASOV DIATONIČNE HARMONIKE minjamo hitrost predvajanja skladbe. Sledijo štiri tipke za izbiro pesmi. Nižje so postavljeni še trije drsniki, povezani z mešalno mizo našega virtualnega inštrumenta. Prvi drsnik kontrolira nivo glasnosti prvega kanala mešalne mize, na katerem se predvaja melodična stran harmonike. Drugi drsnik kontrolira jakost drugega kanala, skozi katerega potuje zvok akordov basnega dela harmonike. Zadnji, tretji drsnik pa kontrolira jakost basov harmonike. Uporabnik si tako sam nastavi nivoje glasnosti harmonike. Dober primer uporabe je, ko uporabnik utiša nivo glasnosti akordov ter basov in jih poskusi nadomestiti z lastnim igranjem. Medtem se predvaja samo zvok melodične polovice diatonične harmonike. Diatonične harmonike so uglašene v različnih durovskih kombinacijah. Uporabniku je tako omogočena izbira ustreznega durovskega načina glede na njegovo harmoniko. Igranje se pri različnih uglasitvah harmonike ne spreminja, edino, kar se spremeni je višina intonacije skladbe. Tako moramo spremeniti le intonacijo predvajane skladbe, medtem ko se prikazana obogatena resničnost ne spremeni. Spreminjanje intonacije se v glasbenem žargonu imenuje transponiranje za določeno število poltonov. Transponiranje opravimo na sami avdio enoti razreda samplerunit, kjer s klicem funkcije AudioUnitSetParameter na željeno vrednost nastavimo parameter kausamplerparamcoarsetuning.

83 10.3. NASTAVITVE PRIKAZA OBOGATENE RESNIČNOSTI 67 Slika 10.3: Prikaz nastavitev predvajanja pesmi Nastavitve prikaza obogatene resničnosti Uporabnik si poleg basnih tipk namesti oznako vidno na sliki Položaj in razmaki tipk se na levi basni strani harmonike razlikujejo glede na izdelovalca harmonik. Gre za majhna odstopanja, vendar dovolj velika za omembo ter da omogočimo uporabniku samostojno nastavitev položaja ter velikosti prikaza obogatene resničnosti glede na zaznano oznako (slika 10.4). Točna lokacija in velikost oznake tako nista nujno potrebna. Ob pritisku na gumb Oznaka na glavnem uporabniškem oknu se na zaslon izrišejo drsne kontrole za nastavitev. Vse tipke, ki predstavljajo obogateno resničnost aplikacije, sedaj zasvetijo z nevtralno belo barvo. Uporabnik z drsniki dodatno nastavi prikaz obogatene resničnosti, tako da tipke obogatene resničnosti prekrijejo basne tipke diatonične harmonike. Pravilna nastavitev je vidna na sliki Drsniki si sledijo po sledečem vrstem redu:

84 68 POGLAVJE 10. APLIKACIJA ZA UČENJE IGRANJA BASOV DIATONIČNE HARMONIKE drsnik za povečavo navzgor, drsnik za povečavo navzdol, drsnik za povečavo v levo, drsnik za povečavo v desno, drsnik za globino prve vrste (kjer je 6 tipk), drsnik za globino druge vrste (kjer je 5 tipk). Basne tipke diatonične harmonike so postavljene v dveh vrstah. Da lahko igralec normalno doseže vse tipke, so tipke prve vrste postavljene približno 13 milimetrov globlje glede na tipke druge vrste. Pri nekaterih harmonikah obstajajo majhna odstopanja. Za določanje globine prikaza sta uporabljena spodnja dva drsnika vidna na sliki Slika 10.4: Natančna nastavitev položaja prikaza obogatene resničnosti glede na oznako.

Reševanje problemov in algoritmi

Reševanje problemov in algoritmi Reševanje problemov in algoritmi Vhod Algoritem Izhod Kaj bomo spoznali Zgodovina algoritmov. Primeri algoritmov. Algoritmi in programi. Kaj je algoritem? Algoritem je postopek, kako korak za korakom rešimo

More information

Univerza na Primorskem. Fakulteta za matematiko, naravoslovje in informacijske tehnologije. Zaznavanje gibov. Zaključna naloga

Univerza na Primorskem. Fakulteta za matematiko, naravoslovje in informacijske tehnologije. Zaznavanje gibov. Zaključna naloga Univerza na Primorskem Fakulteta za matematiko, naravoslovje in informacijske tehnologije Boštjan Markežič Zaznavanje gibov Zaključna naloga Koper, september 2011 Mentor: doc. dr. Peter Rogelj Kazalo Slovarček

More information

OPTIMIRANJE IZDELOVALNIH PROCESOV

OPTIMIRANJE IZDELOVALNIH PROCESOV OPTIMIRANJE IZDELOVALNIH PROCESOV asist. Damir GRGURAŠ, mag. inž. str izr. prof. dr. Davorin KRAMAR damir.grguras@fs.uni-lj.si Namen vaje: Ugotoviti/določiti optimalne parametre pri struženju za dosego

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Optimizacija 1 Course title: Optimization 1. Študijska smer Study field

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Optimizacija 1 Course title: Optimization 1. Študijska smer Study field UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Optimizacija 1 Course title: Optimization 1 Študijski program in stopnja Study programme and level Univerzitetni študijski program Matematika

More information

2 Zaznavanje registrske tablice

2 Zaznavanje registrske tablice Razpoznavanje avtomobilskih registrskih tablic z uporabo nevronskih mrež Matej Kseneman doc. dr. Peter Planinšič, mag. Tomaž Romih, doc. dr. Dušan Gleich (mentorji) Univerza v Mariboru, Laboratorij za

More information

R V P 2 Predavanje 05

R V P 2 Predavanje 05 R V P 2 Predavanje 05 Kreiranje programskih modulov - Scripts RVP2 Kreiranje programskih modulov 1/44 Programski moduli -Scripts Možnosti: Omogočajo: Izvajanje ukazov Izvajanje logičnih operacij Ob določenih

More information

Sistem za sledenje in analizo uporabe računalniških aplikacij

Sistem za sledenje in analizo uporabe računalniških aplikacij Univerza v Ljubljani Fakulteta za računalništvo in informatiko Dejan Mesar Sistem za sledenje in analizo uporabe računalniških aplikacij DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: izr. prof. dr.

More information

OA07 ANNEX 4: SCOPE OF ACCREDITATION IN CALIBRATION

OA07 ANNEX 4: SCOPE OF ACCREDITATION IN CALIBRATION OA07 ANNEX 4: SCOPE OF ACCREDITATION IN CALIBRATION Table of contents 1 TECHNICAL FIELDS... 2 2 PRESENTING THE SCOPE OF A CALIBRATION LABOORATORY... 2 3 CONSIDERING CHANGES TO SCOPES... 6 4 CHANGES WITH

More information

Hipohamiltonovi grafi

Hipohamiltonovi grafi Hipohamiltonovi grafi Marko Čmrlec, Bor Grošelj Simić Mentor(ica): Vesna Iršič Matematično raziskovalno srečanje 1. avgust 016 1 Uvod V marsovskem klubu je želel predsednik prirediti večerjo za svoje člane.

More information

ENERGY AND MASS SPECTROSCOPY OF IONS AND NEUTRALS IN COLD PLASMA

ENERGY AND MASS SPECTROSCOPY OF IONS AND NEUTRALS IN COLD PLASMA UDK621.3:(53+54+621 +66), ISSN0352-9045 Informaclje MIDEM 3~(~UU8)4, Ljubljana ENERGY AND MASS SPECTROSCOPY OF IONS AND NEUTRALS IN COLD PLASMA Marijan Macek 1,2* Miha Cekada 2 1 University of Ljubljana,

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Inženirski pristop k načrtovanju in implementaciji reševalca Sudoku za mobilne naprave (Engineering

More information

Iskanje najcenejše poti v grafih preko polkolobarjev

Iskanje najcenejše poti v grafih preko polkolobarjev Univerza v Ljubljani Fakulteta za računalništvo in informatiko Veronika Horvat Iskanje najcenejše poti v grafih preko polkolobarjev DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE

More information

Distance reduction with the use of UDF and Mathematica. Redukcija dolžin z uporabo MS Excel ovih lastnih funkcij in programa Mathematica

Distance reduction with the use of UDF and Mathematica. Redukcija dolžin z uporabo MS Excel ovih lastnih funkcij in programa Mathematica RMZ Materials and Geoenvironment, Vol. 54, No. 2, pp. 265-286, 2007 265 Distance reduction with the use of UDF and Mathematica Redukcija dolžin z uporabo MS Excel ovih lastnih funkcij in programa Mathematica

More information

Topološka obdelava slik

Topološka obdelava slik Univerza v Ljubljani Fakulteta za računalništvo in informatiko Fakulteta za matematiko in fiziko Matjaž Cerar Topološka obdelava slik DIPLOMSKO DELO UNIVERZITETNI INTERDISCIPLINARNI ŠTUDIJ RAČUNALNIŠTVA

More information

Zgoščevanje podatkov

Zgoščevanje podatkov Zgoščevanje podatkov Pojem zgoščevanje podatkov vključuje tehnike kodiranja, ki omogočajo skrajšan zapis neke datoteke. Poznan program za zgoščevanje datotek je WinZip. Podatke je smiselno zgostiti v primeru

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS Numerical linear algebra. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work

UČNI NAČRT PREDMETA / COURSE SYLLABUS Numerical linear algebra. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS Numerična linearna algebra Numerical linear algebra Študijski program in stopnja Study programme and level Univerzitetni študijski program Matematika

More information

The consequences of quantum computing

The consequences of quantum computing University of Ljubljana Faculty of Computer and Information Science Kokan Malenko The consequences of quantum computing BACHELOR S THESIS UNDERGRADUATE UNIVERSITY STUDY PROGRAM COMPUTER SCIENCE AND MATHEMATICS

More information

Calculation of stress-strain dependence from tensile tests at high temperatures using final shapes of specimen s contours

Calculation of stress-strain dependence from tensile tests at high temperatures using final shapes of specimen s contours RMZ Materials and Geoenvironment, Vol. 59, No. 4, pp. 331 346, 2012 331 Calculation of stress-strain dependence from tensile tests at high temperatures using final shapes of specimen s contours Določitev

More information

Razvoj spletnega slovarja slovenskega znakovnega jezika

Razvoj spletnega slovarja slovenskega znakovnega jezika Univerza v Ljubljani Fakulteta za računalništvo in informatiko Luka Cempre Razvoj spletnega slovarja slovenskega znakovnega jezika DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJ RAČUNALNIŠTVA IN INFORMATIKE Mentor:

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. O neeksaknotsti eksaktnega binomskega intervala zaupanja

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. O neeksaknotsti eksaktnega binomskega intervala zaupanja UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga (Final project paper) O neeksaknotsti eksaktnega binomskega intervala zaupanja (On the inexactness

More information

TOPLJENEC ASOCIIRA LE V VODNI FAZI

TOPLJENEC ASOCIIRA LE V VODNI FAZI TOPLJENEC ASOCIIRA LE V VODNI FAZI V primeru asociacij molekul topljenca v vodni ali organski fazi eksperimentalno določeni navidezni porazdelitveni koeficient (P n ) v odvisnosti od koncentracije ni konstanten.

More information

ENAČBA STANJA VODE IN VODNE PARE

ENAČBA STANJA VODE IN VODNE PARE ENAČBA STANJA VODE IN VODNE PARE SEMINARSKA NALOGA PRI PREDMETU JEDRSKA TEHNIKA IN ENERGETIKA TAMARA STOJANOV MENTOR: IZRED. PROF. DR. IZTOK TISELJ NOVEMBER 2011 Enačba stanja idealni plin: pv = RT p tlak,

More information

USING THE DIRECTION OF THE SHOULDER S ROTATION ANGLE AS AN ABSCISSA AXIS IN COMPARATIVE SHOT PUT ANALYSIS. Matej Supej* Milan Čoh

USING THE DIRECTION OF THE SHOULDER S ROTATION ANGLE AS AN ABSCISSA AXIS IN COMPARATIVE SHOT PUT ANALYSIS. Matej Supej* Milan Čoh Kinesiologia Slovenica, 14, 3, 5 14 (28) Faculty of Sport, University of Ljubljana, ISSN 1318-2269 5 Matej Supej* Milan Čoh USING THE DIRECTION OF THE SHOULDER S ROTATION ANGLE AS AN ABSCISSA AXIS IN COMPARATIVE

More information

USING SIMULATED SPECTRA TO TEST THE EFFICIENCY OF SPECTRAL PROCESSING SOFTWARE IN REDUCING THE NOISE IN AUGER ELECTRON SPECTRA

USING SIMULATED SPECTRA TO TEST THE EFFICIENCY OF SPECTRAL PROCESSING SOFTWARE IN REDUCING THE NOISE IN AUGER ELECTRON SPECTRA UDK 543.428.2:544.171.7 ISSN 1580-2949 Original scientific article/izvirni znanstveni ~lanek MTAEC9, 49(3)435(2015) B. PONIKU et al.: USING SIMULATED SPECTRA TO TEST THE EFFICIENCY... USING SIMULATED SPECTRA

More information

Platforma Trafika v HTML5

Platforma Trafika v HTML5 Univerza v Ljubljani Fakulteta za računalništvo in informatiko Aleksander Gregorka Platforma Trafika v HTML5 DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN INFORMATIKA

More information

Razpoznavanje znakov prstne abecede na osnovi računalniškega vida

Razpoznavanje znakov prstne abecede na osnovi računalniškega vida Univerza v Ljubljani Fakulteta za računalništvo in informatiko Grega Kres Razpoznavanje znakov prstne abecede na osnovi računalniškega vida diplomsko delo na visokošolskem strokovnem študiju doc. dr. Iztok

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work

UČNI NAČRT PREDMETA / COURSE SYLLABUS. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS Optimizacija Optimization Študijski program in stopnja Study programme and level Visokošolski strokovni študijski program Praktična matematika

More information

Analogna elektronska vezja. Uvodna vaja

Analogna elektronska vezja. Uvodna vaja Analogna elektronska vezja Uvodna vaja Povzetek Namen uvodne vaje je, da študenti spoznajo orodja, ki jih bojo uporabljali pri laboratorijskih vajah predmeta Analogna elektronska vezja in sicer: podatkovne

More information

OPP Programska oprema

OPP Programska oprema OPP Programska oprema doc.dr.eva Jereb Fakulteta za organizacijske vede Univerza v Mariboru e mail: : eva.jereb@fov.uni mb.si PROGRAMSKA OPREMA SISTEMSKA : (operacijski sistem) vsebuje programe za kontrolo,

More information

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA POLONA ŠENKINC REŠEVANJE LINEARNIH DIFERENCIALNIH ENAČB DRUGEGA REDA S POMOČJO POTENČNIH VRST DIPLOMSKO DELO

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA POLONA ŠENKINC REŠEVANJE LINEARNIH DIFERENCIALNIH ENAČB DRUGEGA REDA S POMOČJO POTENČNIH VRST DIPLOMSKO DELO UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA POLONA ŠENKINC REŠEVANJE LINEARNIH DIFERENCIALNIH ENAČB DRUGEGA REDA S POMOČJO POTENČNIH VRST DIPLOMSKO DELO LJUBLJANA, 2016 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA

More information

Attempt to prepare seasonal weather outlook for Slovenia

Attempt to prepare seasonal weather outlook for Slovenia Attempt to prepare seasonal weather outlook for Slovenia Main available sources (ECMWF, EUROSIP, IRI, CPC.NCEP.NOAA,..) Two parameters (T and RR anomally) Textual information ( Met Office like ) Issued

More information

Preverjanje optimiziranosti spletnih strani

Preverjanje optimiziranosti spletnih strani UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Boštjan Hozjan Preverjanje optimiziranosti spletnih strani DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Ljubljana, 2016 UNIVERZA V LJUBLJANI

More information

Univerza v Ljubljani Fakulteta za matematiko in fiziko. Oddelek za fiziko. Seminar - 3. letnik, I. stopnja. Kvantni računalniki. Avtor: Tomaž Čegovnik

Univerza v Ljubljani Fakulteta za matematiko in fiziko. Oddelek za fiziko. Seminar - 3. letnik, I. stopnja. Kvantni računalniki. Avtor: Tomaž Čegovnik Univerza v Ljubljani Fakulteta za matematiko in fiziko Oddelek za fiziko Seminar - 3. letnik, I. stopnja Kvantni računalniki Avtor: Tomaž Čegovnik Mentor: prof. dr. Anton Ramšak Ljubljana, marec 01 Povzetek

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Prototip mobilnega čitalca registrskih tablic za preverjanje parkirnin (Prototype of mobile license

More information

JEDRSKA URA JAN JURKOVIČ. Fakulteta za matematiko in fiziko Univerza v Ljubljani

JEDRSKA URA JAN JURKOVIČ. Fakulteta za matematiko in fiziko Univerza v Ljubljani JEDRSKA URA JAN JURKOVIČ Fakulteta za matematiko in fiziko Univerza v Ljubljani Natančnost časa postaja vse bolj uporabna in pomembna, zato se rojevajo novi načini merjenja časa. Do danes najbolj natančnih

More information

arxiv: v1 [cs.dm] 21 Dec 2016

arxiv: v1 [cs.dm] 21 Dec 2016 UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE arxiv:1612.07113v1 [cs.dm] 21 Dec 2016 Zaključna naloga (Final project paper) Odčitljivost digrafov in dvodelnih

More information

Lokalizacija mobilnega robota s pomočjo večsmerne kamere

Lokalizacija mobilnega robota s pomočjo večsmerne kamere Univerza v Ljubljani Fakulteta za računalništvo in informatiko Iztok Oder Lokalizacija mobilnega robota s pomočjo večsmerne kamere DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

More information

Povezljivost sistema ERP SAP z mobilnimi napravami

Povezljivost sistema ERP SAP z mobilnimi napravami Univerza v Ljubljani Fakulteta za računalništvo in informatiko Leon Oven Povezljivost sistema ERP SAP z mobilnimi napravami DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work

UČNI NAČRT PREDMETA / COURSE SYLLABUS. Študijska smer Study field. Samost. delo Individ. work Klinične vaje work Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS Statistika Statistics Študijski program in stopnja Study programme and level Univerzitetni študijski program Matematika First cycle academic

More information

Naloge iz LA T EXa : 3. del

Naloge iz LA T EXa : 3. del Naloge iz LA T EXa : 3. del 1. V besedilo vklju ite naslednjo tabelo skupaj z napisom Kontrolna naloga Dijak 1 2 Povpre je Janko 67 72 70.5 Metka 72 67 70.5 Povpre je 70.5 70.5 Tabela 1: Rezultati kontrolnih

More information

Ministrstvo za infrastrukturo in prostor Geodetska uprava Republike Slovenije TOPO & INSPIRE WORKSHOP

Ministrstvo za infrastrukturo in prostor Geodetska uprava Republike Slovenije TOPO & INSPIRE WORKSHOP Ministrstvo za infrastrukturo in prostor Geodetska uprava Republike Slovenije TOPO & INSPIRE WORKSHOP Ljubljana, 5. februar 2014 VSEBINA DELAVNICE DAY 1 Wednesday FEBRUARY 5 th 2014 9.00 10.30 PLENARY

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Analiza 3 Course title: Analysis 3. Študijska smer Study field ECTS

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Analiza 3 Course title: Analysis 3. Študijska smer Study field ECTS UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Predmet: Analiza 3 Course title: Analysis 3 Študijski program in stopnja Study programme and level Univerzitetni študijski program Matematika

More information

VMESNIK ZA KRMILJENJE NAPRAV S KRETNJAMI ROKE

VMESNIK ZA KRMILJENJE NAPRAV S KRETNJAMI ROKE UNIVERZA V LJUBLJANI Fakulteta za elektrotehniko Jernej Perhavc VMESNIK ZA KRMILJENJE NAPRAV S KRETNJAMI ROKE DIPLOMSKO DELO UNIVERZITETNEGA TUDIJA Mentor: prof. dr. Jurij F. Tasi LJUBLJANA, 2005 Zahvala

More information

Vsebina Od problema do načrta programa 1. del

Vsebina Od problema do načrta programa 1. del Vsebina Od problema do načrta programa 1. del Osnovne strategije iskanja rešitev problema Načini opisovanja rešitev problema Osnovni gradniki rešitve problema Primeri Napišite postopek za kuhanje kave

More information

APLIKACIJA ZA DELO Z GRAFI

APLIKACIJA ZA DELO Z GRAFI UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Študijski program: MATEMATIKA IN RAČUNALNIŠTVO APLIKACIJA ZA DELO Z GRAFI DIPLOMSKO DELO Mentor: doc. dr. Primož Šparl Kandidat: Luka Jurković Somentor: asist.

More information

Uporabniški portal za upravljanje virov v oblaku

Uporabniški portal za upravljanje virov v oblaku Univerza v Ljubljani Fakulteta za računalništvo in informatiko Matic Lesjak Uporabniški portal za upravljanje virov v oblaku DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

More information

Metode rangiranja spletnih strani

Metode rangiranja spletnih strani UNIVERZA V LJUBLJANI FAKULTETA ZA DRUŽBENE VEDE David Primc Metode rangiranja spletnih strani Diplomsko delo Ljubljana, 2015 UNIVERZA V LJUBLJANI FAKULTETA ZA DRUŽBENE VEDE David Primc Mentor: doc. dr.

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Študijska smer Study field ECTS

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Študijska smer Study field ECTS Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Numerične metode Numerical methods Študijski program in stopnja Study programme and level Interdisciplinarni univerzitetni

More information

Miha Strel. Integracija ogrodja Medius Vaadin Common na poslovnih portalih

Miha Strel. Integracija ogrodja Medius Vaadin Common na poslovnih portalih UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Miha Strel Integracija ogrodja Medius Vaadin Common na poslovnih portalih DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: prof. dr. Marjan

More information

Sodobna orodja in postopki za načrtovanje algortimov vodenja servopogonov

Sodobna orodja in postopki za načrtovanje algortimov vodenja servopogonov AIG 03, MARIBOR Sodobna orodja in postopki za načrtovanje algortimov vodenja servopogonov Miran Rodič, Karel Jezernik Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko Smetanova

More information

Fakulteta za matematiko in fiziko Univerza v Ljubljani. Seminar. Kvantni računalniki. Avtor: Matjaž Gregorič. Mentor: prof. N.S.

Fakulteta za matematiko in fiziko Univerza v Ljubljani. Seminar. Kvantni računalniki. Avtor: Matjaž Gregorič. Mentor: prof. N.S. Fakulteta za matematiko in fiziko Univerza v Ljubljani Seminar Kvantni računalniki Avtor: Matjaž Gregorič Mentor: prof. N.S. Mankoč Borštnik Ljubljana, november 7 Povzetek V seminarju so predstavljene

More information

Modelska Analiza 1. University of Ljubljana Faculty of Mathematics and Physics. 3. naloga - Numeri na minimizacija

Modelska Analiza 1. University of Ljubljana Faculty of Mathematics and Physics. 3. naloga - Numeri na minimizacija University of Ljubljana Faculty of Mathematics and Physics Modelska Analiza 1 3. naloga - Numeri na minimizacija Avtor: Matic Lubej Asistent: dr. Simon ƒopar Predavatelj: prof. dr. Alojz Kodre Ljubljana,

More information

1) V diagramu sta prikazana plazemska koncentracijska profila po večkratnem intravenskem odmerjanju učinkovine v dveh različnih primerih (1 in 2).

1) V diagramu sta prikazana plazemska koncentracijska profila po večkratnem intravenskem odmerjanju učinkovine v dveh različnih primerih (1 in 2). NALOGE ) V diagramu sta prikazana plazemska koncentracijska profila po večkratnem intravenskem odmerjanju učinkovine v dveh različnih primerih ( in ). 0.8 0.6 0.4 0. 0.0 0.08 0.06 0.04 0.0 0.00 0 0 0 30

More information

Computing the steady-state response of nonlinear circuits by means of the ǫ-algorithm

Computing the steady-state response of nonlinear circuits by means of the ǫ-algorithm Elektrotehniški vestnik XX(Y): 6, YEAR Electrotechnical Review, Ljubljana, Slovenija Computing the steady-state response of nonlinear circuits by means of the ǫ-algorithm Borut Wagner, Árpád Bűrmen, Janez

More information

UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO. Filip Urh DINAMIČNI PARALELIZEM NA GPE.

UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO. Filip Urh DINAMIČNI PARALELIZEM NA GPE. UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Filip Urh DINAMIČNI PARALELIZEM NA GPE Diplomsko delo Maribor, september 2015 DINAMIČNI PARALELIZEM NA GPE Diplomsko delo

More information

Cveto Trampuž PRIMERJAVA ANALIZE VEČRAZSEŽNIH TABEL Z RAZLIČNIMI MODELI REGRESIJSKE ANALIZE DIHOTOMNIH SPREMENLJIVK

Cveto Trampuž PRIMERJAVA ANALIZE VEČRAZSEŽNIH TABEL Z RAZLIČNIMI MODELI REGRESIJSKE ANALIZE DIHOTOMNIH SPREMENLJIVK Cveto Trampuž PRIMERJAVA ANALIZE VEČRAZSEŽNIH TABEL Z RAZLIČNIMI MODELI REGRESIJSKE ANALIZE DIHOTOMNIH SPREMENLJIVK POVZETEK. Namen tega dela je prikazati osnove razlik, ki lahko nastanejo pri interpretaciji

More information

Luka Taras Korošec ANALIZA IN NADGRADNJA APLIKACIJE ZA DELO Z GRAFI

Luka Taras Korošec ANALIZA IN NADGRADNJA APLIKACIJE ZA DELO Z GRAFI UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Luka Taras Korošec ANALIZA IN NADGRADNJA APLIKACIJE ZA DELO Z GRAFI DIPLOMSKO DELO LJUBLJANA, 2016 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA UNIVERZITETNI ŠTUDIJSKI

More information

Avtomatska transkripcija zvočnih posnetkov tolkal

Avtomatska transkripcija zvočnih posnetkov tolkal Univerza v Ljubljani Fakulteta za računalništvo in informatiko Miha Pešič Avtomatska transkripcija zvočnih posnetkov tolkal DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN

More information

SEO kot model integriranega digitalnega trženja z uporabo sodobnih spletnih tehnologij

SEO kot model integriranega digitalnega trženja z uporabo sodobnih spletnih tehnologij UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Danijela Erenda SEO kot model integriranega digitalnega trženja z uporabo sodobnih spletnih tehnologij DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM

More information

SPECIALTY OPTICAL FIBRES FOR A SENSING APPLICATION. Uporaba posebnih optičnih vlaken za zaznavanje

SPECIALTY OPTICAL FIBRES FOR A SENSING APPLICATION. Uporaba posebnih optičnih vlaken za zaznavanje UDK621.3:(53+54+621+66), ISSN0352-9045 Informacije MIDEM 40(2010)4, Ljubljana SPECIALTY OPTICAL FIBRES FOR A SENSING APPLICATION Yuri Chamorovskiy Institute of Radioengineering and Electronics Russian

More information

Zaznavanje človeških funkcij z uporabo senzorjev in mobilnih naprav

Zaznavanje človeških funkcij z uporabo senzorjev in mobilnih naprav Univerza v Ljubljani Fakulteta za računalništvo in informatiko Klemen Susič Zaznavanje človeških funkcij z uporabo senzorjev in mobilnih naprav DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE

More information

Aleš Fleischmann Gradniki vmesniškega podsklopa sistema za procesno dokumentacijo

Aleš Fleischmann Gradniki vmesniškega podsklopa sistema za procesno dokumentacijo UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Aleš Fleischmann Gradniki vmesniškega podsklopa sistema za procesno dokumentacijo Visokošolski strokovni študij Diplomsko delo Mentor: doc.

More information

Grafični gradnik za merjenje kvalitete klasifikatorja s pomočjo krivulj

Grafični gradnik za merjenje kvalitete klasifikatorja s pomočjo krivulj UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Miha Biček Grafični gradnik za merjenje kvalitete klasifikatorja s pomočjo krivulj DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: doc. dr.

More information

Usmerjene nevronske mreže: implementacija in uporaba

Usmerjene nevronske mreže: implementacija in uporaba Seminar - 4. letnik Usmerjene nevronske mreže: implementacija in uporaba Avtor: Miha Marolt Mentorja: Marko Žnidarič, Drago Kuzman Kranj, 24.4.2010 Povzetek Usmerjena večnivojska nevronska mreˇza(uvnm)

More information

MECHANICAL EFFICIENCY, WORK AND HEAT OUTPUT IN RUNNING UPHILL OR DOWNHILL

MECHANICAL EFFICIENCY, WORK AND HEAT OUTPUT IN RUNNING UPHILL OR DOWNHILL original scientific article UDC: 796.4 received: 2011-05-03 MECHANICAL EFFICIENCY, WORK AND HEAT OUTPUT IN RUNNING UPHILL OR DOWNHILL Pietro Enrico DI PRAMPERO University of Udine, Department of Biomedical

More information

Verodostojnost in kvaliteta spletno dostopnih informacij

Verodostojnost in kvaliteta spletno dostopnih informacij Univerza v Ljubljani Filozofska fakulteta Oddelek za bibliotekarstvo, informacijsko znanost in knjigarstvo Verodostojnost in kvaliteta spletno dostopnih informacij Mentor: dr. Jure Dimec Lea Očko Katja

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Primerjava modernih pristopov za identifikacijo pomembno izraženih genov za dve skupini (Comparison

More information

Izdelava spletne strani z uporabo programske opreme kot storitve

Izdelava spletne strani z uporabo programske opreme kot storitve Univerza v Ljubljani Fakulteta za elektrotehniko Luka Šimšić Izdelava spletne strani z uporabo programske opreme kot storitve Diplomsko delo visokošolskega strokovnega študija prve stopnje Mentor: doc.

More information

matematika + biologija = sistemska biologija? Prof. Dr. Kristina Gruden Prof. Dr. Aleš Belič Doc. DDr. Jure Ačimovič

matematika + biologija = sistemska biologija? Prof. Dr. Kristina Gruden Prof. Dr. Aleš Belič Doc. DDr. Jure Ačimovič matematika + biologija = sistemska biologija? Prof. Dr. Kristina Gruden Prof. Dr. Aleš Belič Doc. DDr. Jure Ačimovič Kaj je sistemska biologija? > Razumevanje delovanja organizmov sistemska biologija =

More information

Jamova cesta Ljubljana, Slovenija Jamova cesta 2 SI 1000 Ljubljana, Slovenia

Jamova cesta Ljubljana, Slovenija   Jamova cesta 2 SI 1000 Ljubljana, Slovenia Univerza v Ljubljani Fakulteta za gradbeništvo in geodezijo University of Ljubljana Faculty of Civil and Geodetic Engineering Jamova cesta 2 1000 Ljubljana, Slovenija http://www3.fgg.uni-lj.si/ Jamova

More information

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Gorazd Kovačič. Avtomatsko vizualno testiranje spletnih strani

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Gorazd Kovačič. Avtomatsko vizualno testiranje spletnih strani UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Gorazd Kovačič Avtomatsko vizualno testiranje spletnih strani DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: izr. prof. dr. Viljan Mahnič

More information

THE TOWNS AND THE TRAFFIC OF THEIR OUTSKIRTS IN SLOVENIA

THE TOWNS AND THE TRAFFIC OF THEIR OUTSKIRTS IN SLOVENIA UDC 911. 37:38(497. 12-201)=20 Marjan Zagar * THE TOWNS AND THE TRAFFIC OF THEIR OUTSKIRTS IN SLOVENIA In the urban policy of the long-term development of SR Slovenia the decision has been made that in

More information

Multipla korelacija in regresija. Multipla regresija, multipla korelacija, statistično zaključevanje o multiplem R

Multipla korelacija in regresija. Multipla regresija, multipla korelacija, statistično zaključevanje o multiplem R Multipla koelacia in egesia Multipla egesia, multipla koelacia, statistično zaklučevane o multiplem Multipla egesia osnovni model in ačunane paametov Z multiplo egesio napoveduemo vednost kiteia (odvisne

More information

UNIVERZA V LJUBLJANI

UNIVERZA V LJUBLJANI UNIVERZA V LJUBLJANI EKONOMSKA FAKULTETA DIPLOMSKO DELO VREDNOTENJE KAKOVOSTI SPLETNIH PREDSTAVITEV IZBRANIH SLOVENSKIH FAKULTET Ljubljana, september 2003 MATEJA DOLNIČAR IZJAVA Študentka Mateja Dolničar

More information

Miha Troha. Robotsko učenje in planiranje potiskanja predmetov

Miha Troha. Robotsko učenje in planiranje potiskanja predmetov UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Miha Troha Robotsko učenje in planiranje potiskanja predmetov DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: prof. dr. Ivan Bratko Ljubljana,

More information

Domen Perc. Implementacija in eksperimentalna analiza tehnike razvrščanja podatkov s konsenzom

Domen Perc. Implementacija in eksperimentalna analiza tehnike razvrščanja podatkov s konsenzom UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Domen Perc Implementacija in eksperimentalna analiza tehnike razvrščanja podatkov s konsenzom DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor:

More information

MICROWAVE PLASMAS AT ATMOSPHERIC PRESSURE: NEW THEORETICAL DEVELOPMENTS AND APPLICATIONS IN SURFACE SCIENCE

MICROWAVE PLASMAS AT ATMOSPHERIC PRESSURE: NEW THEORETICAL DEVELOPMENTS AND APPLICATIONS IN SURFACE SCIENCE UDK621.3:(53+54+621 +66), ISSN0352-9045 Informacije MIDEM 38(2008)4, Ljubljana MICROWAVE PLASMAS AT ATMOSPHERIC PRESSURE: NEW THEORETICAL DEVELOPMENTS AND APPLICATIONS IN SURFACE SCIENCE T. 8elmonte*,

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Parcialne diferencialne enačbe Partial differential equations. Študijska smer Study field

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Parcialne diferencialne enačbe Partial differential equations. Študijska smer Study field Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Parcialne diferencialne enačbe Partial differential equations Študijski program in stopnja Study programme and level Magistrski

More information

Optimizacija delovanja in povečanje obiska na spletni strani

Optimizacija delovanja in povečanje obiska na spletni strani UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Jure Adlešič Optimizacija delovanja in povečanje obiska na spletni strani DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Mentor: doc.

More information

Stiskanje slik z algoritmi po vzorih iz narave

Stiskanje slik z algoritmi po vzorih iz narave Stiskanje slik z algoritmi po vzorih iz narave Gregor Jurgec Univerza v Mariboru Fakulteta za elektrotehniko, računalništvo in informatiko Smetanova 17, Maribor gregor.jurgec@gmail.com Iztok Fister Univerza

More information

SVM = Support Vector Machine = Metoda podpornih vektorjev

SVM = Support Vector Machine = Metoda podpornih vektorjev Uvod 2/60 SVM = Support Vector Machine = Metoda podpornih vektorjev Vapnik in Lerner 1963 (generalized portrait) jedra: Aronszajn 1950; Aizerman 1964; Wahba 1990, Poggio in Girosi 1990 Boser, Guyon in

More information

Intervalske Bézierove krivulje in ploskve

Intervalske Bézierove krivulje in ploskve Univerza v Ljubljani Fakulteta za računalništvo in informatiko Fakulteta za matematiko in fiziko Tadej Borovšak Intervalske Bézierove krivulje in ploskve DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM

More information

Odzivno spletno oblikovanje

Odzivno spletno oblikovanje Univerza v Ljubljani Fakulteta za računalništvo in informatiko Matjaž Lovše Odzivno spletno oblikovanje DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN INFORMATIKA

More information

NIKJER-NIČELNI PRETOKI

NIKJER-NIČELNI PRETOKI UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA ALJA ŠUBIC NIKJER-NIČELNI PRETOKI DIPLOMSKO DELO LJUBLJANA, 2016 UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA Dvopredmetni učitelj: matematika - računalništvo ALJA

More information

Problem umetnostne galerije

Problem umetnostne galerije Problem umetnostne galerije Marko Kandič 17. september 2006 Za začetek si oglejmo naslednji primer. Recimo, da imamo v galeriji polno vrednih slik in nočemo, da bi jih kdo ukradel. Seveda si želimo, da

More information

Adaptivni sistem za učenje jezika SQL

Adaptivni sistem za učenje jezika SQL Univerza v Ljubljani Fakulteta za računalništvo in informatiko Tadej Matek Adaptivni sistem za učenje jezika SQL DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN INFORMATIKA

More information

Rudarjenje razpoloženja na komentarjih rtvslo.si

Rudarjenje razpoloženja na komentarjih rtvslo.si Univerza v Ljubljani Fakulteta za računalništvo in informatiko Brina Škoda Rudarjenje razpoloženja na komentarjih rtvslo.si DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN

More information

PRIMERJALNA ANALIZA E TRGOVIN

PRIMERJALNA ANALIZA E TRGOVIN UNIVERZA V MARIBORU EKONOMSKO-POSLOVNA FAKULTETA, MARIBOR DELO DIPLOMSKEGA SEMINARJA PRIMERJALNA ANALIZA E TRGOVIN COMPARATIVE ANALYSIS OF THE ONLINE SHOPS Kandidatka: Monika Mravljak Študentka rednega

More information

Verifikacija napovedi padavin

Verifikacija napovedi padavin Oddelek za Meteorologijo Seminar: 4. letnik - univerzitetni program Verifikacija napovedi padavin Avtor: Matic Šavli Mentor: doc. dr. Nedjeljka Žagar 26. februar 2012 Povzetek Pojem verifikacije je v meteorologiji

More information

OPTIMIZACIJA Z ROJEM DELCEV

OPTIMIZACIJA Z ROJEM DELCEV UNIVERZA V MARIBORU FAKULTETA ZA ORGANIZACIJSKE VEDE Smer: organizacijska informatika OPTIMIZACIJA Z ROJEM DELCEV Mentor: doc. dr. Igor Bernik Kandidat: Matjaž Lipovšek Kranj, december 2005 Izjava: "Študent

More information

Dejan Petelin. Sprotno učenje modelov na podlagi Gaussovih procesov

Dejan Petelin. Sprotno učenje modelov na podlagi Gaussovih procesov UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Dejan Petelin Sprotno učenje modelov na podlagi Gaussovih procesov DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: doc. dr. Janez Demšar

More information

Implementacija in uporaba pametnega asistenta v izobraževanju

Implementacija in uporaba pametnega asistenta v izobraževanju Univerza v Ljubljani Fakulteta za računalništvo in informatiko Tomi Šebjanič Implementacija in uporaba pametnega asistenta v izobraževanju DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

More information

Iterativne metode podprostorov 2010/2011 Domače naloge

Iterativne metode podprostorov 2010/2011 Domače naloge Iterativne metode podprostorov 2010/2011 Domače naloge Naloge so razdeljene v 6 skupin. Za pozitivno oceno morate rešiti toliko nalog, da bo končna vsota za pozitivno oceno vsaj 8 točk oz. vsaj 10 točk

More information

Dejan ŽELEZNIK, Sebastijan SEME, Primož TRUČL, Jože VORŠIČ

Dejan ŽELEZNIK, Sebastijan SEME, Primož TRUČL, Jože VORŠIČ 22. posvetovanje "KOMUNALNA ENERGETIKA / POWER ENGINEERING", Maribor, 2013 1 PRIMERJAVA IZRAČUNA SENČENJA SONČNE ELEKTRARNE Z MERITVAMI Dejan ŽELEZNIK, Sebastijan SEME, Primož TRUČL, Jože VORŠIČ POVZETEK

More information

Excel. Matjaž Željko

Excel. Matjaž Željko Excel Matjaž Željko Elektronska preglednica Excel Excel je zmogljiv kalkulator. Omogoča izdelavo grafikonov statistično analizo podatkov lepo oblikovanje poročila za natis Podatke predstavljamo tabelarično,

More information

ANALIZA SPLETNIH STRANI IN NJIHOVA UPORABNOST

ANALIZA SPLETNIH STRANI IN NJIHOVA UPORABNOST UNIVERZA V LJUBLJANI EKONOMSKA FAKULTETA DIPLOMSKO DELO ANALIZA SPLETNIH STRANI IN NJIHOVA UPORABNOST Ljubljana, september 2004 DARJA PLEVNIK IZJAVA Študentka Darja Plevnik izjavljam, da sem avtorica tega

More information

Jamova cesta Ljubljana, Slovenija Jamova cesta 2 SI 1000 Ljubljana, Slovenia

Jamova cesta Ljubljana, Slovenija   Jamova cesta 2 SI 1000 Ljubljana, Slovenia Univerza v Ljubljani Fakulteta za gradbeništvo in geodezijo University of Ljubljana Faculty of Civil and Geodetic Engineering Jamova cesta 2 1000 Ljubljana, Slovenija http://www3.fgg.uni-lj.si/ Jamova

More information

Verifying Time Complexity of Turing Machines

Verifying Time Complexity of Turing Machines UNIVERSITY OF LJUBLJANA FACULTY OF MATHEMATICS AND PHYSICS DEPARTMENT OF MATHEMATICS David Gajser Verifying Time Complexity of Turing Machines Doctoral dissertation Advisor: izred. prof. dr. Sergio Cabello

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Uporaba logistične regresije za napovedovanje razreda, ko je število enot v preučevanih razredih

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS Predmet: Analiza 1 Course title: Analysis 1. Študijska smer Study field. Samost. delo Individ.

UČNI NAČRT PREDMETA / COURSE SYLLABUS Predmet: Analiza 1 Course title: Analysis 1. Študijska smer Study field. Samost. delo Individ. UČNI NAČRT PREDMETA / COURSE SYLLABUS Predmet: Analiza 1 Course title: Analysis 1 Študijski program in stopnja Study programme and level Univerzitetni študijski program Finančna matematika First cycle

More information