57
Fakulteta za elektrotehniko, računalništvo in informatiko Matej Studenčnik SIMULATOR DIATONIČNE HARMONIKE Diplomsko delo Maribor, julij 2013

Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

  • Upload
    dodien

  • View
    254

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

Fakulteta za elektrotehniko,

računalništvo in informatiko

Matej Studenčnik

SIMULATOR DIATONIČNE HARMONIKE

Diplomsko delo

Maribor, julij 2013

Page 2: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

I

SIMULATOR DIATONIČNE HARMONIKE

Diplomsko delo

Študent: Matej Studenčnik

Študijski program: Visokošolski strokovni študijski program

Računalništvo in informacijske tehnologije

Mentor: doc. dr. David Podgorelec

Page 3: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

II

ZAHVALA

Zahvaljujem se mentorju doc.dr.

Davidu Podgorelcu za pomoč in

vodenje pri nastajanju diplomske

naloge.

Posebna zahvala gre mami ter

vsem, ki so mi pomagali v času

študija.

Page 4: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

III

Page 5: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

IV

Simulator diatonične harmonike

Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument

UDK: 780.647.2(043.2)

Povzetek

Ljudje na vse načine iščejo priložnosti, da prihranijo nekaj denarja. Velik strošek

predstavlja tudi nakup diatonične harmonike, zato sem se odločil, da izdelam aplikacijo, ki

omogoča simulacijo igranja na diatonično harmoniko kar na računalniku.

Če tipkovnico postavimo navpično, opazimo med razporeditvijo gumbov na diatonični

harmoniki in tipkovnici na računalniku kar nekaj podobnosti. V ta namen za vnos

uporabljamo računalniško tipkovnico. Če vse skupaj nekoliko poenostavimo – v primeru,

da uporabnik pritisne na tipkovnici tipki f in g, bosta igrala pripadajoča tona, vse dokler ne

bo uporabnik spustil tipk. Vse igranje se sproti vizualizira na zaslonu. Z uporabo miške

programu signaliziramo, ali gre za vlečenje oziroma zapiranje meha.

Simulator je v prvi vrsti namenjen začetnikom, ki na novo spoznavajo prve prijeme in

zvene diatonične harmonike.

Page 6: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

V

Diatonic Accordion Simulator

Key words: diatonic accordion, accordion, C#, simulator, instrument

UDK: 780.647.2(043.2)

Abstract

People are constantly seeking opportunities to save money. Because the diatonic

accordion is very expensive I have decided to build an application, which enables the

playing of diatonic accordion right on the computer.

If we place the keyboard vertically, we can notice several similarities between placement

of buttons on the diatonic accordion and the computer keyboard. That's why we use the

computer keyboard for inserting purposes. For example, if we press keys f and g, they

will play the selected tone, until we let go of them. The whole play is constantly

synchronized on the screen. With the computer mouse we are signaling the program, to

pull or close the bellows.

The simulator is in first hand designed for beginners that are newly familiarizing

themselves with first grips, and sounds of the diatonic accordion.

Page 7: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

VI

KAZALO

1 UVOD .............................................................................................................. 1

2 O HARMONIKI ................................................................................................. 3

2.1 Diatonična harmonika ............................................................................................................. 3

2.2 Klavirska harmonika ............................................................................................................... 6

2.3 Kromatična harmonika ........................................................................................................... 8

3 OBSTOJEČI SIMULATORJI HARMONIKE ................................................... 10

3.1 LTK harmonika ..................................................................................................................... 10

3.2 Accordion Keyboard ............................................................................................................. 11

3.3 Melodeon .............................................................................................................................. 12

3.4 Android Accordion ................................................................................................................ 13

4 O APLIKACIJI ................................................................................................ 15

4.1 Uporabljene vhodne in izhodne enote .................................................................................. 16

4.2 Uporabljene tehnologije in orodja ......................................................................................... 17

4.2.1 .NET Framework .............................................................................................................. 17

4.2.2 Visual Studio ..................................................................................................................... 19

4.2.3 Windows Forms ................................................................................................................ 21

4.2.4 Programski jezik C#.......................................................................................................... 22

4.2.5 FMOD ............................................................................................................................... 22

4.2.6 NAudio .............................................................................................................................. 23

4.2.7 GIMP ................................................................................................................................ 23

4.3 IMPLEMENTACIJA .............................................................................................................. 24

4.3.1 Implementacija funkcionalnosti ........................................................................................ 27

4.4 Grafični uporabniški vmesnik ............................................................................................... 31

Page 8: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

VII

5 PREDNOSTI IN SLABOSTI NAŠE APLIKACIJE V PRIMERJAVI Z

DEJANSKO DIATONIČNO HARMONIKO............................................................ 37

6 SKLEP ........................................................................................................... 39

7 VIRI ................................................................................................................ 41

Page 9: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

VIII

KAZALO SLIK IN TABEL

Slika 1: diatonična harmonika s ponazoritvijo pomembnejših delov .................................. 4

Slika 2: diatonična harmonika v začetkih ........................................................................... 4

Slika 3: diatonična harmonika ........................................................................................... 5

Slika 4: klavirska harmonika .............................................................................................. 7

Slika 5: kromatična harmonika .......................................................................................... 9

Slika 6: igranje na tipkovnico v programu LTK ................................................................ 11

Slika 7: aplikacija Accordion Keyboard ........................................................................... 12

Slika 8: vmesnik programa Melodeon ............................................................................. 13

Slika 9: vmesnik programa Android Accordion ................................................................ 14

Slika 10: sestava in povezanost strojne opreme ............................................................. 16

Slika 11: okvir .NET ........................................................................................................ 18

Slika 12: prevajanje v .NET okolju................................................................................... 19

Slika 13: orodje MS Visual Studio 2010 .......................................................................... 20

Slika 14: osnovna okenska aplikacija .............................................................................. 21

Slika 15: urejanje v programu GIMP ............................................................................... 24

Slika 16: posnetki za vrsto A ........................................................................................... 25

Slika 17: grafična ponazoritev tipkovnice in miške .......................................................... 25

Slika 18: navidezna harmonika ....................................................................................... 26

Slika 19: oznaka za vlečenje meha ................................................................................. 26

Slika 20: inicializacija spremenljivk za FMOD ................................................................. 27

Slika 21: nalaganje tonov za stiskanje meha in igranje v 1. vrsti ..................................... 28

Slika 22: koda, ki se izvede ob pritisku na črko Y ............................................................ 28

Slika 23: metoda za snemanje ........................................................................................ 30

Slika 24: metoda za konec snemanja .............................................................................. 31

Slika 25: dialog za izbor lokacije shranjevanja zvočnega posnetka ................................. 31

Page 10: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

IX

Slika 26: pozdravno okno ................................................................................................ 32

Slika 27: okno s predstavitvijo aplikacije in navodili za uporabo ...................................... 33

Slika 28: glavno okno ...................................................................................................... 34

Slika 29: snemanje igranja .............................................................................................. 34

Slika 30: glavno okno med igranjem ............................................................................... 35

Slika 31: navodila za igranje pesmi Kuža pazi................................................................. 36

Slika 32: navodila za igranje pesmi Jaz pa pojdem na Gorenjsko ................................... 36

Tabela 1: vrednosti za ugotavljanje pritisnjenih oziroma spuščenih tipk .......................... 29

Page 11: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

X

UPORABLJENE KRATICE IN SIMBOLI

AIFF - Audio Interchange File Format

AKM – Aksharamala Binary Keymap

CLR – Common Language Runtime

CSS - Cascading Style Sheets

DLS - DownLoadable Sound

FLAC - Free Lossless Audio Codec

GIMP - GNU Image Manipulation Program

HTML - HyperText Markup Language

IL – Intermediate Language

JIT – Just in Time

MIDI - Musical Instrument Digital Interface

MS - Microsoft

VB.NET - Visual Basic .NET

WAV - Waveform Audio File Format

WMA - Windows Media Audio

WPF - Windows Presentation Foundation

XHTML - Extensible HyperText Markup Languag

XML – Extensible Markup Language

XSLT - Extensible Stylesheet Language Transformations

Page 12: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

1

1 UVOD

V času ekonomske krize se ljudje trudijo, da bi prihranili na čim več področjih. Diatonična

harmonika postaja vse bolj priljubljen inštrument, nakup le-te pa predstavlja velik strošek

(tudi po več tisoč evrov). Prvotno je diatonična harmonika veljala le za ljudsko glasbilo, z

leti pa je doživela tolikšen napredek, da lahko danes nanjo zaigramo veliko več kot le

ljudske viže. Tako danes velja za nepogrešljiv simbol, ki poskrbi za pravo vzdušje na

raznoraznih prireditvah, porokah, veselicah, obletnicah, rojstnodnevnih zabavah… V veliki

meri jo srečujemo tudi na radijskih valovih ter televizijah. Lahko bi rekli, da je z leti postala

že pravi slovenski simbol, saj jo ima že skoraj vsaka druga hiša.

Znano je, da ima glasba pomembne pozitivne učinke in ukvarjanje z njo pomaga, da

posameznik lažje in hitreje, predvsem pa na spontan način razvije spretnosti in veščine,

značilne za posamezen inštrument.

Kar nekaj časa sem razmišljal o temi diplomske naloge, saj sem želel izdelati aplikacijo, ki

predstavlja nekaj novega, svežega na tržišču in hkrati predstavlja uporabnost za različne

vrste uporabnikov, ne samo računalničarje. Sam igram diatonično harmoniko že nekaj let.

V začetku sem si pri učenju pomagal tudi z računalnikom. Tako sem na podlagi lastnih

izkušenj prišel na idejo, da v diplomskem delu združim znanje igranja inštrumenta in

programiranja ter izdelam aplikacijo, ki bo ljudem omogočila, da se preizkusijo v igranju

diatonične harmonike. Z idejo sem se odpravil do mentorja, ki je zamisel podprl in z

dodatnimi idejami pripomogel k izboljšanju aplikacije.

Glavni cilj diplomskega dela je izdelati simulator, ki bo uporabniku omogočal igranje

diatonične harmonike kar na računalniku z uporabo tipkovnice in miške. V ta namen se bo

ob pritisku na določen gumb predvajal ton, sproti pa se bo to tudi prikazovalo na zaslonu.

Dodana bo tudi možnost, da si bo uporabnik vse igranje lahko tudi posnel ter si na

zahtevo posnetek tudi predvajal.

Simulator bo uporabniku omogočil igranje kjerkoli in ob kateremkoli času, saj je ob

današnjem tempu življenja vse težje najti čas za dejavnosti v prostem času. S

simulatorjem se bodo zmanjšali tudi stroški igranja, ker v današnjem času ure učenja (iz

različnih razlogov) niso več dostopne vsem.

Page 13: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

2

Aplikacija je v prvi vrsti namenjena uporabnikom, ki na novo spoznavajo igranje na

diatonično harmoniko in njene zvene. Da bo aplikacija uporabna tudi za novince, smo v

aplikacijo dodali tudi pomoč, ki omogoča, da si uporabnik s pomočjo izpisa števila

pritiskov in tipk ter nekaj vaje samostojno zaigra izbrano pesem.

V diplomski nalogi se bomo v posameznih poglavjih sprehodili skozi predstavitev

harmonike, njene vrste ter pogledali njeno delovanje, predstavili posamezne že obstoječe

oziroma sorodne aplikacije, pogledali, katero strojno oziroma programsko opremo smo

potrebovali pri izvedbi oziroma jo potrebujemo za uporabo aplikacije. Preučili bomo tudi

razne možnosti vnosa in predvajanja tonov v računalniku ter izbrali najbolj ustrezno, da bo

simulacija igranja najbolj pristna. Na koncu bomo prikazali še implementacijo in primerjavo

med aplikacijo in dejansko diatonično harmoniko.

Page 14: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

3

2 O HARMONIKI

Harmonika je glasbilo, na katerega igramo s pritiskanjem na tipke oziroma gumbe s

stiskanjem ali raztezanjem meha.[1] Po definiciji spada med zrakovna glasbila. Osnovno

surovino predstavlja les.[2] Zanimivo je, da postaja ta inštrument vse bolj priljubljen pri nas

ter tudi po svetu, in z gotovostjo lahko trdimo, da je harmonika postala slovenski

nacionalni inštrument. To opazimo pri vedno večjem povpraševanju po tem inštrumentu,

predvsem pri mladih.

Harmonika velja za eno izmed mlajših glasbil, vendar je zaradi njene popularnosti in

razširjenosti prodrla v vse evropske dežele. Slovenija se je s harmoniko spoznala v drugi

polovici 19. stoletja. V desetletjih se je razvilo izdelovanje v številnih delavnicah in pri

posameznikih. S časom je harmonika pridobivala na popularnosti in tako danes velja za

zelo priljubljeno glasbilo v raznih glasbenih zasedbah, ki igrajo za razvedrilo, zabavo,

ples... V vseh teh letih se je harmonika razvijala tudi v tehniškem smislu. Tako so se

razvile različne vrste harmonik, kot so: [3]

diatonična harmonika,

klavirska harmonika,

kromatična harmonika…

2.1 Diatonična harmonika

Diatonična harmonika (pogovorno »frajtonerica«, sicer pa tudi prostotonska oziroma

gumbna harmonika) velja za glasbilo, katerega glavna značilnost je, da pri stiskanju ali

vlečenju meha za določeno tipko skoraj vedno proizvaja različen ton. Pri harmonikah, ki

so starejše izdelave, za vsak ton zanihata dva jezička, medtem ko pri novejših trije.

Harmonike, ki so enovrstne oziroma dvovrstne, so starejše izdelave, najnovejše

premorejo na melodični strani celo štiri vrste gumbov. Harmonike razlikujemo tudi po

razvrstitvi tonov (vrste A, B, C) na melodični strani. [4] Sestavljena je iz treh glavnih delov:

melodijski del, basni del in meh (slika 1).

Page 15: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

4

Slika 1: diatonična harmonika s ponazoritvijo pomembnejših delov [5]

Prvo harmoniko je leta 1821 naredil Nemec F. Buschman. Kot pomemben mejnik velja

omeniti sedemdeseta leta 19. stoletja, ko je na Štajerskem nastala trivrstna diatonična

harmonika, ki se je zaradi svojih značilnosti kaj kmalu razširila po celotni Evropi in tako

prevzela vodilno vlogo pri izvajanju ljudske glasbe. Različni izrazi za poimenovanje

izhajajo iz takratnega časa, ko so jo imenovali kar harmonika oziroma ramonika, mehi,

šumele, fude, najpogosteje pa z germanizmom »frajtonarca«.[6] Na sliki 2 je prikazana

diatonična harmonika v začetkih razvoja.

Slika 2: diatonična harmonika v začetkih [7]

Page 16: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

5

V Sloveniji velja za najbolj razširjeno trivrstna diatonična harmonika (slika 3), poznamo pa

še enovrstne, dvovrstne, štirivrstne in petvrstne izvedbe diatonične harmonike. Posebno

značilnost zraven močno zvenečih basov, ki diatonični harmoniki dajejo poseben ritem,

predstavljajo okrogli gumbi. Eno izmed glavnih značilnosti diatonične harmonike

predstavlja tudi durovska omejitev.[8] Med najbolj prepoznavnimi so:

C-F-B,

B-Es-As,

Cis-Fis-H,

H-E-A,

G-C-F,

D-G-C,

A-D-G…

Mehanizem delovanja diatonične harmonike sprožimo s pritiskom na tipko. Takrat

mehanizem odmakne pokrovček in spusti zrak skozi glasilke in tako omogoči, da jezički

zanihajo in s tem ustvarijo zvok. Trajanje zvoka je odvisno od časovne dolžine pritiska na

tipko. S spustom tipke vzmet potisne mehanizem v prvotno lego in s tem zapre pretok

zraka. [8]

Slika 3: diatonična harmonika [9]

Page 17: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

6

Natančno število izdelovalcev diatoničnih harmonik ni poznano, saj nekateri proizvajalci

nimajo registrirane dejavnosti oziroma imajo majhne proizvodnje. Znano je, da nekateri

izdelujejo harmonike v celoti, drugi ne, nekateri so samo posredniki itd. Po navedbah naj

bilo v Sloveniji uradno registriranih okoli 25 znamk diatoničnih harmonik, neuradno pa naj

bi jih obstajalo vsaj 2 do 3-krat toliko. Med bolj prepoznavne znamke diatoničnih harmonik

na področju Slovenije sodijo: [10]

Cafuta,

Frece,

Kapš,

Kitek,

Končan,

Melodija,

Munda,

Pečjak,

Prostor,

Rutar,

Sitar,

Vox,

Zupan,

Žveglič…

2.2 Klavirska harmonika

Klavirska harmonika (slika 4) je ena izmed vrst harmonik, katere glavno značilnost

predstavljajo črno-bele tipke (podobne klavirju), po katerih je tudi dobila ime, ter basovski

gumbi. Začetek klavirskih harmonik sega v konec 19. stoletja. Imajo 2-6 registrov, ki

omogočajo spreminjanje zvoka. Glasnost uravnavamo z močjo vlečenja meha. Na levi

strani ima 40 do 120 basov. Primerna je za igranje v vseh glasbenih zvrsteh, od

narodnozabavne do klasične. [11]

V primerjavi z diatonično harmoniko klavirska ob raztezanju in stiskanju meha zveni

enako. Za njo je značilno, da obsega celotno kromatično lestvico. [2]

Page 18: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

7

Nekaj časa nazaj je klavirska harmonika veljala za veliko bolj priljubljeno od diatonične,

vendar pa je z leti diatonična harmonika pridobila na popularnosti in postala veliko bolj

razširjena ter v veliki meri celo prehitela klavirsko harmoniko.

Med bolj znane znamke klavirskih harmonik sodijo:

Alpen,

Hohner,

Lanzinger,

Melodija,

Pigini,

Rutar,

Weltmeister…

Slika 4: klavirska harmonika [12]

Page 19: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

8

2.3 Kromatična harmonika

Na prvi pogled bi lahko dejali, da je kromatična harmonika (vidna na sliki 5) zelo podobna

diatonični harmoniki, vendar pa je med njima precejšnja razlika.

Kromatična harmonika oziroma gumbna harmonika je tip harmonike, za katero so značilni

okrogli gumbi, podobno kot pri diatonični harmoniki na desni ter na levi basovski gumbi

klavirske harmonike. Tako kot pri klavirski, tudi pri kromatični harmoniki najdemo registre.

Pri kromatični harmoniki poznamo dva načina – sistem C in B, ki se med seboj razlikujeta

glede na razporeditev gumbov.[13]

Prednost kromatične harmonike predstavlja igranje v vseh tonalitetah, v primerjavi z

diatonično harmoniko je nekoliko težja in tišja. Kljub temu, da jo odlikuje primernost

igranja vseh glasbenih zvrsti – od narodno-zabavne, zabavne, klasične itd., kromatična

harmonika pri nas velja za manj priljubljeno in razširjeno od diatonične oziroma klavirske

harmonike.[14]

Med bolj znane znamke kromatičnih harmonik uvrščamo:[10]

Alpen,

Frece,

Hohner,

Pigini,

Paolo Soprani,

Weltmeister,

Zupan…

Page 20: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

9

Slika 5: kromatična harmonika [15]

Page 21: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

10

3 OBSTOJEČI SIMULATORJI HARMONIKE

Tehnologija računalništva bliskovito napreduje. Tako danes na tržišču obstaja široka

paleta programskih izdelkov, od namenskih programov do igric, simulatorjev, programov

za delo z grafiko…

Da lahko izdelamo uspešen izdelek, je potrebno predhodno postaviti trdne temelje in si

zamisliti uspešen koncept, ki bo omogočil uspešno uresničitev zadanih ciljev. To lahko

dosežemo na podlagi analize trga in posameznih že obstoječih aplikacij. Po raziskavah in

brskanjih po spletu lahko povzamemo, da na tržišču obstaja kar nekaj programov, ki

omogočajo igranje raznih inštrumentov na računalniku oziroma kakšni drugi napravi – na

primer: tabličnem računalniku, pametnem telefonu...

V posameznih podpoglavjih bomo nekaj izmed že obstoječih aplikacij tudi natančneje

predstavili, analizirali njihov način delovanja ter na konkretnih primerih skušali prikazati

prednosti oziroma slabosti.

3.1 LTK harmonika

LTK harmonika je program, ki je primarno namenjen učenju igranja na diatonično

harmoniko. Uporabniku na zaslonu prikazuje, katere gumbe mora ob katerem času

pritisniti, da se lahko nauči in kasneje samostojno na diatonični harmoniki zaigra izbrano

skladbo. Za nas je program zanimiv predvsem zaradi dejstva, da je v meniju dodana tudi

opcija, ki omogoča igranje na tipkovnici (slika 6).

Page 22: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

11

Slika 6: igranje na tipkovnico v programu LTK

Program deluje na podoben način, kot je zamišljen koncept diplomske naloge. Aplikacija

uporablja za vnos tipkovnico in vsak pritisk na določen gumb na zaslonu z določeno barvo

tudi ustrezno vizualizira. Ena izmed pomanjkljivosti obravnavanega programa predstavlja

odzivnost (nekoliko slabša zaznava pritisnjenih tipk) ter dejstvo, da v programu ni dodan

Slakov gumb1, ki v današnjem času praktično predstavlja nepogrešljiv del vsake novejše

diatonične harmonike.

3.2 Accordion Keyboard

Še eden izmed programov, ki omogočajo igranje harmonike na računalniku s pomočjo

tipkovnice, tokrat kromatične, predstavlja aplikacija Accordion Keyboard (vidna na sliki 7).

Deluje po principu, da se vsak pritisnjeni gumb spremeni v noto in tako omogoči

shranjevanje igranih melodij v datotečnih formatih AKM in MIDI.

1 Slakov gumb je dodaten gumb v 4. vrsti.

Page 23: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

12

Slika 7: aplikacija Accordion Keyboard

3.3 Melodeon

Na spletni strani Google Play2 obstaja kar nekaj plačljivih ter tudi brezplačnih programov,

ki imitirajo delovanje harmonike in delujejo na platformi Android3. Ena izmed teh aplikacij

je tudi Melodeon, ki omogoča igranje preko zaslona na dotik. Ob zagonu se na zaslonu

prikaže razporeditev gumbov (kot je prikazano na sliki 8), uporabnik pa s pritiski na te

gumbe lahko igra poljubne skladbe.

2 Google Play je Googlovo spletišče, na katerem je vključena spletna trgovina z filmi, glasbo,

knjigami, Android aplikacijami…[16] 3 Android temelji na Linuxovem jedru in predstavlja programsko platformo in operacijski sistem. V

prvi vrsti je namenjen mobilnim telefonom, vendar ga najdemo tudi na drugih napravah kot recimo tabličnih računalnikih, ročnih urah…[17]

Page 24: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

13

Slika 8: vmesnik programa Melodeon [18]

Slabost obravnavane aplikacije se kaže v tem, da aplikacija ni narejena za slovensko

tržišče, zato je harmonika, ki je predstavljena v aplikaciji, drugače uglašena od harmonik,

ki jih v večini uporabljamo v Sloveniji. Tako praktično ni mogoče zaigrati nobene pesmi

(npr.: Na Golici), kot jo lahko na navadno diatonično harmoniko na slovenskem področju.

V programu tudi ni omogočeno igranje basov. Veliko pomanjkljivost predstavlja tudi

zaslon, saj je velikost gumbov premo sorazmerna z velikostjo zaslona – večji kot je

zaslon, večji so gumbi. Tako na primer na manjših zaslonih praktično zelo težko odigramo

katerokoli skladbo, saj se zelo hitro ob dotiku na en gumb zraven dotaknemo tudi

drugega. Prav tako v aplikaciji manjka tudi možnost, da bi si uporabnik lahko svoje igranje

posnel in kasneje to tudi predvajal.

3.4 Android Accordion

Omeniti velja tudi program Android Accordion (slika 9), ki ga je možno brezplačno prenesti

s strani Google Play. Namenjen je igranju klavirske harmonike na tablicah oziroma

mobilnih napravah z naloženim sistemom Android. Program uporabniku ponuja številne

nastavitve, podane in prikazane pa so tudi osnove in figure, ki so potrebne za igranja

klavirske harmonike. Aplikacijo odlikuje dejstvo, da za razliko od prej omenjenih aplikacij

Page 25: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

14

omogoča igranje tako melodijskega, kot tudi basovskega dela. Dodana je tudi možnost

snemanja igranja ter na zahtevo tudi predvajanje.

Slabost aplikacije se kaže v dejstvu, da se trenutno na zaslonu prikaže le nekaj tipk. Tako

moramo v primeru, da želimo priti do nižjih oziroma višjih tonov prekiniti z igranjem,

premakniti tipkovnico in šele nato lahko nadaljujemo z igranjem.

Slika 9: vmesnik programa Android Accordion [19]

Page 26: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

15

4 O APLIKACIJI

Glavni cilj diplomskega dela je predstavljal izdelavo in predstavitev aplikacije, ki

uporabniku omogoča čim bolj realistično igranje diatonične harmonike na računalniku. V

ta namen smo izdelali program, ki ob pritisku na določen gumb predvaja ton, sproti pa se

to tudi prikazuje na zaslonu. Da je igranje čim bolj realistično, smo v delovanje vključili tudi

miško, s katero uporabnik ponazarja vlečenje oziroma stiskanje meha. Dodali smo tudi

možnost, da si uporabnik vse igranje tudi posname ter si na zahtevo posnetek tudi

predvaja.

V poglavju 3 smo pregledali posamezne že obstoječe aplikacije. Znano je, da postajajo

tablice in pametni telefoni vse bolj priljubljeni med uporabniki, saj so manjši od

računalnikov. Tako imamo na primer telefon vedno s seboj in nam je na voljo precej več

časa kot računalnik. A kljub temu glede na namen naše aplikacije in tudi analize raznih

aplikacij lahko povzamemo, da izdelava aplikacije za tablice oziroma telefone v našem

primeru ne prinaša koristi, kvečjemu več slabosti.

Če dobro pogledamo razporeditev gumbov na diatonični harmoniki ter tipk na tipkovnici

kaj hitro opazimo podobnost. Glede na analize se kot najprimernejši način vnosa izkaže

ravno tipkovnica. Zato smo za igranje na melodični strani diatonične harmonike uporabili

kar tipkovnico. V delovanje smo vključili tudi miško z namenom, da lahko uporabnik

dinamično uravnava meh – preklapljanje med odpiranjem ter zapiranjem meha in glede na

hitrost premika tudi glasnost igranja.

Glede na obravnavane aplikacije v poglavju 3 pridemo do sklepa, da je smiselno v

program vključiti tudi snemanje igranja, zato smo v ta namen dodali tudi kodek za zvok.

V aplikaciji smo želeli zadostiti naslednjim kriterijem:

preprosta in varna uporaba,

dostopnost,

realna upodobitev diatonične harmonike in

učinkovitost.

Aplikacija je v prvi vrsti namenjena začetnikom in tistim, ki se želijo preizkusiti v igranju

diatonične harmonike, pa te želje zaradi kakršnih koli razlogov še niso uspeli uresničiti –

Page 27: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

16

bodisi zaradi časa, bodisi zaradi financ… Ker želimo čim bolj uporabno aplikacijo, smo v

ta namen dodali tudi pomoč za novince na področju igranja na diatonično harmoniko.

Dodali smo opcijo, ki omogoča, da si lahko uporabnik izbere skladbo ter tako vidi,

kolikokrat in katere tipke mora na tipkovnici pritisniti, da bo lahko zaigral izbrano skladbo.

Aplikacija smo izdelali v orodju Microsoft Visual Studio in sicer v programskem jeziku C#.

Namenjena je za rabo na računalnikih z nameščenim operacijskim sistemom Windows.

Aplikacija uporablja za vhod miško, tipkovnico ter mikrofon, za izhod pa so uporabljeni

računalniški prikazovalnik in zvočniki. Simulator je v osnovi »sampler«, saj ne generiramo

zvokov, ampak zgolj predvajamo vnaprej posnete zvoke. Na ta način smo si prihranili

zahtevno študijo alikvotnih tonov, ki dajejo posameznemu inštrumentu specifično barvo

zvoka.

4.1 Uporabljene vhodne in izhodne enote

Pri delovanju računalnika predstavlja veliko vlogo strojna oprema. Tako potrebujemo

računalniški zaslon za prikaz podatkov, tipkovnico za vnos itd. Tako glavne dele strojne

opreme (vidne na sliki 10) predstavljajo:[20]

vhodne enote,

izhodne enote,

pomnilne enote,

matična plošča,

centralna procesna enota…

Slika 10: sestava in povezanost strojne opreme [21]

Page 28: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

17

Da lahko učinkovito uporabljamo aplikacijo, potrebujemo različne vhodno in izhodne

enote. Vhodne enote nam omogočajo vnos podatkov. Njihova naloga je, da preoblikujejo

človeku razumljive podatke in ukaze v računalniku razumljivo obliko. Medtem je namen

izhodnih enot, da simbole oziroma kode spremenijo v človeku razumljivo besedilo oziroma

podatek.[20]

Med vhodne enote, ki smo jih uporabili pri izdelavi oziroma jih potrebujemo za delovanje

aplikacije, uvrščamo:

tipkovnico,

miško in

mikrofon.

Med osnovni izhodni enoti, potrebni za delovanje aplikacije, uvrščamo:

prikazovalnik in

zvočnike.

4.2 Uporabljene tehnologije in orodja

Aplikacijo smo izdelali in implementirali v razvojnem orodju Microsoft Visual Studio 2010 v

programskem jeziku C# z nekaterimi pripadajočimi in dodanimi knjižnicami. Za grafično

oblikovanje smo uporabljali orodje GIMP4, medtem ko smo za snemanje in urejanje

zvočnih posnetkov uporabljali program Audacity5.

4.2.1 .NET Framework

Omenili smo, da smo izdelali aplikacijo za delovanje v okolju Windows. Pri tem smo se

poslužili tudi tehnologije .NET, ki velja za ogrodje, namenjeno razvijanju programske

opreme na operacijskih sistemih Microsoft Windows. Obstajajo številne različice,

najnovejša je 4.5, med prejšnje različice sodijo: 1.0, 1.1, 2.0, 3.0, 3.5, 4.0. Tehnologija

4 GIMP je prostodostopni odprtokodni računalniški program za urejanje rastrske in vektorske

grafike. [22] 5 Audacity je brezplačen, odprtokodni program za snemanje in montažo zvoka. [23]

Page 29: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

18

.NET se uporablja na odjemalcih, strežnikih, mobilnih ter vgradnih napravah. Ogrodje

ponuja pregledno, objektno orientirano programiranje s poudarkom na visoki varnosti ter

produktivnosti. [24]

Skladno z razvojem .NET se je razvijal tudi Microsoft Visual Studio. Tako je bil Visual

Studio namenjen razvoju v ogrodju 1.1, Visual Studio 2003 z ogrodjem različice 2.0,

Visual Studio 2008 s podporo ogrodju 3.0 in 3.5, Visual Studio 2010 je bil lansiran z

ogrodjem 4.0, leta 2012 je izšla različica 4.5 z Visual Studiom 2012. Skupaj z različicami

ogrodja .NET so doživljali dopolnitve tudi jeziki (C#, C/C++, J#, Visual Basic), ki jih lahko

uporabljamo v okolju .NET. [24]

Slika 11: okvir .NET [25]

Kot je možno razbrati iz slike 11, ogrodje .NET vključuje skupno izvajalno okolje CLR in

zbirko različnih razrednih knjižnic NET Framework class library, ki vsebujejo ADO.NET

(podatkovne baze), ASP.NET (spletne aplikacije), Windows Presentation Foundation

(WPF), Windows Forms (okna)… Knjižnice vključujejo razrede, ki so hierarhično

organizirani v t. i. imenske prostore. [24]

Okolje CLR omogoča storitve, potrebne za izvajanje programov. Izvirna koda se prevede

v vmesno kodo – IL. Značilno je, da se v ogrodju .NET vsi programski jeziki prevedejo v

vmesnik jezik IL, kar omogoča, da lahko posamezne dele aplikacije napišemo v različnih

Page 30: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

19

jezikih. Ob zagonu aplikacije JIT prevajalnik prevede vmesno kodo v strojno (slika 12).

CLR in IL omogočata z nadzorovanim izvajanjem programov (upravljano programsko

kodo) stabilnejše in varnejše računalniško okolje.[24]

Slika 12: prevajanje v .NET okolju

4.2.2 Visual Studio

Microsoft Visual Studio (slika 13) je integrirano razvojno okolje, ki je v lasti podjetja

Microsoft. Pomaga pri premagovanju kompleksnih izzivov in ustvarjanju inovativnih

rešitev.[26] Vključuje pester nabor že definiranih gradnikov, zato omogoča hitrejši razvoj

aplikacij. Odlikuje ga usklajenost vizualnega (uporabniški vmesnik) in kodnega dela. Tako

se na primer ob spremembi grafičnega uporabniškega vmesnika avtomatsko spremeni

kodni del in obratno. Delo olajšajo številne bližnjice in čarovniki, dodatno vrednost pa

predstavlja pomoč med pisanjem kode – predlagani ukazi, vidni funkcijski parametri…[27]

Page 31: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

20

Slika 13: orodje MS Visual Studio 2010

Uporablja se za razvoj:

konzolnih aplikacij,

grafičnih aplikacij (Windows Forms, WPF),

spletnih strani,

spletnih storitev...

Deluje v okoljih:

Microsoft Windows,

Windows Mobile,

Windows CE,

.NET Framework,

Microsoft Silverlight…

Microsoft Visual Studio podpira širok nabor programskih jezikov:

C/C++ (Visual C++),

VB.NET,

C# (Visual C#),

F#...

Page 32: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

21

Prav tako nudi podporo za XML / XSLT, HTML / XHTML, JavoScript, CSS…[26]

Razvojno okolje MS Visual Studio nastopa v več različicah, ki se razlikujejo med seboj po

namenu uporabe. Med najbolj znane različice sodijo:[28]

Express Edition,

Standard Edition,

Professional Edition.

Ultimate Edition…

4.2.3 Windows Forms

V našem primeru gre za namizno aplikacijo. V ta namen smo pri razvoju uporabljali

tehnologijo Windows Forms (slika 14), ki izhaja še iz začetkov okolja Windows. Windows

Forms pravzaprav predstavlja uporabniku prilagojen prikaz podatkov. Omogoča nam

razvoj aplikacij za Windows s pomočjo komponent, ki so že vgrajene, omogočen pa je tudi

razvoj lastnih in vključitev komponent, pridobljenih iz kakšnega vira.[29]

Orodje Visual Studio deluje tako, da na obrazce (forme) postavljamo gradnike, Visual C#

pa ob tem samodejno generira programsko kodo, ki je prilagojena izdelanemu

uporabniškemu vmesniku.

Slika 14: osnovna okenska aplikacija

Page 33: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

22

4.2.4 Programski jezik C#

Omenili smo že, da smo za izdelavo aplikacije uporabljali programski jezik C#, ki velja za

Microsoftov objektno orientiran programski jezik in predstavlja nekakšno kombinacijo

programskega jezika C++, z dodanimi lastnostmi Visual Basica in Jave.[28]

Trenutno velja C# za enega izmed najbolj priljubljenih programskih jezikov, saj vključuje

prednosti vseh najbolj razširjenih jezikov, hkrati pa vsebuje nekaj specifičnih lastnosti, ki

so posledica arhitekture platforme.NET ter tudi same sintakse jezika.

4.2.5 FMOD

V aplikacijo smo vključili tudi FMOD, ki slovi kot nabor zvočnih orodij za ustvarjanje

vsebin. Omogoča predvajanje glasbenih datotek različnih formatov na različnih platformah

operacijskih sistemov, ki se uporabljajo v igrah in programskih aplikacijah za zagotavljanje

avdio funkcionalnosti. [30]

Široka uporabnost se kaže tudi v dejstvu, da je bil FMOD uporabljen v številnih odmevnih

komercialnih igrah, med drugimi tudi v: [30]

Batman: Arkham Asylum,

DJ Hero,

Far Cry,

Guitar Hero III,

League of Legends,

Tom Clancy's Ghost Recon,

Tomb Raider: Underworld…

FMOD se deli glede na različne namene uporabe na 4 dele. Tako poznamo: FMOD

Studio, FMOD Ex, FMOD Event Player in FMOD Designer. V našo aplikacijo smo vključili

knjižnico FMOD Ex.

FMOD nudi podporo številnim avdio formatom. Nekateri izmed teh so:[30]

AIFF,

DLS,

Page 34: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

23

FLAC,

M3U,

MIDI,

MOD,

MP2,

MP3,

Ogg Vorbis,

PLS,

VAG (PS2/PSP format),

WAV,

WAX,

WMA…

4.2.6 NAudio

NAudio je odprtokodna knjižnica za okolje .NET. Njen namen je zagotoviti celovit nabor

koristnih razredov, iz katerih lahko programer gradi svojo lastno zvočno aplikacijo. V

začetnih verzijah .NET je bila vključena majhna količina podpore za predvajanje zvočnih

vsebin. Z namenom razširiti uporabnost in lažjo vključitev avdio vsebin v aplikacijo je leta

2002 nastala knjižnica NAudio. Njena glavna prednost se kaže v kakovostnem

predvajanju ali snemanju zvočnih datotek.[31]

Z namenom razširiti uporabnost smo v aplikacijo vključili tudi Naudio knjižnico, s pomočjo

katere smo omogočili snemanje igranja.

4.2.7 GIMP

V našem projektu smo za oblikovanje in ustvarjanje grafičnih simbolov uporabljali program

GIMP. Velja za prosto dostopni in odprtokodni program za urejanje rastrske in vektorske

grafike. Je zelo razširjen za obdelavo digitalne grafike ter fotografij, dostopnih na spletu.

Omogoča izdelavo grafičnih podlog in logotipov, izrezovanje fotografij, spreminjanje barv,

združevanje slik s pomočjo ravnin, pretvorbe med različnimi slikovnimi formati…[22]

Primer uporabe orodja GIMP prikazuje slika 15.

Page 35: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

24

Slika 15: urejanje v programu GIMP

4.3 IMPLEMENTACIJA

V tem poglavju si bomo natančneje pogledali potek izdelave aplikacije ter vključitev vseh

funkcionalnosti, ki smo si jih v okviru diplomske naloge zadali.

Da smo lahko začeli s programiranjem, smo morali sprva vse tone posneti. Kot smo

omenili, ima diatonična harmonika lastnost, da imajo določeni gumbi drugačen zven ob

stiskanju oziroma vlečenju meha, zato smo morali za vsak gumb posneti oba načina

zvena (odpiranje, zapiranje meha). Če natančno pogledamo sestavo tipkovnice, opazimo,

da novejši standard diatonične harmonike, ki ima razporeditev gumbov 12-13-12 na

računalniški tipkovnici ni izvedljiv, zato smo uporabili standard 11-12-11. Če nekoliko

poenostavimo, imamo v vrsti A (prva vrsta) 11 gumbov, v vrsti B (druga vrsta) 12, ter v

vrsti C ponovno 11 gumbov.

Osnovo za predvajanje in igranje predstavljajo posneti toni. Zato ne preseneča dejstvo, da

boljši kot so toni, boljši bo zven v naši aplikaciji. V ta namen smo vse posnete tone s

programom Audacity preuredili ter pripravili za nadaljnjo uporabo. Vse posnetke smo

shranili v zvočnem formatu wma.

Page 36: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

25

Slika 16: posnetki za vrsto A

Potem ko smo uredili vse posnetke in jih ustrezno poimenovali (slika 16), smo lahko pričeli

z naslednjo fazo – izdelavo vmesnika in programiranjem. V ta namen smo v Visual Studiu

sprva ustvarili projekt. Ker gre za namizno aplikacijo, smo pri izbiri vrste aplikacije izbrali

Windows Forms Application.

Sledila je integracija grafičnega uporabniškega vmesnika in programske kode. V ta namen

smo pričeli z vključitvijo in oblikovanjem vmesnika. Tako smo dobili preglednost in nadzor

nad uporabo aplikacije. V to smo vključili tudi grafično ponazoritev tipkovnice in miške

(slika 17). Tipkovnica signalizira, katero tipko je uporabnik pritisnil na tipkovnici za igranje

določenega tona, z miško pa ponazarjamo, v katero smer uporabnik vleče meh.

Slika 17: grafična ponazoritev tipkovnice in miške

Page 37: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

26

Ker želimo, da ima uporabnik ves čas nadzor in preglednost nad igranjem, smo na našo

navidezno harmoniko (slika 18) dodali tudi krogce, ki se prikažejo sočasno s pritiskom na

tipkovnico, torej takrat, ko se pritisne oziroma drži izbrani gumb na tipkovnici. Z namenom,

da ima uporabnik čim večji pregled nad igranjem, smo v programski kodi omogočili, da se

ob stiskanju oziroma raztezanju meha spreminja tudi barva gumbov – za stiskanje meha

smo uporabili rdečo, za vlečenje meha pa zeleno (vidno na sliki 19). Skladno s

premikanjem miške, spreminjamo tudi oznako, ki označuje, v katero smer vlečemo meh.

Slika 18: navidezna harmonika

Slika 19: oznaka za vlečenje meha

Page 38: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

27

4.3.1 Implementacija funkcionalnosti

Poleg kvalitetnega grafičnega uporabniškega vmesnika predstavlja velik del pri izgradnji

simulatorja tudi ustrezen način predvajanja tonov. Po testiranjih se je za izjemno

uporabnega izkazal FMOD, ki omogoča številne funkcije in s tem dokaj realno upodobitev

delovanja diatonične harmonike, saj omogoča sočasno predvajanje različnih kanalov, ki

pri predvajanju niso odvisni drug od drugega. Torej, če vse skupaj nekoliko poenostavimo

- sočasno lahko pritiskamo več tipk, tako kot na diatonični harmoniki, program pa bo to

uspešno zaigral. Takšen način delovanja je na primer primerljiv z več sočasno odprtimi

predvajalniki, ki hkrati proizvajajo različne melodije.

Za pravilno uporabo in predvajanje tonov smo v začetku inicializirali spremenljivke za

kanale (vsak kanal predstavlja svoj gumb na melodijski strani) in vse zvoke, ki jih za

igranje potrebujemo (slika 20). Ker lahko pride do situacije, da uporabnik drži gumb

pritisnjen dlje časa, kot je ton posnet, smo pri inicializaciji FMOD-a nastavili predvajanje v

zanki, ki po vsakem pretečenem posnetku samodejno prične na novo s predvajanjem, vse

dokler uporabnik ne prekine igranja s spustom tipke.

Slika 20: inicializacija spremenljivk za FMOD

V naslednji fazi je sledila inicializacija in priprava FMOD-a za ustrezno delovanje in

predvajanje, nalaganje vseh tonov ter določitev načina predvajanja. Primer nalaganja

tonov za igranje v prvi vrsti prikazuje slika 21.

Page 39: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

28

Slika 21: nalaganje tonov za stiskanje meha in igranje v 1. vrsti

Ker gre za igranje inštrumenta, predvajanje zvokov sprožimo s pritiski na določene tipke

na tipkovnici. V ta namen smo za detekcijo pritiskov uporabili metodo KeyDown (del kode

viden na sliki 22), medtem ko spuste tipk zaznavamo v metodi KeyUp.

Slika 22: koda, ki se izvede ob pritisku na črko Y

Da smo lahko zaznali pritisnjene ali spuščene tipke smo pri razpoznavanju uporabljali

vrednosti, kot jih prikazuje Tabela 1. To smo dosegli s pomočjo razreda KeyEventArgs, ki

omogoča kontrolo uporabnikovega pritiska na tipkovnico, in metode KeyCode. KeyCode

lahko obravnavamo kot posamezne tipke na tipkovnici, saj ima vsaka tipka svojo

KeyCode vrednost (vrednosti segajo od 0 do 255).

Page 40: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

29

Tabela 1: vrednosti za ugotavljanje pritisnjenih oziroma spuščenih tipk

Znak oziroma črka: Vrednost:

- 189

, 188

. 190

A 65

B 66

C 67

Č 186

Ć 222

D 68

Đ 221

E 69

F 70

G 71

H 72

I 73

J 74

K 75

L 76

M 77

N 78

O 79

P 80

R 82

S 83

SHIFT 16

Š 219

T 84

U 85

V 86

W 87

X 88

Y 89

Z 90

Ž 220

6 54

Page 41: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

30

V metodi KeyUp igranje posameznega tona ustavimo, torej ugotovimo tipko, ki je bila

spuščena, in na novo nastavimo vrednosti ter jih s tem pripravimo za nemoteno nadaljnje

igranje. Metodo uporabljamo tudi za skrivanje oznak, ki prikazujejo, da imamo pritisnjen

določen gumb.

Z uporabo časovnika (angl. Timer) smo dosegli, da program sproti kontrolira pozicije

miške ter računa premike glede na prejšnjo pozicijo na osi X. V ta namen ugotavljamo, ali

uporabnik vleče miško v levo, torej odpira meh, ali pa gre za zapiranje meha. Glede na

posamezne vrednosti ugotavljamo tudi hitrost vlečenja miške in tako določamo glasnost

igranja – hitreje ko premikamo miško, višja je izhodna glasnost in obratno.

Večinoma je koristno, če poznamo svoje sposobnosti in jih ustrezno analiziramo. Na ta

način omogočimo lažje odpravljanje napak in zmanjševanje možnosti za ponovitve v

prihodnosti, saj je znano, da večja kot je kontrola, večja je možnost zmanjšanja

potencialnih virov nezadovoljstva. Zato smo v program dodali možnost snemanja igranja

in v ta namen v naš projekt vključili knjižnico NAudio. Ob pritisku na gumb se za pričetek

snemanja izvede metoda, kot je prikazana na sliki 23. Ob tem se prikaže tudi dialog (slika

25) za izbiro lokacije za shranjevanje posnetka.

Slika 23: metoda za snemanje

Ob kliku na gumb za konec snemanja se izvede metoda na sliki 24.

Page 42: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

31

Slika 24: metoda za konec snemanja

Slika 25: dialog za izbor lokacije shranjevanja zvočnega posnetka

4.4 Grafični uporabniški vmesnik

Uporabniški vmesnik predstavlja vezni člen med uporabnikom in računalniškim sistemom

ter omogoča uporabo slednjega. Kakovosten uporabniški vmesnik predstavlja temelj za

zadovoljstvo in uspeh uporabnika pri delu. Velja dejstvo, da ni enotne opredelitve, kakšen

je ''dober uporabniški vmesnik'', saj je to odvisno od cele vrste različnih dejavnikov,

seveda pa tudi od konkretnega sistema ter lastnosti njegovih uporabnikov. V splošnem

velja, da naj bo uporabniški vmesnik uporaben, uporabniško prijazen, varen in učinkovit.

Uporabnost in uporabniška prijaznost sta koncepta, s katerimi se neprestano srečujemo

Page 43: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

32

pri načrtovanju, predstavljata pa tudi izhodiščno točko, ki smo jo uporabili za gradnjo

našega uporabniškega vmesnika.[32]

Velja prepričanje, da prvi vtis predstavlja večni vtis. Tako je tudi s programi, saj večina

ljudi ocenjuje le to, kar vidi. Zato smo ustvarili okna, ki olajšajo uporabo in naredijo

program bolj pregleden.

Dejali smo, da gre v našem projektu za okensko aplikacijo. Njena značilnost je, da takšna

aplikacija vsebuje vsaj en obrazec. Eden izmed obrazcev je tipično glavni obrazec, ki je

bodisi lastnik ali starš vsem ostalim obrazcem, ki so lahko prikazani tekom življenjske

dobe aplikacije. Tako glavni obrazec običajno vsebuje meni, orodno vrstico, statusno

vrstico… Ko se zapre glavni obrazec, se navadno konča tudi aplikacija.

V naši aplikaciji glavno okno (slika 28, slika 30) predstavlja okno z glavnimi

funkcionalnostmi (igranje, prikaz igranja itd). V projekt smo vključili tudi pozdravno okno

(slika 26) in okno z navodili za uporabo programa (slika 27).

Slika 26: pozdravno okno

Page 44: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

33

Slika 27: okno s predstavitvijo aplikacije in navodili za uporabo

Page 45: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

34

Slika 28: glavno okno

Za večje razumevanje posameznih simbolov smo posameznim gumbom dodali opis (angl.

ToolTip), kot je vidno na sliki 29.

Slika 29: snemanje igranja

Page 46: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

35

Slika 30: glavno okno med igranjem

Če gledamo s stališča uporabnika, ki se z igranjem na diatonično harmoniko še ni srečal,

kaj hitro ugotovimo, da si s samim programom razen raznih pritiskov na tipke in poskušanj

posameznih zvenov nima kaj dosti začeti. Z namenom, da bi zadostili kriteriju

univerzalnosti, smo v program dodali opcijo, ki omogoča, da si lahko pogledamo kako

zaigrati izbrano skladbo. V aplikacijo smo dodali navodila za igranje dveh ljudskih pesmi:

Kuža pazi ter Jaz pa pojdem na Gorenjsko. Kot je razvidno na slikah 31 in 32, se po

izboru pesmi prikaže okno, ki prikazuje, v katero smer moramo vleči meh ter kolikokrat in

na katere tipke moramo pritisniti, da lahko zaigramo izbrano skladbo.

Page 47: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

36

Slika 31: navodila za igranje pesmi Kuža pazi

Slika 32: navodila za igranje pesmi Jaz pa pojdem na Gorenjsko

Page 48: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

37

5 PREDNOSTI IN SLABOSTI NAŠE APLIKACIJE V PRIMERJAVI Z DEJANSKO DIATONIČNO HARMONIKO

V današnjem času delo z računalniki prinaša veliko prednosti in udobja. V uvodu smo

dejali, da želimo izdelati aplikacijo, ki bo čim bolj upodabljala realno diatonično harmoniko

in njeno delovanje. Glede na rezultate testiranj lahko povzamemo, da je nastal uspešen

izdelek, ki omogoča uporabniku približek igranja na diatonično harmoniko. Zraven

praktične uporabnosti veliko prednost aplikacije predstavlja tudi cena, saj vemo, da

dejanske diatonične harmonike stanejo tudi po več tisoč evrov.

Med ostale prednosti aplikacije sodijo:

enostavna in pregledna uporaba,

dodane funkcionalnosti dejanske diatonične harmonike,

aplikacija zagotavlja vse potrebne izpise za spremljanje dogajanja med igranjem,

dodana navodila za izvajanje izbrane pesmi,

navodila za uporabo,

na podlagi posnetka možna analiza igranja,

neomejen čas igranja,

prilagajanje glasnosti izhoda…

Ker ima navadno vsaka dobra stvar tudi kakšno slabost, je tak primer tudi naša aplikacija,

vsaj kar zadeva strojno opremo. Zaradi narave tehnologije, v aplikacijo ni bilo mogoče

vključiti tudi igranja basovskega dela, saj bi za to potrebovali precej več gumbov, česar pa

računalniška miška oziroma razporeditev tipk na tipkovnici ne omogoča. Omeniti velja, da

ima veliko vlogo pri igranju tudi tipkovnica. Največjo slabost predstavlja dejstvo, da se

tipkovnice razlikujejo med sabo po kvaliteti odzivnosti.

Glede na analize v predhodnih poglavjih velja izpostaviti primerjavo naše aplikacije z že

obstoječimi. Dejali smo, da je na tržišču za igranje diatonične harmonike, kot jo pretežno

uporabljamo na našem področju, aktualna le aplikacija LTK harmonika. Glede na

neposredno primerjavo lahko povzamemo, da naša aplikacija vključuje širši spekter

uporabnosti – predvsem boljšo odzivnost aplikacije, omogočeno snemanje, pomoč za

novince, vključeno vlečenje meha…

Page 49: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

38

V primerjavi z aplikacijami za Android velja izpostaviti bistveno prednost, ki se skriva v

preglednosti. Pri aplikacijah za pametne telefone oziroma tablice je zaradi velikosti

zaslona zahtevano pogosto »scrollanje« oziroma zvijanje okna s klaviaturo, prav tako te

aplikacije ne vključujejo vlečenja meha in nenazadnje pri teh aplikacijah v veliki meri ne

gre za diatonično harmoniko, ampak za klavirsko oziroma kromatično.

Po vseh analizah lahko povzamemo, da naša aplikacija omogoča največjo analogijo z

dejanskim inštrumentom. Prav tako omogoča med vsemi obravnavanimi aplikacijami

najbolj naraven način stiskanja oziroma vlečenja meha.

Skupno vsem aplikacijam in dejanski harmoniki je dejstvo, da je za uspešno izvedbo

oziroma igranje potrebno ogromno vaje, saj že star pregovor pravi »vaja dela mojstra«.

Page 50: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

39

6 SKLEP

Z leti računalništvo vedno bolj napreduje. Tako danes najdemo veliko število aplikacij, ki

upodabljajo stvari iz realnosti, vendar pa je pri tem potrebno upoštevati dejstvo, da le

redkim uspe izdelati idejo do konca, saj se največkrat takšni projekti ustavijo bodisi zaradi

težav pri implementaciji bodisi zaradi financ.

V diplomski nalogi smo uresničili vse zadane cilje in funkcionalnosti. V povezavi glasbe in

tehnike smo dokazali, da harmonika ni več samo preprosto ljudsko glasbilo, namenjeno le

igranju v ansamblih. Pojavlja se v različnih vlogah tudi na raziskovalnih in znanstvenih

področjih. Če delovanje našega simulatorja primerjamo z delovanjem nekaterih aplikacij

na trgu, opazimo, da je konkurenčen v vseh pogledih. Po preučenih pozitivnih ter

negativnih lastnostih vseh posameznih že obstoječih aplikacij lahko povzamemo, da smo

izdelali aplikacijo, ki velja za bolj kvalitetno od večine vseh konkurenčnih simulatorjev, ki

smo jih videli do sedaj.

V prihodnosti bomo aplikacijo nedvomno še popravljali in dodelovali ter poskušali razviti

do te mere, da bodo odpravljene pomanjkljivosti in bo s tem omogočeno igranje še bolj

realistično. Le tako bo mogoče izkoristiti popoln potencial našega simulatorja.

V razvoju aplikacije vidim še veliko možnosti za nadaljnji razvoj. Morda bi bilo glede na

popularnost tablic in pametnih telefonov smiselno v prihodnosti preučiti tudi še druge

načine vnosa in tako izdelati aplikacijo za uporabo na tablici ali pametnem telefonu. Prav

tako bi lahko preuredili in olepšali uporabniški vmesnik in ga tako naredili uporabniško še

bolj prijaznega. Med funkcionalnosti bi lahko dodali tudi možnost igranja v več durih.

Razvoj tehnologije je v veliki meri omogočil, da se danes na splet selijo celotni

informacijski sistemi ter s tem tudi aplikacije, ki so bile še nedavno v domeni specifičnih

programskih okolij. Predvsem na tem področju vidim veliko inovativnih rešitev, ki bi lahko

pripomogle k še večji uporabnosti aplikacije.

Ker je sama zasnova simulatorja kar kompleksna, smo se pri opisu diplomske naloge

osredotočili le na osnovne dele in prikaz delovanja. Upoštevajoč vsa našteta dejstva smo

pri izdelavi aplikacije natančno izluščili tisti del, ki je nujno potreben za amatersko igranje

inštrumenta in tako služi kot učni program, s pomočjo katerega je moč lažje razumeti

Page 51: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

40

koncept in delovanje harmonike. Verjamemo, da smo s tem pripomogli k še večji

popularnosti in prepoznavnosti inštrumenta.

Page 52: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

41

7 VIRI

[1] Avdio.si. Harmonika. Dostopno na: http://www.avdio.si/harmonika/ [7.5.2013].

[2] Mitja, M. Vpliv lesa na zvok diatonične harmonike. Dostopno na:

http://www.ukm.uni-

mb.si/UserFiles/658/File/Vpliv%20lesa%20na%20zvok%20diatonine%20harmonik

e.pdf [7.5.2013].

[3] Pošta Slovenije. Slovenija - Evropa v malem (Harmonika). Dostopno na:

http://www.posta.si/postna-celina/399/Slovenija-Evropa-v-malem-Harmonika-

?nodeid=534 [22.5.2013].

[4] Wikipedia. Diatonična harmonika.

http://sl.wikipedia.org/wiki/Diatoni%C4%8Dna_harmonika [8.5.2013].

[5] LTK harmonika. Označevanje tipk. Dostopno na:

https://sites.google.com/site/ltkharmonik/_/rsrc/1351526225069/o-

programu/sestava-programa/Ozna%C4%8Devanje%20tipk.png [27.6.2013].

[6] Harmonike Pečjak. Zgodovina harmonike. Dostopno na:

http://harmonika-pecjak.si/harmonike-pecjak/zgodovina-harmonike/ [22.5.2013].

[7] Frajtonarca.info. Slika diatonične harmonike starejše izdelave. Dostopno na:

http://www.frajtonarca.info/uploads/6/6/6/7/666782/7704316.jpg?191 [27.6.2013].

[8] Frajtonarca.info. Opis in zgodovina diatonične harmonike, Princip delovanja.

Dostopno na: http://www.frajtonarca.info/diatoni269na-harmonika.html [8.5.2013].

[9] Poučevanje harmonike. Slika diatonične harmonike. Dostopno na:

http://poucevanje-harmonike.eu/wp-content/uploads/2013/01/d5-300x228.jpg

[27.6.2013].

[10] Wikipedia. Seznam slovenskih izdelovalcev harmonik. Dostopno na:

http://sl.wikipedia.org/wiki/Seznam_slovenskih_izdelovalcev_harmonik

[22.5.2013].

[11] O harmonikah. Klavirska harmonika. Dostopno na:

https://sites.google.com/site/oharmonikah/klavirska-harmonika [8.5.2013].

[12] Play Hohner. Slika klavirske harmonike. Dostopno na:

http://us.playhohner.com/typo3temp/fl_realurl_image/morino-iv-96-retro-d0.png

[27.6.2013].

Page 53: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

42

[13] Wikipedia. Kromatična harmonika. Dostopno na:

http://sl.wikipedia.org/wiki/Kromati%C4%8Dna_harmonika [9.5.2013].

[14] Poučevanje diatonične in kromatične harmonike. Kromatična harmonika.

Dostopno na: http://poucevanje-harmonike.eu/?page_id=13 [22.5.2013].

[15] Poučevanje harmonike. Slika kromatične harmonike. Dostopno na:

http://poucevanje-harmonike.eu/wp-content/uploads/2013/01/b.jpg [27.6.2013].

[16] Wikipedia. Google Play. Dostopno na: http://sl.wikipedia.org/wiki/Google_Play

[11.5.2013].

[17] Slo-android.si. Kaj je Android?. Dostopno na:

http://slo-android.si/prispevki/kaj-je-android.html [11.5.2013].

[18] Google Play. Melodeon. Dostopno na:

https://lh4.ggpht.com/lxBcg50nyyhEbpuff1aRt4XCxZQWn3bxa3RSubAelRjHnisXh

uezrr31qpwhZRlAOS4 [27.6.2013].

[19] Google Play. Android Accordion. Dostopno na:

https://lh4.ggpht.com/x0o7vxNMBTVwL7ewLKNm_apD8lPHDH44Vo_ZlXxQSO0t8

J-CwJnUnNwq5681heJDNDM [27.6.2013].

[20] Wikipedia. Strojna oprema. Dostopno na:

http://sl.wikipedia.org/wiki/Strojna_oprema [2.6.2013].

[21] E-gradiva.net. Vhodne in izhodne enote. Dostopno na:

http://www.egradiva.net/moduli/mikroprocesorji/11_zgradba/datoteke/image003.gif

[27.6.2013].

[22] Wikispaces. GIMP. Dostopno na:

http://programgimp.wikispaces.com/O+programu+Gimp [13.5.2013].

[23] Audacity. Dostopno na: http://audacity.sourceforge.net/?lang=sl [13.5.2013].

[24] Bonačić, D. Kratek priročnik jezika C# in razlike z jezikom C++. Maribor: Fakulteta

za elektrotehniko, računalništvo in informatiko, 2008. Dostopno na:

http://osebje.informatika.uni-

mb.si/davor/predmeti/orodja_za_razvoj_aplikacij_in_vs3/CSharp/CSharp_zbrano_

gradivo.pdf [28.5.2013].

Page 54: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje

43

[25] MSDN. .NET Framework and Visual Studio .NET. Dostopno na:

http://i.msdn.microsoft.com/dynimg/IC170808.gif [27.6.2013].

[26] Wikipedia. Microsoft Visual Studio. Dostopno na:

https://en.wikipedia.org/wiki/Microsoft_Visual_Studio [19.5.2013].

[27] Krajnc, B. Razvoj programske opreme za vodenje turističnih nastanitev. Ljubljana:

Fakulteta za računalništvo in informatiko, 2009. Dostopno na: http://eprints.fri.uni-

lj.si/814/1/Kranjc_B_UN.pdf [22. 5. 2013].

[28] Uranič, S. Visual C# .NET. Dostopno na:

http://uranic.tsckr.si/VISUAL%20C%23/VISUAL%20C%23.pdf [22.5.2013].

[29] Wikipedia. Windows Presentation Fundation vs. Windows Forms. Dostopno na:

http://sl.wikipedia.org/wiki/Windows_Presentation_Fundation_vs._Windows_Forms

[1.6.2013].

[30] Wikipedia. FMOD. Dostopno na: http://en.wikipedia.org/wiki/FMOD [15.2.2013].

[31] NAudio. Dostopno na: http://naudio.codeplex.com/documentation [17.5.2013].

[32] Vilar, P., Žumer, M. Uporabniški vmesniki sistemov za poizvedovanje in

uporabniška prijaznost. Dostopno na:

http://revija-knjiznica.zbds-zveza.si/Izvodi/K0801/vilar.pdf [15.5.2013].

Page 55: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje
Page 56: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje
Page 57: Simulator diatonične harmonike Simulator diatonične harmonike Ključne besede: diatonična harmonika, harmonika, C#, simulator, inštrument UDK: 780.647.2(043.2) Povzetek Ljudje