Työn ohjaajana toimii yliassistentti TkT Kari Heikkinen Työn tarkastajana toimii prof. Jari Porras Lappeenrannassa

Koko: px
Aloita esitys sivulta:

Download "Työn ohjaajana toimii yliassistentti TkT Kari Heikkinen Työn tarkastajana toimii prof. Jari Porras Lappeenrannassa 20.08.2008"

Transkriptio

1 Lappeenrannan teknillinen yliopisto Teknistaloudellinen tiedekunta Tietotekniikan koulutusohjelma Avoimen lähdekoodin musiikkiteknologia Kandidaatintyö Kandidaatintyön aihe on hyväksytty Työn ohjaajana toimii yliassistentti TkT Kari Heikkinen Työn tarkastajana toimii prof. Jari Porras Lappeenrannassa Mikko Gynther Punkkerikatu 5 C 43, Lappeenranta

2 TIIVISTELMÄ Lappeenrannan teknillinen yliopisto Teknistaloudellinen tiedekunta Tietotekniikan koulutusohjelma Mikko Gynther Avoimen lähdekoodin musiikkiteknologia Kandidaatintyö sivua, 5 kuvaa, 8 taulukkoa, 5 liitettä Tarkastaja: Professori Jari Porras Hakusanat: Avoin lähdekoodi, musiikki, virtuaali instrumentti, äänisynteesi Keywords: Open source, music, virtual instrument, sound synthesis Musiikkiteknologia on laaja soveltava tieteenala, jota voidaan hyödyntää kasvatustieteissä, psykologiassa ja kognitiivisissa tieteissä. Musiikkilaitteet ja ohjelmistot hyödyntävät tietotekniikkaa. Musiikkiteknologian ohjelmat ovat joko kaupallisia tai pohjautuvat avoimen lähdekoodin ajatteluun. Tässä työssä kartoitin Linuxin avoimen lähdekoodin virtuaali instrumentit sekä toteutin rumpukoneen, kosketinsoittimen ja yksinkertaisen karaokeohjelman mobiilille laitteelle. Tehty työ osoittaa, että tietoteknisin keinoin voidaan toteuttaa tutkimushankkeissa hyödynnettäviä musiikkiteknologian ohjelmia. ii

3 ABSTRACT Lappeenranta University of Technology Faculty of Technology Management Degree Program of Information Technology Mikko Gynther Open Source Musical Engineering Bachelor's Thesis pages, 5 figures, 8 tables, 5 appendices Examiner: Professor Jari Porras Keywords: Open source, music, virtual instrument, sound synthesis Musical Engineering is a broad applied branch of science which can be utilized to pedagogics, psychology and cognitive science. Musical devices and software utilize information technology. Musical engineering software is either commercial or based on open source philosophy. In this thesis I study open source virtual instruments developed for Linux and develop a drum machine, a musical keyboard and a simple karaoke program for a mobile device. This thesis shows that musical engineering software which is useful in research projects can be developed by means of information technology. iii

4 ALKUSANAT Tämä työ tehtiin Lappeenrannan teknillisessä yliopistossa Tietoliikenneohjelmistojen laboratoriossa kesällä Haluan kiittää Tietoliikenneohjelmistojen laboratoriota hyvästä työilmapiiristä ja ympäristöstä sekä avusta Linux käyttöjärjestelmän ja Maemoympäristön kanssa. iv

5 SISÄLLYSLUETTELO TIIVISTELMÄ...ii ABSTRACT...iii ALKUSANAT...iv SISÄLLYSLUETTELO...1 SYMBOLILUETTELO JOHDANTO Tausta Tavoitteet ja rajaukset Työn rakenne MUSIIKKITEKNOLOGIAN KÄSITTEET Taustatietoa tekniikasta ja työssä käytetyt käsitteet Tutkimusongelman ja sen ratkaisutavan esittely VIRTUAALI INSTRUMENTTIEN OHJELMOINTI Linuxin virtuaali instrumenttien kartoitus Drums ohjelma Melody ohjelma Karaoke ohjelma Melody ohjelman suorituskykytestaus Tulosten yhteenveto Työn vaativuus ja työmäärä Tulosten tulkinta POHDINTA MobiKid ja Karaoke ohjelmien vertailu Tulosten merkitys Tulevaisuus YHTEENVETO...33 LÄHDELUETTELO...34 Liite 1. Musiikkiteknologian avainsanat lähteestä ACM

6 Liite 2. Drumsin soivat äänet toistava funktio...40 Liite 3. ALSA tietovirtaan kirjoittava funktio...42 Liite 4. Puskurit summaava funktio...43 Liite 5. Melodyn äänialgoritmit

7 SYMBOLILUETTELO ALSA FM GTK+ JACK JamMo LFO Mac OS MIDI OpenGL UMSIC Advanced Linux Sound Architecture Frequency Modulation (taajuusmodulointi) The GIMP Toolkit Jack Audio Connection Kit Jamming Mobile Low Frequency Oscillator (matalataajuinen oskillaattori) Macintosh Operating System Musical Instrument Digital Interface Open Graphics Library Usability of Music for Social Inclusion of Children 3

8 1 JOHDANTO 1.1 Tausta Musiikki on ollut olennainen osa ihmisten elämää vuosituhansien ajan. Se on merkittävä osa kulttuureita ja nähdään usein universaalina kielenä. Tekninen kehitys on monipuolistanut musiikin harrastamisen mahdollisuuksia. Musiikkiteknologia (Musical Engineering) on soveltava tieteenala, jota voidaan hyödyntää kasvatustieteissä, psykologiassa ja kognitiivisissa tieteissä. Musiikin harjoittamisen yhteys luovuuteen ja älykkyyteen sekä musiikin vaikutus ihmisen kehitykseen on kiinnostanut tutkijoita pitkään. Musiikkiteknologia hyödyntää fysiikan aaltoliikkeen ja mekaniikan sekä signaalinprosessoinnin teorioita. Se pyrkii tekniikan avulla vastaamaan ihmisten musiikillisiin tarpeisiin, jotka voivat olla erittäin yksilösidonnaisia. Tietotekniikka on erottamaton osa musiikkiteknologiaa, ja sen merkitys musiikkiteknologiassa on kasvanut entisestään tietokoneiden laskentatehon lisääntyessä. Tietotekniikkaan sisältyy ohjelmointi, joka mahdollistaa fysiikan ilmiöiden todentamisen. Osa musiikkiteknologian tuotteista on ollut kaupallisia ohjelmistoja esimerkiksi musiikin ammattimaiseen tuotantoon. Yrityksissä on myös tutkittu ja kehitetty erilaisia musiikkilaitteita sekä ammattimaiseen että kuluttajien käyttöön. Kaupallisten ohjelmistojen lisäksi myös avoimen lähdekoodin (open source) musiikkiteknologiaa on saatavilla. Avointa lähdekoodia voidaan hyödyntää tieteellisessä tutkimustyössä tehokkaasti, koska sen käyttö on suljettua lähdekoodia vapaampaa. Näin saavutetut tutkimustulokset ovat helpommin hyödynnettävissä sekä tutkimuksessa että erilaisissa toteutuksissa. Kuitenkin avoin lähdekoodi on toistaiseksi verrattain harvinaista musiikkiteknologiassa. Onkin tärkeää saada selville: Kuinka avoimen lähdekoodin musiikkiteknologiaa voidaan hyödyntää tieteellisessä tutkimustyössä? 4

9 1.2 Tavoitteet ja rajaukset Työn rajaukset keskittyvät 1 UMSIC hankkeen (Usability of Music for Social Inclusion of Children) viitekehykseen. UMSIC hankkeen tarkoitus on ehkäistä lasten syrjäytymistä esimerkiksi lisäämällä heidän yhteenkuuluvuuden tunnettaan musiikin avulla. Musiikkiterapian on todettu muun muassa parantavan huomio ja keskittymiskykyä sekä impulsiivisuuden hallintaa lasten keskuudessa. Sen on todettu myös parantavan itsetuntoa, itseilmaisua ja muistia [33]. UMSIC hankkeessa toteutetaan musiikkiohjelmisto vertaisverkkoympäristöön. Siinä tuotetaan JamMo sovellus, jossa on kolme toimintatapaa: Karaoke, Improvisointi (Improvisation) ja Sävellys (Composition) [33]. Tavoitteenani oli tuottaa improvisointiin soveltuvia virtuaali instrumentteja, joiden avulla käyttäjä voi myöhemmin sekvensseriosiota hyödyntäen soittaa taustamusiikin päälle ja äänittää omaa soittoaan. Omissa virtuaali instrumenteissani taustamusiikkia tai äänitysmahdollisuutta ei ole, vaan pyrin ainoastaan kehittämään soitettavia virtuaali instrumentteja. En ensisijaisesti pyrkinyt tekemään virtuaali instrumentteja, joiden tuottama ääni on mahdollisimman lähellä fyysisiä instrumentteja. Tavoitteeni oli saada ääntä tuotettua eri periaatteita hyödyntäen. Näin tuottamaani ohjelmakoodia voidaan todennäköisesti hyödyntää paremmin tulevaisuudessa. Ohjelmia kehitin Maemo ympäristössä ja kohdelaitteena oli Nokia N810. Maemo on Nokian tukema Linux pohjainen kehitysympäristö Internet Tabletien ohjelmille, ja sitä käytetään tulevassa UMSIC hankkeessa. N810 valittiin, koska se oli saatavilla [15, 33]. Virtuaali instrumenttini käyttävät Maemon tukemaa ALSA äänikirjastoa, joka on Linuxympäristön standardiäänikirjasto. Linuxin JACK äänipalvelin olisi suunnattu 1 UMSIC: FP hanke alkaa ja päättyy

10 ammattimaisempaan musiikkikäyttöön, mutta se ei ainakaan toistaiseksi sisälly Maemoympäristöön [17, 35]. Tarkoitukseni ei ollut toteuttaa graafista käyttöliittymää tai valmista osaa sovellukseen, vaan ainoastaan tuottaa ja kerätä UMSIC hankkeessa myöhemmin hyödynnettävää tietoa. Tarkoitukseni oli myös tutustua virtuaali instrumenttien ohjelmointityöhön ja helpottaa tulevaa suunnittelutyötä ja aikataulujen arviointia. En tutustunut kasvatustieteiden, psykologian tai kognitiivisten tieteiden lähteisiin työtä tehdessäni. Käyttämäni lähteet ovat lähinnä tekniikan alan julkaisuja Työn rakenne Teoriaosuudessa tutkin työhön liittyvää teoreettista taustaa ja esittelen käytetyt käsitteet ja termit. Esittelen myös tutkimusongelman ja sen ratkaisutavan. Käytännön osuus kuvaa työn, työvaiheet, tulokset ja työtä tehdessä esiintyneet ongelmat. Siihen kuuluu kuvaus olemassa olevien virtuaali instrumenttien kartoituksesta ja kuvaukset kolmesta ohjelmoimastani ohjelmasta. Pohdintaluvussa arvioin työn tuloksien merkitystä ja tulevaisuutta. Yhteenveto on lyhyt kooste tehdystä työstä. 6

11 2 MUSIIKKITEKNOLOGIAN KÄSITTEET 2.1 Taustatietoa tekniikasta ja työssä käytetyt käsitteet Musiikkiteknologia ymmärretään hyvin laajana käsitteenä (ks. Liite 1). Taulukossa 1 on tilasto artikkelien avainsanoista. Merkitykseltään vastaavia avainsanoja yhdistin parantaakseni taulukon luettavuutta. Tilastosta näkee musiikkiteknologian tutkimuksen painotuksia osa alueittain. Pääpiirteittäin avainsanat ovat kuvaavia. Ainoastaan Musical, Musical engineering, avoimeen lähdekoodiin liittyvät avainsanat eivät kuvaa artikkelin sisältöä tarkasti. Taulukko 1: Musiikkiteknologian avainsanat (ks. Liite 1) Avainsana (suomennos) Artikkelien määrä Prosenttiosuus (yhteensä 72) artikkeleista Music education (musiikin opetus) 14 19,4 % Musical (musiikillinen) 14 19,4 % Virtuaali instrumentteihin liittyvät avainsanat 13 18,1 % Composition music (sävellys musiikki) 7 9,7 % Karaoke 6 8,3 % Musical cognition (musiikillinen kognitio) 5 6,9 % Avoimeen lähdekoodiin liittyvät avainsanat 3 4,2 % Music therapy (musiikkiterapia) 3 4,2 % Sosiaalisiin ja psykologisiin seikkoihin 3 4,2 % liittyvät avainsanat Improvisointiin liittyvät avainsanat 2 2,8 % Musical engineering (musiikkiteknologia) 2 2,8 % Artikkelit voidaan jakaa kolmeen ryhmään esiintymien määrän perusteella. Musiikin opetustyökaluihin ja virtuaali instrumentteihin on panostettu paljon. Sävellys ja karaoketyökalut sekä musiikillinen kognitio ovat tutkittuja aiheita. Avoin lähdekoodi ja musiikin sosiaaliset ja psykologiset vaikutukset ovat toistaiseksi olleet vähemmän suosittuja tekniikan alan julkaisuissa. 7

12 Tässä kappaleessa käytetyt musiikkiteknologian käsitteet on määritelty taulukossa 2. Useita musiikkiteknologiaan liittyviä termejä käytetään eri merkityksissä, mikä aiheuttaa helposti väärinymmärryksiä eri lähteitä luettaessa. Taulukko 2: Musiikkiteknologian käsitteitä Käsite Ääni Ääninäyte (sample) Äänisynteesi Virtuaaliinstrumentti Sampleri Sekvensseri Liitännäinen (plugin) Merkitys Väliaineen, tavallisesti ilman, hiukkasten värähtelyä, joka on peräisin värähtelijästä. Värähtely on muutettavissa sähköiseksi signaaliksi esimerkiksi mikrofonin avulla. Sähköinen signaali voidaan edelleen muuttaa digitaaliseksi, jolloin käytetään termiä digitaalinen ääni. 1) Yksittäisen näytteen arvo. Sekunnissa ääntä on näytetaajuuden verran ääninäytteitä. 2) Tiedosto, jota toistamalla voidaan tuottaa virtuaali instrumentin ääntä. Sisältää yhden soittimen, esimerkiksi rummun, yhden äänen. Tässä työssä käytetään termiä äänitiedosto. Menetelmät, joiden avulla luodaan musiikillisesti kiinnostavia ja mielellään realistisia ääniä reaaliajassa [29]. Digitaalista ääntä reaaliajassa tuottava soitettava ohjelma. Äänitiedostoja käyttäjän syötteiden perusteella toistava ohjelma tai laite. Moniraitainen musiikkiohjelma, joka voi toistaa ja tallentaa ääni ja MIDI raitoja. Sekvensserissä toimiva virtuaali instrumentti tai efekti. Löytämieni artikkelien avulla voi muodostaa musiikkiteknologiasta kuvan 1 mukaisen kokonaiskuvan. Suunnatut nuolet kuvaavat hierarkiasuhdetta. Kuvasta voi nähdä musiikkiteknologian ja psykologian läheisen yhteyden. Musiikkiteknologia tarjoaa työkaluja esimerkiksi musiikkiterapian tarpeisiin musiikin tekemisen itseisarvon lisäksi. Kuvaa voi lähestyä joko alhaalta tai ylhäältä. Ylhäältä lähdettäessä näkökulma on 8

13 tekninen, alhaalta puolestaan psykologinen. Tummennetut käsitteet liittyvät läheisesti tähän työhön. Kuvaan on myös merkitty joitakin viittauksia artikkeleihin. Kuva 1: Musiikkiteknologia [Liite 1] Kirjallisuuskatsaus osoitti, että seuraavia tutkimusaiheita on käsitelty: Äänisynteesi [21, 25] Virtuaali instrumentit [3, 34] Musiikin analysointi, luokittelu ja luominen [5, 6, 28] Musiikkilaitteiden ja lelujen erilaiset käyttöliittymät [2, 14, 27, 30] Lapsille soveltuvat musiikkityökalut [1, 7] Musiikin opetustyökalut [18, 23, 24] Musiikin psykologiset, pedagogiset ja kognitiiviset vaikutukset [4, 10, 20, 22, 26] 9

14 Värähtelijää voidaan mallintaa massa jousi systeemin avulla [21]. Artikkelissa vertaillaan kolmea numeerista menetelmää ja todetaan, että käytännössä niiden välillä on vähän korvin havaittavaa eroa. Instrumentin fyysistä mallinnusta voidaan lähestyä myös jakamalla instrumentti pienempiin mallinnettaviin osiin [25]. Virtuaali instrumenttien avulla on tutkittu perinteisten instrumenttien äänen mallintamista; esim. puhallinsoittimen soitettavuuteen liittyviä ongelmia koskettimilla soitettaessa [34] ja huilun tyyppisen instrumentin äänen tuottamista [3]. Äänitiedostojen toistoon perustuvista virtuaali instrumenteista, kuten kaupalliset virtuaali instrumentit [13, 31], ei löytynyt julkaisuja. Yksinkertainen, tietyn musiikkityylin kappale voidaan luoda kyseistä tyyliä edustavien näytteiden ja neuroverkon avulla [6]. Eri äänilähteiden erottamista yksikanavaisesta äänisignaalista on tutkittu [5]. Kyseinen artikkeli antaa rohkaisevia tuloksia äänenerottelualgoritmien mahdollisuuksista. Äänisignaalia analysoimalla ja evoluutiolaskentaa hyödyntämällä voidaan suositella kuuntelijalle mieluista musiikkia [28]. Rumpukonetta voidaan ohjata ihokosketuksella [2]. Virtuaali instrumenttia voidaan soittaa lihaksen sähköisillä jännitteillä (elektromyografia) [27]. Virtuaali instrumentin ohjaamista äänisignaalin avulla on tutkittu [14]. Pehmolelu sopii hyvin äänen tallennusmediaksi lapsille [30]. Artikkelissa todetaan, että lapset keksivät useita käyttömahdollisuuksia tallennetulle äänelle. Musiikkisekvensserin aikatason hahmottaminen helpottuu esimerkiksi pallojen ja kierteisen kiskon avulla [7]. Pallot valuvat kiskoa pitkin alaspäin ja matkan varrelle sijoitetaan syntetisaattorimoduuleita. Fyysisen sekvensserin todettiin helpottavan musiikin teoreettisten käsitteiden ymmärtämistä. Musiikkisekvensserin käytössä ei välttämättä vaadita raitojen käsitteen ymmärtämistä [1]. Tavallisesti raita sisältää yhden instrumentin ääntä, minkä takia ääni voidaan sijoittaa äänikuvassa haluttuun paikkaan ja 10

15 äänen voimakkuutta voidaan säätää helposti muihin raitoihin vaikuttamatta. Tämä lähestymistapa voidaan korvata instrumentteja kuvaavilla symboleilla, jotka sijoitetaan kuvassa eri paikkaan halutun toiminnon mukaan [1]. Tämän esitystavan todetaan olevan helposti lapsen ymmärrettävissä. On tutkittu ohjelmaa, jonka avulla lapsille opetetaan musiikin käsitteistöä, nuottien lukemista, pianonsoittoa ja oman musiikin säveltämistä [18]. Lapsi voi harrastaa musiikkia vanhempansa kanssa, vaikka vanhempi ei osaisikaan soittaa mitään instrumenttia [23]. Kyseisen musiikkiohjelman havaitaan tuovan yhteiseen musisointiin rikkaampaa musiikillista ilmaisua. Musiikinopetusta on myös lähestytty korvakuulolta oppimalla, kuten musiikkia on ollut tapana oppia perinteisesti epämuodollisessa oppimisympäristössä [24]. Lapsen sävellystyötä tietokoneympäristössä on tutkittu [26]. Artikkelissa todetaan, että tietokoneympäristö mahdollistaa sävellyksen kuulemisen heti ja täten musiikinteorian tunteminen ei ole vaatimus säveltämiselle. Musiikillisen lahjakkuuden ja vieraan kielen hyvän ääntämisen yhteys on havaittu [20]. Myös musiikkiterapia sekä musiikin sosiaaliset ja fysiologiset vaikutukset ovat tutkittuja aiheita. Lapsen ja vanhemman musiikillisen kanssakäymisen vaikutuksia lapsen kehitykseen on tutkittu [4]. Matkapuhelinsovelluksen avulla on hyödynnetty musiikin vaikutuksia liikuntasuorituksiin [22]. Neurologisen musiikkiterapian tietokonejärjestelmää voidaan käyttää autismin hoidossa [10]. 2.2 Tutkimusongelman ja sen ratkaisutavan esittely Linux käyttöjärjestelmälle on saatavilla useita avoimen lähdekoodin virtuaaliinstrumentteja. Suuri osa niistä toimii itsenäisinä ohjelmina, ei esimerkiksi sekvensseriohjelman liitännäisinä kuten useat virtuaali instrumentit Windows ja Mac OS käyttöjärjestelmissä. Itsenäisten ohjelmien hyödyntäminen on todennäköisesti mahdollista myös Linux johdannaisissa ympäristöissä kuten Maemo. Maemo ympäristön 11

16 soveltuvuus virtuaali instrumenteille on tärkeä selvittää UMSIC hankkeen takia. Siksi tämän työn tutkimusongelma oli seuraava: Miten avoimen lähdekoodin ideologiaa voidaan hyödyntää ohjelmoidessa virtuaali instrumentteja Maemo ympäristöön? Oman toteutukseni pohjalle etsin avoimen lähdekoodin virtuaali instrumentteja ja äänityökaluja kuten Hydrogen rumpukone [12]. Löytämieni ohjelmien pohjalta tein Maemo ympäristöön sopivia yksinkertaisia toteutuksia. Samalla tutkin, kuinka hyvin Linux ympäristöön tehty avoin lähdekoodi on siirrettävissä Maemo ympäristöön. Työn tavoitteet olivat: Linuxin avoimen lähdekoodin virtuaali instrumenttien kartoitus Yksinkertaisten virtuaali instrumenttien ohjelmointi Yksinkertaisen karaokeohjelman ohjelmointi äänitysominaisuuden toteuttamiseksi 12

17 3 VIRTUAALI INSTRUMENTTIEN OHJELMOINTI Virtuaali instrumentteihin liittyy paljon käsitteitä, jotka eivät käyneet ilmi musiikkiteknologian käsitteiden yhteydessä. Tässä kappaleessa käytetyt uudet käsitteet on selvitetty taulukossa 3. Taulukko 3: Virtuaali instrumenttien käsitteistöä Käsite Merkitys Bittisyvyys (Bit depth) Bittien määrä yhdessä ääninäytteessä. Näytetaajuus (Sample Sekunnissa otettavien ääninäytteiden määrä, kun signaali rate) muutetaan digitaaliseksi. Nyquistin teoreema Signaalinprosessoinnin teoreema, jonka mukaan signaalia, jonka korkein taajuus on f, ei voida esittää täydellisenä pienemmällä näytetaajuudella kuin 2*f. Puskuri Äänidatalle varattu muisti. MIDI Kontrolliprotokolla musiikkilaitteille. MIDI kontrollidatan avulla voidaan ohjata esimerkiksi virtuaali instrumentteja ja ohjelmistosyntetisaattoreita. Kontrollidata voidaan tallentaa MIDI tiedostoon myöhempää toistoa varten [19]. Ohjelmistosyntetisaattori MIDI tiedostojen toistoon tarkoitettu ohjelma. Hyödynnetään esimerkiksi peleissä ja nuotinnusohjelmissa. Oskillaattori Värähtelyä tuottava laite tai ohjelmakoodi. LFO Matalataajuinen oskillaattori. Tremolo Efekti, joka aiheuttaa äänenvoimakkuuden tasaista ja edestakaista vaihtelua. Lisäävä synteesi Äänisynteesin menetelmä, jossa sinikomponentteja (Additive synthesis) summataan [29]. Vähentävä synteesi Syntetisaattoreissa käytetty periaate, jossa oskillaattorilla (Substractive synthesis) tuotettua ääntä käsitellään suotimilla. 13

18 Taajuusmodulointi Intervalli Oktaavi Ääniala Äänisynteesin menetelmä, jossa yhden sinikomponentin taajuutta moduloidaan toisella sinikomponentilla [29]. Kahden sävelen suhteellinen korkeusero. Intervalli, jossa korkeamman sävelen taajuus on kaksinkertainen matalamman sävelen taajuuteen verrattuna. Instrumentin matalimman ja korkeimman äänen välinen ero. 3.1 Linuxin virtuaali instrumenttien kartoitus Löysin yhteensä 20 virtuaali instrumenttia, minkä takia en etsinyt muita ääntä käsitteleviä ohjelmia. Pisteytin ohjelmat helpottaakseni omaa ja mahdollisesti myös muiden tulevaa työtä. Pisteytyksen perusteena käytin ohjelman yksinkertaisuutta, omia käyttökokemuksia lyhyen kokeilun perusteella, ohjelmointikieltä, ohjelmakoodin määrää ja ymmärrettävyyttä, kehittäjien määrää, projektin aktiivisuutta sekä vaadittuja liitännäisiä ja rajapintoja. Yksikään virtuaali instrumentti ei kuitenkaan vaikuttanut lupaavalta kaikkien arviointikriteerien osalta. Virtuaali instrumenttien pisteytys on selvennetty taulukossa 4. Taulukko 4: Virtuaali instrumenttien pisteytys Pisteet Merkitys 5 Instrumentti soveltuu hyvin omaan työhöni. 4 Instrumentti on todennäköisesti hyödynnettävissä omassa työssäni. 3 Instrumentti on mahdollisesti hyödynnettävissä omassa työssäni. 2 Instrumentti on mahdollisesti hyödynnettävissä omassa työssäni, mutta ohjelmakoodin käyttö olisi työlästä. 1 Instrumenttia ei voi hyödyntää ohjelmointikielen tai liitännäisrajapinnan takia. Taulukossa 5 on esitetty omaan työhöni parhaiten soveltuvat virtuaali instrumentit. Kaikki taulukon 5 instrumentit on ohjelmoitu joko C tai C++ kielellä, joille on olemassa kääntäjät Maemo ympäristöön. Muita käytettyjä kieliä ovat Java ja Snd, joka on musiikkiteknologiakäyttöön määritelty kieli. Sekä Javalla että Snd:lla on ohjelmoitu 14

19 ainoastaan yhdet instrumentit. Lisäksi yhden instrumentin joitakin itsenäisiä osia on ohjelmoitu Javalla, vaikka se muuten onkin ohjelmoitu C++ kielellä. Taulukko 5: Linuxin virtuaali instrumentteja Instrumentti Kuvaus Soveltuvuus Pisteet Kehittäjien (1 5) määrä AmSynth Vähentävä synteesi + Vähemmän koodia kuin monessa muussa + Melko helppo käyttää ja vaikuttaa 4 1, pieniä osia muilta kehittäjiltä toimivalta Paljon ominaisuuksia Horgand Taajuusmodulointi + Vähemmän koodia kuin monessa 4 1 muussa Paljon ominaisuuksia. Bristol Useiden syntetisaattoreiden emulointi + Toimii hyvin ja erinomainen äänenlaatu + Projekti on aktiivinen Koodia on paljon Todella paljon ominaisuuksia. 3 1, pieniä osia muilta kehittäjiltä Linux Sampler Sampleri + Koostuu monesta itsenäisestä ohjelmasta + Projekti on aktiivinen Vaikuttaa monimutkaiselta Koodia on todella paljon ZynAddSubFX Useita + Ohjelmakoodia on kommentoitu äänisynteesin hyvin Ohjelma on monimutkainen periaatteita Koodia on todella paljon

20 Koko taulukko 5 on saatavissa internetistä [8]. Internetistä saatavassa taulukossa instrumentteja on arvioitu kattavammin. Siinä on myös tiedot projektien aktiivisuudesta sekä virtuaali instrumenttien kotisivujen internetosoitteet ja ohjelmointikielet. Monet virtuaali instrumentit vaativat JACK äänipalvelimen tai liitännäisrajapintoja, jotka eivät sisälly Maemo ympäristöön. Yhdestäkään virtuaali instrumentista ei ollut kunnollista dokumentaatiota saatavilla, mikä vaikeutti monimutkaisen ja muutamia tuhansia rivejä pitkän ohjelmakoodin hyödyntämistä. Dokumentaation puuttumista selittää osaltaan se, että suurin osa virtuaali instrumenteista on yhden ihmisen ohjelmoimia. Suuri osa instrumenteista vaikutti keskeneräisiltä. Niissä oli virheitä, esimerkiksi äänet jäivät välillä soimaan ja ohjelmat kaatuilivat. Suurinta osaa ei ole päivitetty muutamaan vuoteen ja joidenkin kehittäminen on lopetettu kokonaan. Vähäinen päivitysaktiivisuus vähentää monen virtuaali instrumentin lähdekoodin hyödynnettävyyttä myös tulevaisuudessa. Myös omat ohjelmointitaitoni rajoittivat virtuaali instrumenttien ohjelmakoodin hyödyntämistä. Monet instrumentit käyttävät säikeitä, joita en toistaiseksi osaa ohjelmoida. Kaiken kaikkiaan olemassa olevan ohjelmakoodin hyödyntäminen olisi vaatinut merkittävää syventymistä ohjelmakoodiin ja ohjelmoinnin opiskelua. Lisäksi löytämieni virtuaali instrumenttien laskenta ja muistivaatimuksien täyttyminen Nokia N810 laitteella ei ole varmaa. Näistä syistä päätin aloittaa ohjelmointityön Linux Journalin ALSA oppaan perusteella [32]. ALSA oppaan esimerkkiohjelmat on ohjelmoitu C kielellä ja ne toimivat Linuxissa komentoriviohjelmina. Niissä tulostetaan ALSAn parametreja, avataan kahva toistettavalle ja äänitettävälle datalle sekä toistetaan ja äänitetään tietovirrasta. Toistavasta esimerkkiohjelmasta oli helppo muokata ohjelma, jossa toistettava äänidata luetaan tiedostosta. 16

21 Äänitiedostojen toistoon perustuva virtuaali instrumentti vaikutti toteuttamiskelpoiselta muokatun esimerkkiohjelman pohjalta. Äänitiedostojen toistoon perustuvien instrumenttien heikkous on suuri muistin tarve, koska jokainen instrumentin ääni joudutaan tallentamaan instrumenttia suorittavalle laitteelle [29]. Äänitiedostojen määrää voidaan vähentää ääntä käsittelevillä algoritmeilla, jotka eivät puolestaan ole yksinkertaisia toteuttaa. Rumpukoneen ohjelmointi vaikutti järkevältä, koska rummun äänellä ei ole varsinaista sävelkorkeutta. Siksi samoilla rumpuäänillä voidaan soittaa monia kappaleita, ja yksi ääni kustakin rummusta riittää yksinkertaiseen toteutukseen. Rummun sointi on lyhyt, joten äänen kestoa voidaan pitää vakiona. Poikkeuksen muodostavat symbaalit. Yksinkertaisuuden vuoksi en päättänyt ottaa myöskään symbaalien soinnin kestoa huomioon. Oikeita symbaaleja soitettaessa soittaja voi vaimentaa soivan symbaalin, ja näin vaikuttaa soinnin kestoon. 3.2 Drums ohjelma Drums on yksinkertainen, C kielellä ohjelmoimani rumpukone, jonka toiminta perustuu äänitiedostojen toistamiseen. Kussakin tiedostossa on yhden rummun tai symbaalin ääni, joka toistetaan käyttäjän painaessa ääntä vastaavaa painiketta. Drumsin äänet ovat bassorumpu, pikkurumpu, pieni tom tom, suuri tom tom, crash ja hi hat. Kuvassa 2 on esitetty Drumsin näyttö Maemo ympäristössä työkoneellani. Drumsin ohjelmakoodi on saatavilla internetistä [8]. Ohjelman toiminta perustuu tilakoneeseen, joka sisältää tiedot kaikkien äänten tiloista. Mahdollisia tiloja kullekin äänelle ovat OFF, ON ja PLAYING. OFF tarkoittaa, ettei ääni soi. ON tarkoittaa, että ääni alkaa soida ja PLAYING, että äänen toistaminen on kesken. Tilakone siis mahdollistaa kaikkien äänien yhtäaikaisen soimisen. ON ja PLAYING tilat tarvitaan, koska ääntä käsitellään puskureittain. Ääntä ei soiteta kerralla loppuun asti, vaan käyttäjän syötteisiin reagoidaan myös äänien soidessa. 17

22 Kuva 2: Drums Drums rumpukoneen ohjelmoinnin aloitin ALSA esimerkistä muokkaamastani äänitiedostoja soittavasta ohjelmasta. Lisäsin ohjelmaan silmukan, jonka sisällä toistettiin kahta ääninäytettä käyttäjän syötteiden mukaisesti. Tämän jälkeen siirsin ohjelman Maemo ympäristöön, mikä onnistui Maemon opetusmateriaalin [16] sekä GTK+kirjaston dokumentaation [9] avulla. Drums hyödyntää GTK+ käyttöliittymäkirjaston Main ja Idle silmukoita. Silmukoiden avulla pystyin tekemään ohjelmastani reaaliaikaisen ilman säieohjelmointia, jota en toistaiseksi hallitse. Reaaliaikaisuus tarkoittaa tässä, että ohjelma reagoi käyttäjän syötteisiin dataa käsitellessäänkin. Main silmukka käsittelee käyttäjän syötteet ja lähettää signaalit käyttäjän painamista painikkeista callback funktiolle. Callback funktiossa muutetaan painiketta vastaavan äänen tila ON tilaan. Idle silmukkaa ajetaan aina, kun ohjelman Main silmukassa ei tapahdu mitään ja ohjelma saa prosessoriaikaa. Idle silmukassa kutsutaan funktiota, jossa toistetaan kaikki sillä hetkellä soivissa tiloissa olevat äänet (ks. Liite 2). ON tilassa olevan äänen tiedosto osoitin siirretään tiedoston alkuun ja tila muutetaan PLAYINGtilaan. PLAYING tilassa olevan äänen tiedosto osoitinta ei siirretä alkuun, vaan toisto 18

23 jatkuu samasta kohdasta, johon edellisellä suorituskerralla jäätiin. Loppuun asti soitettu ääni muutetaan OFF tilaan. N810 laitteen kosketusnäyttö ei mahdollista useamman äänen soittamista yhtäaikaisesti, mutta riittävän nopeasti soitettaessa eri äänet soivat jonkin aikaa päällekkäin. Yhtäaikaisesti soivat äänet summataan (ks. Liite 3), koska ALSAn tietovirtaan voidaan kirjoittaa toistettavaksi kahvasta riippuen ainoastaan yksi mono, stereo tai monikanavapuskuri (ks. Liite 4). Ensimmäisessä summausalgoritmissani ääneen aiheutui suurta häiriötä. Kiersin ongelman vaihtamalla tietotyypin ALSA esimerkissä käytetystä kahdeksanbittisestä 16 bittiseen. Kahdeksanbittinen tietotyyppi olisi kyllä mahdollistanut ohjelman bittisyvyyden vaihtamisen helposti, koska tavallisimmat bittisyvyydet (8, 16, 24 ja 32) ovat kahdeksalla jaollisia. Summauksessa on otettava huomioon, että kahden näytteen yhteenlaskettu arvo voi aiheuttaa yli tai alivuodon. Tällaisissa tapauksissa arvo asetetaan vuodon mukaan joko maksimiin tai minimiin. Toistettavassa äänessä tämä on kuultavissa säröytymisenä, koska interferenssiaaltoa ei voida esittää tietotyypin rajallisten arvojen takia alkuperäisenä. Työkoneeni kehitysympäristössä ilmeni ongelmia, joita ei N810 laitteella esiintynyt. Työkoneeni äänikortti ei tukenut kuin muutamaa eri puskurikokoa. Suurella puskurilla ääneen aiheutui häiritsevää viivettä. Pienemmällä taas Drums ei usein ehtinyt kirjoittaa dataa puskuriin tarpeeksi nopeasti, ja äänien alkuja jäi monesti jonkin verran kuulumatta Hz ja Hz näytetaajuuksilla esiintyi vinkuvaa häiriöääntä. Näitä ongelmia ei ollut N810 laitteella joten jätin ne huomioimatta. 19

24 3.3 Melody ohjelma Melody kosketinsoitin käyttää hyvin paljon samaa ohjelmakoodia kuin Drums. Suurin periaatteellinen ero on, että tiedostosta lukemisen sijaan ääni luodaan funktiolla. Drumsin toimintaperiaatetta vastaava äänitiedostojen toistaminen olisi vaatinut suuren määrän äänidataa. Äänensummausfunktio ja ALSA virtaan kirjoittava funktio ovat täysin samoja. Ääniä soittava funktio on muokattu Drumsin vastaavasta. Myös Main ja Idlesilmukoiden käyttö on vastaavaa. Callback funktion toteutus on hieman monimutkaisempi kuin Drumsissa. Se huomio myös painikkeen vapauttamisen. Näin Melodylla voidaan soittaa eri pituisia ääniä. Melodyn näyttö Maemo ympäristössä työkoneellani on esitetty kuvassa 3. Melodyn ohjelmakoodi on saatavilla internetistä [8]. Kuva 3: Melody Melody on kosketinsoitin yhden oktaavin koskettimilla. Erilaisia ääniä on 7: FM, Organ, Sin LFO, Sin, Triangle, Saw ja Square (ks. Liite 5). FM instrumentissa sinifunktion taajuutta ja vaihetta moduloidaan toisella sinifunktiolla. Organ perustuu urkujen ääniaallon mallinnukseen kahdeksalla summatulla sinikomponentilla. Siinä käytetään myös tremolo efektiä. Sin LFO instrumentissa ääni on sinifunktiolla tuotettua, mutta äänen taajuutta ja vaihetta moduloidaan matalataajuisen oskillaattorin avulla. Loput äänet 20

25 ovat nimensä mukaisien oskillaattorien ääntä. Oskillaattorien aaltomuodot on esitetty kuvassa 4. Kuva 4: Oskillaattorien aaltomuodot [36] Äänialaa Melodyssa on kuusi oktaavia ja kulloinkin soitettavaa oktaavia voidaan säätää Octave up ja Octave down painikkeilla. Chord painikkeesta soitetaan C duurisointu. Kill All hiljentää kaikki soivat äänet. Se on ohjelmoitu virheellisesti soimaan jäävien äänten varalta. Organ äänellä Chord painiketta painettaessa ääni ei toistu oikein, vaan se pätkii ja särkyy. Ongelma johtuu mitä ilmeisemmin N810 laitteen laskentatehon riittämättömyydestä, koska kehitysympäristössä samaa ongelmaa ei esiintynyt. Ongelma herätti mielenkiintoni N810 laitteen laskentatehon riittävyydestä musiikkikäytössä, minkä takia päätin testata Melody instrumentin ja N810 laitteen suorituskykyä. Testin tulokset ovat kappaleessa

26 3.4 Karaoke ohjelma Karaoke on yksinkertainen karaokeohjelma, jonka tarkoitus on esittää, kuinka yhtäaikainen toisto ja äänitys voidaan toteuttaa N810 laitteella. Se on ulkoasultaan yhtä pelkistetty kuin Drums ja Melody, joten useista karaokeohjelmista tuttuja graafisia ominaisuuksia, kuten animoitu kappaleen sanojen näyttö, siinä ei ole. Karaoke hyödyntää samaa ohjelmakoodia kuin Drums. Karaoken näyttö Maemo ympäristössä työkoneellani on esitetty kuvassa 5. Karaoken ohjelmakoodi on saatavilla internetistä [8]. Kuva 5: Karaoke Kuten Drums ja Melody myös Karaoke käytti aluksi 32 khz näytetaajuutta. 32 khznäytetaajuisen taustaraidan toisto ei tuottanut ongelmia, mutta äänitetty raita toistui liian nopeana ja korkeammalla taajuudella kuin se oli äänitetty, mikä viittasi raidan toistoon liian suurella näytetaajuudella. Lisäksi yhtäaikainen taustaraidan toisto ja lauluraidan äänitys tuotti paljon häiriöääntä. Ongelma selvisi tulostamalla äänityskahvan parametreja. Äänityksen näytetaajuudeksi paljastui 8kHz, ja sitä ei ollut mahdollista vaihtaa. Lisäksi N810 laite äänittää ainoastaan yhden kanavan. Näistä syistä asetin myös toiston 8 khz:n näytetaajuuteen ja yhteen kanavaan. Olisin voinut ratkaista ongelman myös 22

27 prosessoimalla äänitetyn raidan korkeampaan näytetaajuuteen ja kahdelle kanavalle, mutta toteutin yksinkertaisemman ratkaisun ajanpuutteen vuoksi. 8 khz näytetaajuus on mahdollisesti peräisin Nokian historiasta puhelinvalmistajana. Puheen ymmärrettävyyden kannalta olennaisimmat taajuudet ovat alle 4 khz:n taajuuksilla, jotka toistuvat Nyquistin teoreeman mukaan jo 8 khz näytetaajuudella [11]. Korkeampien taajuuksien esittäminen edellyttää korkeampaa näytetaajuutta, joka tarkoittaa suurempaa määrää siirrettävää dataa. Äänittäessä esiintyy latenssia, joka aiheutuu äänityspuskurista. Puskuria pienentämällä latenssia voidaan pienentää, mutta liian pieni puskuri aiheuttaa äänen pätkimistä ja säröytymistä. Karaoken puskurin säädin siten, että latenssiksi muodostuu 25 ms. Pienemmällä latenssilla ääni pätki jonkin verran. 25 ms viive äänitetyn lauluraidan ja taustaraidan välillä on tarkasti kuunneltaessa kuultavissa, joten toistettaessa lauluraidan tiedosto osoitinta siirretään aluksi latenssia vastaava tavumäärä eteenpäin. Näin raidat toistuvat synkronoituna. 3.5 Melody ohjelman suorituskykytestaus Rajasin ohjelmieni suorituskyvyn perusteellisen arvioinnin tämän työn ulkopuolelle rajallisen ajan takia. On kuitenkin ilmeistä, että ohjelmani voisivat olla suuremmalla panostuksella laskennallisesti vähintään hieman kevyempiä. Idle silmukan käytön takia ohjelmani kuluttavat kaiken prosessoriajan, jota niille tarjotaan. Huolellisella säieohjelmoinnilla ja testauksella Idle silmukan funktiokutsut voitaisiin rajoittaa oikeasti tarpeelliseen määrään. Melodyn laskennallisten vaatimusten testaus oli mielenkiintoisinta, koska ainoastaan sitä ajettaessa N810:n laskentateho vaikutti loppuvan. Lisäksi Melodyn eri äänien laskennallisissa kompleksisuuksissa on eroa toisiinsa nähden. Drums ja Karaoke toistavat 23

28 äänitiedostoja, minkä takia kompleksisuus muuttuu ainoastaan äänitiedoston näytetaajuutta, bittisyvyyttä tai kanavien määrää muuttamalla. Taulukossa 6 on selvitetty erittäin karkeasti Melody ohjelman suhteellista laskentatehon tarvetta N810 laitteella. Top ohjelman avulla saamani prosenttiosuudet vaihtuivat jokaisella ohjelman päivityskerralla muutaman prosenttiyksikön alueella, mutta prosenttiyksikön tarkkuudella arvioimani osuudet antavat virheestään huolimatta käsityksen suuruusluokasta. Kokeessa käytin Melody instrumentista muokattuja versioita, joissa kaikki soitetut äänet jäävät soimaan kunnes Kill All painiketta painetaan. Näin pystyin likimääräisesti arvioimaan laskennan tarvetta, kun yksi tai useampi ääni soi. Näytetaajuus ja kanavien määrä ovat muutettavissa vakioiden arvoja säätämällä ja kääntämällä ohjelma uudelleen. Bittisyvyyttä en muuttanut, koska se olisi vaatinut suurempia muutoksia ohjelmakoodiin. Taulukko 6: Melody ohjelman prosessoriajan käyttö yhden äänen soidessa Instrumentti 32 khz, 16 bit, stereo 16 khz, 16 bit, mono FM 25% 7% Organ 50% 20% Sin 16% 4% Laskentaa tarvitaan 16 khz mono versiossa neljäsosa 32 khz stereo version laskennasta, koska jokaisen näytteen arvo joudutaan laskemaan erikseen ja näytetaajuuden kaksinkertaistuessa myös näytteiden määrä aikayksikössä kaksinkertaistuu. Toinen laskennan määrän puolittuminen johtuu kanavien määrän puolittumisesta. Käytetyt algoritmit pysyivät täysin samoina. Ilmeisesti Idle silmukan toiminnan takia tämä ei suoraan näy prosenttiosuuksissa, mutta kuitenkin laskentaosuus on selvästi pienempi jokaisella kokeen instrumentilla Seuraavassa kokeessa laskin yhtäaikaisesti ilman korvin havaittavaa pätkimistä toistuvien äänien määrän. Kokeessa oletin, että N810 laitteen laskentateho loppuu, kun äänentoisto 24

29 alkaa pätkiä. Koetta varten laskin 16 khz mono ohjelman instrumenttien äänenvoimakkuutta äänen säröytymisen välttämiseksi. Tulokset on esitetty taulukossa 7. Ne viittaavat selkeämmin laskennallisen kompleksisuuden vähenemiseen yhteen neljäsosaan. Taulukko 7: Melody ohjelman yhtäaikaisesti soivien äänten määrä Instrumentti 32 khz, 16 bit, stereo 16 khz, 16 bit, mono FM 3 13 Organ 1 5 Sin LFO 4 15 Sin 5 21 Triangle 4 16 Saw 4 18 Square Tulosten yhteenveto Aluksi kartoitin Linuxin virtuaali instrumentit oman ohjelmointityöni pohjaksi. Löytämäni virtuaali instrumentit osoittautuivat vaikeasti hyödynnettäviksi. Niiden ohjelmakoodi on monimutkaista ja sitä on paljon. Lisäksi niissä on käytetty säieohjelmointia, jota en itse toistaiseksi hallitse. Virtuaali instrumenteista ei ole dokumentaatiota saatavilla, mikä vaikeuttaa lähdekoodin hyödyntämistä entisestään. Ohjelmointi onnistui kuitenkin ALSA kirjaston käytöstä kirjoitetun oppaan perusteella [32]. Toteutin Drums rumpukoneen, Melody kosketinsoittimen ja Karaoke ohjelman. Ohjelmani näyttävät kuinka musiikkiohjelmien ääniominaisuuksia voidaan ohjelmoida Nokia N810 laitteelle ALSA kirjastoa hyödyntäen. Ohjelmani ovat pelkistettyjä ja niiden ei ole sellaisenaan tarkoitus päätyä käyttöön. En tutustunut GTK+ kirjastoon syvällisesti, koska virtuaali instrumenttien graafinen käyttöliittymä ei kuulunut työhöni. 25

30 En todennäköisesti hyödynnä GTK+ kirjastoa kovinkaan tehokkaasti, esimerkiksi ohjelmani käyttävät globaaleja muuttujia funktioiden parametrien välittämisen sijasta. 3.7 Työn vaativuus ja työmäärä Työtä tehdessä jouduin tutustumaan minulle vieraaseen Maemo ympäristöön. Maemoon kuuluvien Hildon ja GTK+ käyttöliittymäkirjastojen sekä ALSA äänikirjastoon tutustuminen hidastivat etenkin Drumsin ohjelmointia. Toisaalta GTK+ ohjelman rakenteen ymmärtäminen helpottui, koska osaan OpenGL grafiikkakirjaston perusteita. Main ja Idle silmukoiden sekä callback funktioiden käsitteet olivat siis minulle jossain määrin tuttuja. En perehtynyt minulle uusiin kirjastoihin syvällisesti, vaan ainoastaan sen verran kuin ohjelmani vaativat toimiakseen. Tarkempi tutustuminen kirjastoihin olisi tehnyt työmäärästäni liian suuren. Ohjelmointityötäni helpottivat vuosien musiikkiharrastuksessa karttuneet lähtötietoni digitaalisesta äänestä ja äänisynteesistä. Nämä tiedot paranivat entisestään tehdessäni kandidaatintyön teoriaosan taustatutkimusta. Tiedoistani oli erittäin suuri hyöty ohjelmointityössä, ja ilman niitä en olisi pystynyt tekemään työtä tämän laajuisena. Perustietoni C ohjelmoinnista olivat ohjelmointiosuuden edellytys. C++ kielen ymmärtäminen oli tärkeää Linuxin virtuaali instrumentteja kartoittaessa. Työn eri vaiheisiin kulunut työaika on esitetty taulukossa 8. Kohtaan muu työ sisältyy Linuxin virtuaali instrumenttien kartoitus, Maemo ympäristön asennukset ja opetusmateriaaliin tutustuminen, demokappaleen tuottaminen N810 laitteella, Melodyohjelman suorituskykytestaus sekä MobiKid ohjelmaan tutustuminen. Eri ohjelmien ohjelmointiin kulunut aika ei suoraan kerro ohjelmien monimutkaisuudesta toisiinsa nähden. Drumsia ohjelmoidessani suuri osa ajasta kului ALSA ja GTK+kirjastojen käytön opetteluun. Lisäksi sekä Melody että Karaoke hyödyntävät Drumsin ohjelmakoodia sellaisenaan ja muokattuna. Siksi Drumsin ohjelmointiin kulunut aika on 26

31 huomattavasti muita suurempi, vaikka siinä on vähiten ohjelmakoodia, ja se on toiminnaltaan yksinkertaisin. Äänen tallentaminen tekee Karaokesta Drumsia monimutkaisemman. Monimutkaisimman Melodysta tekee äänen funktiolla luomiseen liittyvät osat, joita ei ole Drumsissa eikä Karaokessa. Karaoken ja Melodyn monimutkaisuuden ero on helposti havaittavissa niihin käytetyistä ohjelmointiajoista. Taulukko 8: Eri työvaiheisiin kulunut aika Vaihe Aika tunteina Alkuraportti ja seminaari 98 Ohjelmointi yhteensä 97 Drumsin ohjelmointi 55 Melodyn ohjelmointi 28 Karaoken ohjelmointi 14 Loppuraportin kirjoittaminen ja seminaari 75 Muu työ 69 Yhteensä Tulosten tulkinta Ohjelmointityöhön käyttämästäni ajasta päättelin, että ääntä toistava ja käyttäjän syötteisiin reagoiva ohjelmarunko on hyvin pitkälti hyödynnettävissä eri periaatteilla ääntä tuottavissa ohjelmissa. Virtuaali instrumentin ääntä tuottavat algoritmit oli melko helppo ohjelmoida eri periaatteen mukaisiksi, kuten Drumsin muokkaaminen Melodyksi osoitti. Pystyin myös muokkaamaan ohjelmarunkoa eri käyttötarkoituksen, mutta samoja ominaisuuksia sisältävän ääniohjelman tarpeisiin. Tämän osoitti Drumsin muokkaaminen Karaokeksi. On kuitenkin muistettava, että ohjelmakoodin perinpohjainen ymmärtäminen on välttämätöntä ohjelmakoodia hyödynnettäessä. En pystynyt hyödyntämään Linuxin virtuaali instrumenttien ohjelmakoodia omissa ohjelmissani. 27

32 ALSA on matalan tason äänikirjasto, mutta sen käyttö ei ollut kohtuuttoman vaikeaa, vaikka en ollutkaan ohjelmoinut ääniohjelmia aikaisemmin. GTK+ käyttöliittymäkirjasto tarjosi helposti käytettävät työkalut ohjelman reaaliaikaisuuden toteuttamiseen. Virtuaaliinstrumenttien ohjelmointityössä tärkeimmäksi asiaksi vaikuttaisi muodostuvan digitaalisen äänen käsittelyyn ja äänisynteesiin liittyvien algoritmien ymmärtäminen. 28

33 4 POHDINTA Tässä luvussa vertaan ohjelmiani UMSIC hankkeen MobiKid pilottitutkimuksen ohjelmaan sekä JamMo sovelluksen eri toimintatapojen vaatimuksiin. Arvioin ohjelmieni merkitystä UMSIC hankkeelle. Pohdin myös, miten ohjelmiani voisi ja olisi syytä kehittää tulevaisuudessa. 4.1 MobiKid ja Karaoke ohjelmien vertailu MobiKid on Oulun yliopiston pilottitutkimus, jossa on tuotettu MobiKid karaokeohjelma. Ohjelma on toteutettu Nokia N800 sarjan laitteille ja suunnattu lapsille. MobiKid vastaa toiminnallisuudeltaan omaa Karaoke ohjelmaani, joten on perusteltua vertailla ohjelmia. Ohjelmien erot selittyvät ohjelmien eri käyttötarkoituksilla. MobiKid on tarkoitettu lasten käytettäväksi. Karaoke esittää, miten karaoke ohjelmalta vaaditut ääniominaisuudet voidaan toteuttaa N810 laitteella. Syvällinen tutustuminen MobiKidin toimintaan ei ollut mahdollista, koska ohjelmakoodi ei ollut saatavillani. MobiKid etenee vaiheittain ruudusta toiseen. Ohjelman käynnistyttyä valitaan haluttu kappale. Lauluraita äänitetään ja äänitetty raita kuunnellaan yhdessä taustaraidan kanssa. Lopuksi äänitetty raita lähetetään sähköpostilla. Ohjelma etenee aina samassa järjestyksessä samojen vaiheiden kautta, joten sen käyttö on helppo oppia. Karaoke perustuu yhteen ruutuun, jossa kaikki toiminnallisuudet ovat käytettävissä painikkeita painamalla. MobiKidin toteutuksessa on panostettu ulkoasuun ja käyttöliittymään. Sen eri ruudut ovat taustaltaan eri värisiä ja ruudulla on aina vain vähän informaatiota. Tekstiä ei ohjelmassa ole, vaan käyttäjä saa tietoa kuvina ja äänenä. Ohjelma toimii koko näytön suuruisena. Käyttöjärjestelmän omat painikkeet ja muut ajettavat ohjelmat eivät siis häiritse käyttäjää. Ohjelma soveltuukin todennäköisesti hyvin lapsille. Karaoke toimii tavallisen kokoisessa ikkunassa ja sen käyttö vaatii lukutaitoa. 29

34 Vaikka MobiKid vaikuttaa ominaisuuksiltaan melko valmiilta, on siinä käytettävyyttä heikentäviä virheitä. Äänitetty lauluraita ei toistu synkronoituna taustaraitaan. Ohjelma kaatuilee melko usein. Välillä näyttöruutu muuttuu valkoiseksi, vaikka ohjelman toiminta muuten jatkuukin. Karaoke toimi omassa käytössäni lähes virheittä. Ainoastaan taustaraita jäi usein soimaan musiikin loputtua. Huomasin virheen, koska komentoriville ei tulostunut ilmoitusta taustaraidan toiston loppumisesta. MobiKidissa on toteutettu samat äänitoiminnallisuudet kuin omassa Karaokeohjelmassani. Molemmissa äänitetään lauluraita samalla, kun taustaraita soi. Karaokessa tosin voi kuunnella molemmat raidat yhdessä tai erikseen useaan kertaan sekä äänittää lauluraidan kuuntelematta taustaraitaa. Molemmat ohjelmat äänittävät 8 khz näytetaajuudella yksikanavaista ääntä. MobiKid käyttää tiedostomuotona wav formaattia, kun taas Karaokessa äänitetty raita tallennetaan raw muodossa, joka tässä tapauksessa on wav ilman otsikkotietoja. MobiKidin taustaraidat ovat mp3 muodossa ja niitä tulee ohjelman mukana viisi kappaletta. Karaoke käyttää ainoassa taustaraidassaan samaa rawformaattia kuin äänitykseen. 4.2 Tulosten merkitys Ohjelmani todistavat, että Nokia N810 laitteelle voidaan ohjelmoida toimivia musiikkiohjelmia. Laitteen suorituskyky riittää ainakin laskennallisesti kevyiden ja muistivaatimuksiltaan pienten ohjelmien ajamiseen. Omat sovellukseni toimivat reaaliajassa, ja käyttöä merkittävästi häiritseviä viiveitä tai häiriöääniä ei esiintynyt. Omat virtuaali instrumenttini ovat soittamiskelpoisia, minkä voi kuulla äänittämästäni demokappaleesta. Kappale on äänitetty työkoneellani Audacity ohjelmalla usealle eri raidalle. Jokainen raita on soitettu N810 laitteella, joko Drumsilla tai Melodylla. Laitteella soittamani äänen vein työkoneelleni kytkemällä kaapelin N810:n kuulokeliitännän ja työkoneeni mikrofoniliitännän välille. Demokappale on kuultavissa internetistä mp3 muodossa [8]. 30

35 Karaoke täyttää ääniominaisuuksiltaan UMSIC hankkeen JamMo sovelluksen Karaoketoiminnon vaatimukset. Lauluraita voidaan äänittää taustaraitaa kuunnellessa ja molemmat raidat voidaan tämän jälkeen kuunnella yhdessä [33]. Virtuaali instrumenttini täyttävät osan JamMo sovelluksen Improvisointitoiminnallisuuden vaatimuksista. Yhdistettynä Karaoke sovelluksen äänitys ja toistomahdollisuuteen myös Improvisaatio toiminnon yksinkertaisemmat ääniominaisuudet olisivat toteutettu. Toistuvien ja yksittäisten äänien lisääminen kappaleeseen, kappaleen keston ja äänen korkeuden muuttaminen, osien leikkaaminen ja kopiointi, sekä instrumenttien vaihtaminen ei olisi edelleenkään mahdollista [33]. Ohjelmani toteuttavat suuren osan JamMo sovelluksen toiminnallisuudesta. On perusteltua olettaa, että tekemästäni työstä voi olla hyötyä UMSIC hankkeen aikana. 4.3 Tulevaisuus Virtuaali instrumenttini ja Karaoke ohjelmani jäivät melko vaatimattomiksi säädettävyydeltään, liitettävyydeltään, käytettävyydeltään ja tehokkuudeltaan, koska kandidaatintyö on pieni projekti. Virtuaali instrumenttia soittaessa soittaja voisi haluta säätää esimerkiksi yksittäisten äänten sekä koko ohjelman äänenvoimakkuutta. Tätä ominaisuutta ei ohjelmissani ole, vaan ainoa mahdollisuus säätää äänenvoimakkuutta on koko laitteen äänenvoimakkuuden muuttaminen. Virtuaali instrumenttini ovat äänenlaadultaan vaatimattomia verrattuna Linuxin virtuaali instrumentteihin. Ne voisivat kuulostaa mielenkiintoisemmilta, mikäli niihin olisi toteutettu monista virtuaaliinstrumenteista tuttuja ominaisuuksia kuten erilaiset suotimet ja muut efektit. Toisaalta N810 laitteen laskentaresurssit saattavat rajoittaa ylimääräistä prosessointia. Virtuaali instrumenttien kannattaisi tukea MIDI protokollaa, koska se mahdollistaa instrumenttien soittamisen ulkoisilla ohjainlaitteilla, esimerkiksi MIDI koskettimilla. Tosin Nokia N810 laitteen liitännät saattavat hankaloittaa ulkoisten musiikkilaitteiden 31

36 liittämistä. Joka tapauksessa MIDI tuen ansiosta jokaiseen instrumenttiin ei tarvitsisi ohjelmoida käyttöliittymää vaan varsinainen soittaminen voisi tapahtua erillisellä ohjelmalla ja virtuaali instrumentissa luotaisiin ainoastaan kontrollidatan mukainen ääni. Käyttöön tulevien virtuaali instrumenttien käyttöliittymä on syytä suunnitella ja toteuttaa huolella sekä mahdollisimman tehokkaasti. En pohtinut ohjelmoidessani ohjelmieni laskentatehon tarvetta. Käyttäjille tarkoitettuja instrumentteja toteutettaessa ohjelmien ja niiden käyttämien algoritmien laskennalliset kompleksisuudet on tärkeä kartoittaa. Tässä työssä käytettiin vain muutamaa äänisynteesin periaatetta. Niiden arvioiminen laskennan kannalta kulloiseenkin käyttötarkoitukseen ja kevyimpien periaatteiden hyödyntäminen voi vähentää laskennan määrää merkittävästi. Myös käytettävän laitteen kaiuttimet, mikrofoni ja muut ominaisuudet tulee ottaa huomioon virtuaali instrumentteja suunnitellessa turhan laskennan välttämiseksi. Esimerkiksi perusteettoman korkean näytetaajuuden käyttäminen aiheuttaa turhaa laskentaa, ja monimutkaisen ääniaallon luominen lisäävällä synteesillä voi vaatia kohtuuttoman paljon sinikomponentteja. Tämän työn oli tarkoitus antaa tietoa UMSIC hankkeen ohjelmointityötä varten. UMSIC alkaa ja päättyy Uskon, että omat kokemukseni virtuaaliinstrumenttien ohjelmoinnista tukevat alusta asti ohjelmoitavien instrumenttien ohjelmointityötä Maemo ympäristössä. Virtuaali instrumenttien kartoitukseni osoitti, että olemassa olevan avoimen lähdekoodin hyödyntäminen voi olla vaikeaa. 32

37 5 YHTEENVETO Työn teoriaosuudessa muodostin kokonaiskuvan musiikkiteknologiasta, ja selvitin sen käsitteitä. Musiikkiteknologia paljastui yllättävän laajaksi tieteenalaksi, joka soveltaa tietotekniikkaa moniin tarkoituksiin. Musiikkiteknologiaa hyödynnetään psykologiassa, kasvatustieteissä ja kognitiivisissa tieteissä. Työn käytännön osuudessa kartoitin Linux käyttöjärjestelmän avoimen lähdekoodin virtuaali instrumentit ja ohjelmoin musiikkiteknologian ohjelmia Nokia N810 Internet Tablet laitteelle. N810:n käyttöjärjestelmä on Linux johdannainen, joten olemassa olevaa avointa lähdekoodia olisi ollut mahdollisuus hyödyntää. En kuitenkaan osannut hyödyntää avointa lähdekoodia, vaikka virtuaali instrumentteja löytyi useita. Ongelmiksi muodostuivat puutteelliset ohjelmointitaitoni, ohjelmakoodin suuri määrä, ohjelmien monimutkaisuus ja puutteellinen dokumentaatio. Omat ohjelmani ohjelmoin itse alusta asti. Ohjelmoin rumpukoneen, joka toistaa äänitiedostoja. Kosketinsoittimeni puolestaan luo äänensä funktioiden avulla kokonaan ilman äänidataa sisältäviä tiedostoja. Virtuaaliinstrumenttini valmistuivat nopeammin kuin odotin, joten ohjelmoin vielä karaokeohjelman. Karaoke ohjelmassani on toteutettu ainoastaan ääneen liittyvät ominaisuudet. Ohjelmistani tuli yksinkertaisia ja pelkistettyjä kuten tarkoitukseni olikin. Ne kuitenkin osoittautuivat toimiviksi. Paremmalla käyttöliittymällä ja viimeisteltyinä ne olisivat myös käytettäviä. Tällaisinaan ohjelmani ainoastaan näyttävät, miten ääntä voidaan tuottaa N810 laitteella. 33

38 LÄHDELUETTELO [1] Yasushi Akiyama: PlaceAndPlay: a digital tool for children to create and record music, April 2008, CHI '08: Proceeding of the twenty sixth annual SIGCHI conference on Human factors in computing systems, Publisher: ACM [2] Tetsuaki Baba, Taketoshi Ushiama, Kiyoshi Tomimatsu: Freqtric drums: a musical instrument that uses skin contact as an interface, 2007, New Interfaces For Musical Expression, Proceedings of the 7th international conference on New interfaces for musical expression [3] Rolf Bader: Turbulent κ ε model of flute like musical instrument sound production, 2005, Publisher: Springer London [4] Lori A. Custodero, Pia Rebello Britto, Jeanne Brooks Gunn, Musical lives: A collective portrait of American parents and their young children, October November 2003, Journal of Applied Developmental Psychology, Volume 24, Issue 5, Pages [5] Marek Dziubinski, Piotr Dalka and Bozena Kostek: Estimation of Musical Sound Separation Algorithm Effectiveness Employing Neural Networks, 2005, Journal of Intelligent Information Systems, Volume 24, Numbers 2 3 / March, [6] Eck, D.; Schmidhuber, J.: Finding temporal structure in music: blues improvisation with LSTM recurrent networks, Neural Networks for Signal Processing, Proceedings of the th IEEE Workshop on 4 6 Sept Page(s): [7] Thomas Fischer, Wing Lau: Marble track music sequencers for children, June 2006, IDC '06: Proceedings of the 2006 conference on Interaction design and children, Publisher: ACM [8] Gynther, Mikko: Avoimen lähdekoodin musiikkiteknologia, kandidaatintyön internetsivu, joka sisältää työhön liittyvän sähköisen materiaalin viitattu

AV-muotojen migraatiotyöpaja - ääni. KDK-pitkäaikaissäilytys 2013 -seminaari 6.5.2013 / Juha Lehtonen

AV-muotojen migraatiotyöpaja - ääni. KDK-pitkäaikaissäilytys 2013 -seminaari 6.5.2013 / Juha Lehtonen AV-muotojen migraatiotyöpaja - ääni KDK-pitkäaikaissäilytys 2013 -seminaari 6.5.2013 / Juha Lehtonen Äänimuodot Ääneen vaikuttavia asioita Taajuudet Äänen voimakkuus Kanavien määrä Näytteistys Bittisyvyys

Lisätiedot

Pianon äänten parametrinen synteesi

Pianon äänten parametrinen synteesi Pianon äänten parametrinen synteesi Jukka Rauhala Pianon akustiikkaa Kuinka ääni syntyy Sisält ltö Pianon ääneen liittyviä ilmiöitä Pianon äänen synteesi Ääniesimerkkejä Akustiikan ja äänenkäsittelytekniikan

Lisätiedot

Avid Pro Tools Äänityksen perusteet. Petri Myllys 2013 / Taideyliopisto, Sibelius-Akatemia tp48 Äänitekniikan perusteet

Avid Pro Tools Äänityksen perusteet. Petri Myllys 2013 / Taideyliopisto, Sibelius-Akatemia tp48 Äänitekniikan perusteet Avid Pro Tools Äänityksen perusteet Petri Myllys 20 / Taideyliopisto, Sibelius-Akatemia tp48 Äänitekniikan perusteet Äänitys Pro Toolsissa Luo ensin uusi raita (ks. edellinen ohje). Jos äänität yhdellä

Lisätiedot

GARAGEBAND-PIKAOPAS Timo Sipilä/Tervaväylän koulu

GARAGEBAND-PIKAOPAS Timo Sipilä/Tervaväylän koulu GARAGEBAND-PIKAOPAS Timo Sipilä/Tervaväylän koulu 1. Käyttöliittymän yleiskatsaus Saat avattua uuden projektin klikkaamalla vasemmassa ylänurkassa olevaa + -merkkiä. Kun avaat uuden projektin, saat näkyviin

Lisätiedot

LP-levyn digitointi Audacity-ohjelmalla

LP-levyn digitointi Audacity-ohjelmalla Digitointiohjeita_LP 17.3.2016 1 LP-levyn digitointi Audacity-ohjelmalla I Levyn tallennus tietokoneelle Kytke virta tietokoneeseen ja näyttöön. Levysoitin saa virtansa tietokoneesta. Käynnistä kopiointiohjelma

Lisätiedot

C-kasetin digitointi Audacity-ohjelmalla

C-kasetin digitointi Audacity-ohjelmalla Digitointiohjeita_Kasetti 10.6.2016 1 C-kasetin digitointi Audacity-ohjelmalla I Kasetin tallennus tietokoneelle Kytke virta tietokoneeseen ja näyttöön. Kasettisoitin saa virtansa tietokoneesta. Käynnistä

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009

Tähtitieteen käytännön menetelmiä Kevät 2009 Tähtitieteen käytännön menetelmiä Kevät 2009 2009-01-12 Yleistä Luennot Luennoija hannu.p.parviainen@helsinki.fi Aikataulu Observatoriolla Maanantaisin 10.00-12.00 Ohjattua harjoittelua maanantaisin 9.00-10.00

Lisätiedot

Loppuraportti. Virtuaali-Frami, CAVE-ohjelmisto. Harri Mähönen projektiassistentti Seinäjoen ammattikorkeakoulu. Versio

Loppuraportti. Virtuaali-Frami, CAVE-ohjelmisto. Harri Mähönen projektiassistentti Seinäjoen ammattikorkeakoulu. Versio 1 Loppuraportti Virtuaali-Frami, CAVE-ohjelmisto Harri Mähönen projektiassistentti Seinäjoen ammattikorkeakoulu Versio 1.0 15.1.2006 2 Sisällys Tiivistelmä... 3 1 Johdanto... 4 1.1 Dokumentin tarkoitus...

Lisätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

SONY MZ-R700 MiniDisc-tallennin

SONY MZ-R700 MiniDisc-tallennin SONY MZ-R700 MiniDisc-tallennin 1 1. Virtaa laitteeseen Laite toimii akulla tai yhdellä AA-kokoisella paristolla. Akulla laite äänittää 4 tuntia, paristolla 9 tuntia. Akulla laite toistaa 13 tuntia, paristolla

Lisätiedot

Menetelmäraportti - Konfiguraationhallinta

Menetelmäraportti - Konfiguraationhallinta Menetelmäraportti - Konfiguraationhallinta Päiväys Tekijä 22.03.02 Ville Vaittinen Sisällysluettelo 1. Johdanto... 3 1.1 Tärkeimmät lyhenteet... 3 2. Konfiguraationhallinnan tärkeimmät välineet... 4 2.1

Lisätiedot

ÄÄNEKKÄÄMMÄN KANTELEEN MALLINTAMINEN ELEMENTTIME- NETELMÄLLÄ

ÄÄNEKKÄÄMMÄN KANTELEEN MALLINTAMINEN ELEMENTTIME- NETELMÄLLÄ ÄÄNEKKÄÄMMÄN KANTELEEN MALLINTAMINEN ELEMENTTIME- NETELMÄLLÄ Henna Tahvanainen 1, Jyrki Pölkki 2, Henri Penttinen 1, Vesa Välimäki 1 1 Signaalinkäsittelyn ja akustiikan laitos Aalto-yliopiston sähkötekniikan

Lisätiedot

Simulation and modeling for quality and reliability (valmiin työn esittely) Aleksi Seppänen

Simulation and modeling for quality and reliability (valmiin työn esittely) Aleksi Seppänen Simulation and modeling for quality and reliability (valmiin työn esittely) Aleksi Seppänen 16.06.2014 Ohjaaja: Urho Honkanen Valvoja: Prof. Harri Ehtamo Työn saa tallentaa ja julkistaa Aalto-yliopiston

Lisätiedot

Mainosankkuri.fi-palvelun käyttöohjeita

Mainosankkuri.fi-palvelun käyttöohjeita Mainosankkuri.fi-palvelun käyttöohjeita Sisällys 1. Johdanto... 1 2. Sisäänkirjautuminen... 1 3. Palvelussa navigointi... 2 4. Laitteet... 2 5. Sisällönhallinta... 4 6. Soittolistat... 7 7. Aikataulut...

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,

Lisätiedot

Tutkittua tietoa. Tutkittua tietoa 1

Tutkittua tietoa. Tutkittua tietoa 1 Tutkittua tietoa T. Dybå, T. Dingsøyr: Empirical Studies of Agile Software Development : A Systematic Review. Information and Software Technology 50, 2008, 833-859. J.E. Hannay, T. Dybå, E. Arisholm, D.I.K.

Lisätiedot

Luku 8. Aluekyselyt. 8.1 Summataulukko

Luku 8. Aluekyselyt. 8.1 Summataulukko Luku 8 Aluekyselyt Aluekysely on tiettyä taulukon väliä koskeva kysely. Tyypillisiä aluekyselyitä ovat, mikä on taulukon välin lukujen summa tai pienin luku välillä. Esimerkiksi seuraavassa taulukossa

Lisätiedot

Automaattinen yksikkötestaus

Automaattinen yksikkötestaus Teknillinen Korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Automaattinen yksikkötestaus Ryhmä Rajoitteiset Versio Päivämäärä Tekijä

Lisätiedot

C. Painikkeiden toiminnot ja soittimen käyttö 1. Painikkeiden toiminnot

C. Painikkeiden toiminnot ja soittimen käyttö 1. Painikkeiden toiminnot Kiitos tämän digitaalisen MP3-soittimen ostamisesta. Lue laitteen käyttöohje huolellisesti ennen käyttöä. Näin varmistat, että käytät laitetta oikein. A.VAROITUS Lue turvavaroitukset ennen kuin muutat

Lisätiedot

Software engineering

Software engineering Software engineering Alkuperäinen määritelmä: Naur P., Randell B. (eds.): Software Engineering: A Report on A Conference Sponsored by the NATO Science Committee, NATO, 1968: The establishment and use of

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 4 Jatkuvuus Jatkuvan funktion määritelmä Tarkastellaan funktiota f x) jossakin tietyssä pisteessä x 0. Tämä funktio on tässä pisteessä joko jatkuva tai epäjatkuva. Jatkuvuuden

Lisätiedot

S14 09 Sisäpeltorobotti AS Automaatio ja systeemitekniikan projektityöt. Antti Kulpakko, Mikko Ikonen

S14 09 Sisäpeltorobotti AS Automaatio ja systeemitekniikan projektityöt. Antti Kulpakko, Mikko Ikonen S14 09 Sisäpeltorobotti AS 0.3200 Automaatio ja systeemitekniikan projektityöt Antti Kulpakko, Mikko Ikonen 1. Projektin tavoitteet Projektin tavoitteena on toteuttaa ohjelmisto sisäpeltorobottiin seuraavien

Lisätiedot

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää

Lisätiedot

etunimi, sukunimi ja opiskelijanumero ja näillä

etunimi, sukunimi ja opiskelijanumero ja näillä Sisällys 1. Algoritmi Algoritmin määritelmä. Aiheen pariin johdatteleva esimerkki. ja operaatiot (sijoitus, aritmetiikka ja vertailu). Algoritmista ohjelmaksi. 1.1 1.2 Algoritmin määritelmä Ohjelmointi

Lisätiedot

Käytettävyys ja käyttäjätutkimus. Yhteisöt ja kommunikaatiosuunnittelu 2012 / Tero Köpsi

Käytettävyys ja käyttäjätutkimus. Yhteisöt ja kommunikaatiosuunnittelu 2012 / Tero Köpsi Käytettävyys ja käyttäjätutkimus Yhteisöt ja kommunikaatiosuunnittelu 2012 / Tero Köpsi Teron luennot Ke 15.2 miniluento Ti 28.2 viikkotehtävän anto (T,M) To 1.3 Tero paikalla (tehtävien tekoa) Ti 6.3

Lisätiedot

Matematiikan tukikurssi, kurssikerta 3

Matematiikan tukikurssi, kurssikerta 3 Matematiikan tukikurssi, kurssikerta 3 1 Epäyhtälöitä Aivan aluksi lienee syytä esittää luvun itseisarvon määritelmä: { x kun x 0 x = x kun x < 0 Siispä esimerkiksi 10 = 10 ja 10 = 10. Seuraavaksi listaus

Lisätiedot

L models. Käyttöohje. Ryhmä Rajoitteiset

L models. Käyttöohje. Ryhmä Rajoitteiset Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Käyttöohje Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset 0.1

Lisätiedot

Ohjelmointi 1 / syksy /20: IDE

Ohjelmointi 1 / syksy /20: IDE Ohjelmointi 1 / syksy 2007 10/20: IDE Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Tämän luennon rakenne

Lisätiedot

VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA SÄHKÖTEKNIIKKA. Lauri Karppi j82095. SATE.2010 Dynaaminen kenttäteoria DIPOLIRYHMÄANTENNI.

VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA SÄHKÖTEKNIIKKA. Lauri Karppi j82095. SATE.2010 Dynaaminen kenttäteoria DIPOLIRYHMÄANTENNI. VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA SÄHKÖTEKNIIKKA Oskari Uitto i78966 Lauri Karppi j82095 SATE.2010 Dynaaminen kenttäteoria DIPOLIRYHMÄANTENNI Sivumäärä: 14 Jätetty tarkastettavaksi: 25.02.2008 Työn

Lisätiedot

Tehostettu kisällioppiminen tietojenkäsittelytieteen ja matematiikan opetuksessa yliopistossa Thomas Vikberg

Tehostettu kisällioppiminen tietojenkäsittelytieteen ja matematiikan opetuksessa yliopistossa Thomas Vikberg Tehostettu kisällioppiminen tietojenkäsittelytieteen ja matematiikan opetuksessa yliopistossa Thomas Vikberg Matematiikan ja tilastotieteen laitos Tietojenkäsittelytieteen laitos Kisällioppiminen = oppipoikamestari

Lisätiedot

Suomen virtuaaliammattikorkeakoulu VPN peli > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)

Suomen virtuaaliammattikorkeakoulu VPN peli > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%) Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Suomen virtuaaliammattikorkeakoulu VPN peli > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien Arviointialue

Lisätiedot

Suomen virtuaaliammattikorkeakoulu Teknillinen mekanikka fem tutorials > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)

Suomen virtuaaliammattikorkeakoulu Teknillinen mekanikka fem tutorials > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%) Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Suomen virtuaaliammattikorkeakoulu Teknillinen mekanikka fem tutorials > 80 % 80 60 % 60 50 % < 50 % Arviointialue

Lisätiedot

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Liite 1: skenaariot ja PoC tulokset 1. Palvelun kehittäjän näkökulma Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Palvelun uusi versio on Palveluiden kehittäminen voitava asentaa tuotantoon vaikeutuu

Lisätiedot

VirtuaaliAMK Tulipesän paineen ja palamisilman säätö > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)

VirtuaaliAMK Tulipesän paineen ja palamisilman säätö > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%) Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain VirtuaaliAMK Tulipesän paineen ja palamisilman säätö > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien

Lisätiedot

Koodaamme uutta todellisuutta FM Maarit Savolainen https://blog.edu.turku.fi/matikkaajakoodausta/

Koodaamme uutta todellisuutta FM Maarit Savolainen https://blog.edu.turku.fi/matikkaajakoodausta/ Koodaamme uutta todellisuutta FM Maarit Savolainen 19.1.2017 https://blog.edu.turku.fi/matikkaajakoodausta/ Mitä on koodaaminen? Koodaus on puhetta tietokoneille. Koodaus on käskyjen antamista tietokoneelle.

Lisätiedot

Julkaisun laji Opinnäytetyö. Sivumäärä 43

Julkaisun laji Opinnäytetyö. Sivumäärä 43 OPINNÄYTETYÖN KUVAILULEHTI Tekijä(t) SUKUNIMI, Etunimi ISOVIITA, Ilari LEHTONEN, Joni PELTOKANGAS, Johanna Työn nimi Julkaisun laji Opinnäytetyö Sivumäärä 43 Luottamuksellisuus ( ) saakka Päivämäärä 12.08.2010

Lisätiedot

Ohjeet C-kasettien digitoimiseen

Ohjeet C-kasettien digitoimiseen Ohjeet C-kasettien digitoimiseen JVC KD-A5 kasettisoitin Pioneer A-10-K vahvistin 1. Avaa Audacity -ohjelma -kuvakkeesta. Kytke virta kasettisoittimeen ja vahvistimeen. Katso että vahvistimessa palaa valo

Lisätiedot

CHERMUG-pelien käyttö opiskelijoiden keskuudessa vaihtoehtoisen tutkimustavan oppimiseksi

CHERMUG-pelien käyttö opiskelijoiden keskuudessa vaihtoehtoisen tutkimustavan oppimiseksi Tiivistelmä CHERMUG-projekti on kansainvälinen konsortio, jossa on kumppaneita usealta eri alalta. Yksi tärkeimmistä asioista on luoda yhteinen lähtökohta, jotta voimme kommunikoida ja auttaa projektin

Lisätiedot

Informaatiotekniikan kehitysyksikkö

Informaatiotekniikan kehitysyksikkö SAVONIA Savonia RPM Käyttöopas Informaatiotekniikan kehitysyksikkö 18.8.2011 Sisällysluettelo 1. Perusnäkymä... 3 2. Kirjautuminen... 4 3. Rekisteröinti... 5 4. Idean jättäminen... 6 4. Arviointi... 8

Lisätiedot

Oleelliset vaikeudet OT:ssa 1/2

Oleelliset vaikeudet OT:ssa 1/2 Oleelliset vaikeudet OT:ssa 1/2 Monimutkaisuus: Mahdoton ymmärtää kaikki ohjelman tilat Uusien toimintojen lisääminen voi olla vaikeaa Ohjelmista helposti vaikeakäyttöisiä Projektiryhmän sisäiset kommunikointivaikeudet

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702)

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri (TK081702) yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,

Lisätiedot

(Kuva2) (Kuva 3 ja 4)

(Kuva2) (Kuva 3 ja 4) Navigointi (Kuva1) Perinteisestä ohjelmasta poiketen, GIMP käyttöliittymä muodostuu useasta ikkunasta. Siinä on pääikkuna, joka sisältää työstettävän kuvan sekä ylärivin dropdown valikkoina kaikki ohjelman

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 4.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 4.3.2009 1 / 35 Tiedostot Tiedostojen käsittelyä tarvitaan esimerkiksi seuraavissa tilanteissa: Ohjelman käsittelemiä

Lisätiedot

WINDOWS 10 -kurssi. petri.kiiskinen@wellamo-opisto.fi

WINDOWS 10 -kurssi. petri.kiiskinen@wellamo-opisto.fi WINDOWS 10 -kurssi petri.kiiskinen@wellamo-opisto.fi Yleistä kurssista Keskiviikkoisin 9.9. 30.9. (15 oppituntia) 16:45 20:00 (viimeinen kerta 16:45 19:15) Puolivälissä 15 minuutin kahvitauko Materiaali

Lisätiedot

1. CD-kansi :Avaa tästä ja laita CD sisään

1. CD-kansi :Avaa tästä ja laita CD sisään 1. CD-kansi :Avaa tästä ja laita CD sisään 2. Bass boost :Tästä painamalla aktivoituu bassonkorostustoiminto. 3. Äänen voimakkuus : Äänen voimakkuuden säätö. 4. CD repeat : Paina kerran soiton aikana,

Lisätiedot

Pisteytysohje loppuraporttien vertaisarviointiin

Pisteytysohje loppuraporttien vertaisarviointiin Pisteytysohje loppuraporttien vertaisarviointiin Pisteytys olettaa kaikkien kuvattujen vaatimusten täyttymistä pistemäärän saavuttamiseksi. Esimerkiksi: Raportti täyttää rakenteen ja kieliasun osalta kaikki

Lisätiedot

Nspire CAS - koulutus Ohjelmiston käytön alkeet Pekka Vienonen

Nspire CAS - koulutus Ohjelmiston käytön alkeet Pekka Vienonen Nspire CAS - koulutus Ohjelmiston käytön alkeet 3.12.2014 Pekka Vienonen Ohjelman käynnistys ja käyttöympäristö Käynnistyksen yhteydessä Tervetuloa-ikkunassa on mahdollisuus valita suoraan uudessa asiakirjassa

Lisätiedot

MITEN KIRJAUDUN ADOBE CONNECTIIN?

MITEN KIRJAUDUN ADOBE CONNECTIIN? Connect-ohje oppilaalle MITEN KIRJAUDUN ADOBE CONNECTIIN? 1. Avaa internet-selain ja kirjoita osoiteriville virtuaaliluokkasi osoite, esim. http://tampere.adobeconnect.com/virta ja paina Enter: Luokkien

Lisätiedot

SoberIT Ohjelmistoliiketoiminnan ja tuotannon laboratorio

SoberIT Ohjelmistoliiketoiminnan ja tuotannon laboratorio Informaatioverkostojen koulutusohjelma Ihminen ja vuorovaikutus Pääaineen rakenne: T100-1 Informaatioverkostojen perusmoduuli (A1) T200-2 Ihminen ja vuorovaikutus (A2) UUSI T110-3 Ihmisläheiset tietojärjestelmät

Lisätiedot

H Prosessi- ja kokonaisarkkitehtuurityökalu palveluna Liite 17 Käytettävyyden arviointi

H Prosessi- ja kokonaisarkkitehtuurityökalu palveluna Liite 17 Käytettävyyden arviointi H087-12 Prosessi- ja kokonaisarkkitehtuurityökalu palveluna Liite 17 Käytettävyyden arviointi Tämän dokumentin tarkoituksena on määrittää kilpailutukseen H087-12 liittyvää käytettävyyden arviointia Tässä

Lisätiedot

KAIUTTIMIEN LIITÄNTÄ Yhdistä kaiuttimet niiden liittimiin laitteen takaosassa.

KAIUTTIMIEN LIITÄNTÄ Yhdistä kaiuttimet niiden liittimiin laitteen takaosassa. TOIMINNOT 1. Verkkovirtakatkaisin (POWER) 2. Toimintovalitsin (Aux/CD/nauha/radio) 3. Tajuusaluevalitsin (BAND) 4. Bass Boost -painike 5. Äänenvoimakkuuden säätö (VOLUME) 6. Viritin (TUNER) 7. CD LED-näyttö

Lisätiedot

VALINNAINEN MUSIIKKI -OPPIAINEEN YLEINEN KUVAUS VUOSILUOKALLA 4-6

VALINNAINEN MUSIIKKI -OPPIAINEEN YLEINEN KUVAUS VUOSILUOKALLA 4-6 VALINNAINEN MUSIIKKI -OPPIAINEEN YLEINEN KUVAUS VUOSILUOKALLA 4-6 Oppiaineen tehtävä Syventää ja laajentaa oppilaiden musiikillista osaamista. Luoda edellytykset monipuoliseen musiikilliseen toimintaan

Lisätiedot

RockID-varastonhallintajärjestelmän käyttöohje. v. 1.0

RockID-varastonhallintajärjestelmän käyttöohje. v. 1.0 RockID-varastonhallintajärjestelmän käyttöohje v. 1.0 Yleistä Rockstar lukijakäyttöliittymä Tuotteiden lukeminen lähtevään tilaukseen Tilaukseen kuulumattomat tuotteet Tuotteiden lukeminen tilauksesta

Lisätiedot

1. Algoritmi 1.1 Sisällys Algoritmin määritelmä. Aiheen pariin johdatteleva esimerkki. Muuttujat ja operaatiot (sijoitus, aritmetiikka ja vertailu). Algoritmista ohjelmaksi. 1.2 Algoritmin määritelmä Ohjelmointi

Lisätiedot

Integrointialgoritmit molekyylidynamiikassa

Integrointialgoritmit molekyylidynamiikassa Integrointialgoritmit molekyylidynamiikassa Markus Ovaska 28.11.2008 Esitelmän kulku MD-simulaatiot yleisesti Integrointialgoritmit: mitä integroidaan ja miten? Esimerkkejä eri algoritmeista Hyvän algoritmin

Lisätiedot

Jyväskylän yliopiston Koulutuksen tutkimuslaitos, IEA sekä opetus- ja kulttuuriministeriö

Jyväskylän yliopiston Koulutuksen tutkimuslaitos, IEA sekä opetus- ja kulttuuriministeriö Jyväskylän yliopiston Koulutuksen tutkimuslaitos, IEA sekä opetus- ja kulttuuriministeriö 2018 Tieto- ja viestintäteknologia sekä monilukutaito ovat merkittävässä asemassa opiskelussa, työelämässä kuin

Lisätiedot

Kaavioiden rakenne. Kaavioiden piirto symboleita yhdistelemällä. Kaavion osan toistaminen silmukalla. Esimerkkejä:

Kaavioiden rakenne. Kaavioiden piirto symboleita yhdistelemällä. Kaavion osan toistaminen silmukalla. Esimerkkejä: 2. Vuokaaviot 2.1 Sisällys Kaavioiden rakenne. Kaavioiden piirto symbolta yhdistelemällä. Kaavion osan toistaminen silmukalla. Esimerkkejä: algoritmi oven avaamiseen vuokaaviona, keskiarvon laskeminen

Lisätiedot

Ti LÄHIVERKOT -erikoistyökurssi. X Window System. Jukka Lankinen

Ti LÄHIVERKOT -erikoistyökurssi. X Window System. Jukka Lankinen Ti5316800 LÄHIVERKOT -erikoistyökurssi X Window System Jukka Lankinen 2007-2008 Sisällys Esitys vastaa seuraaviin kysymyksiin: Mikä on X Window System? Minkälainen X on? Mistä sen saa? Miten X:ää käytetään?

Lisätiedot

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Ohjelmistojen mallintaminen. Luento 11, 7.12. Ohjelmistojen mallintaminen Luento 11, 7.12. Viime viikolla... Oliosuunnittelun yleiset periaatteet Single responsibility eli luokilla vain yksi vastuu Program to an interface, not to concrete implementation,

Lisätiedot

Tietotekniikan kandidaattiseminaari

Tietotekniikan kandidaattiseminaari Tietotekniikan kandidaattiseminaari Luento 1 14.9.2011 1 Luennon sisältö Seminaarin tavoitteet Seminaarin suoritus (tehtävät) Kandidaatintutkielman aiheen valinta Seminaarin aikataulu 2 2011 Timo Männikkö

Lisätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Kurssin sisältö pääpiirteittäin Tarvittavat pohjatiedot Avainsanat Abstraktio Esimerkkiohjelman tehtäväkuvaus Abstraktion käyttö tehtävässä Abstrakti tietotyyppi Hyötyjä ADT:n

Lisätiedot

Tietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla

Tietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla Tietojen syöttäminen ohjelmalle Tähän mennessä on käsitelty Javan tulostuslauseet System.out.print ja System.out.println sekä ohjelman perusrakenneosat (muuttujat, vakiot, lauseet). Jotta päästään tekemään

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,

Lisätiedot

MITEN KIRJAUDUN ADOBE CONNECTIIN?

MITEN KIRJAUDUN ADOBE CONNECTIIN? Connect-ohje oppilaalle MITEN KIRJAUDUN ADOBE CONNECTIIN? 1. Avaa internet-selain ja kirjoita osoiteriville virtuaaliluokkasi osoite, esim. http://tampere.adobeconnect.com/virta ja paina Enter: Luokkien

Lisätiedot

SELVITYS PRO GRADUJEN KÄYTÖSTÄ TAIDEKIRJASTOSSA

SELVITYS PRO GRADUJEN KÄYTÖSTÄ TAIDEKIRJASTOSSA SELVITYS PRO GRADUJEN KÄYTÖSTÄ TAIDEKIRJASTOSSA Tapani Takalo Lapin korkeakoulukirjasto, yliopisto, taide 17.11.2011 1. Johdanto Lapin yliopiston taidekirjastossa on selvitetty taidekirjaston kokoelmiin

Lisätiedot

Puheen akustiikan perusteita Mitä puhe on? 2.luento. Äänet, resonanssi ja spektrit. Äänen tuotto ja eteneminen. Puhe äänenä

Puheen akustiikan perusteita Mitä puhe on? 2.luento. Äänet, resonanssi ja spektrit. Äänen tuotto ja eteneminen. Puhe äänenä Puheen akustiikan perusteita Mitä puhe on? 2.luento Martti Vainio Äänet, resonanssi ja spektrit Fonetiikan laitos, Helsingin yliopisto Puheen akustiikan perusteita p.1/37 S-114.770 Kieli kommunikaatiossa...

Lisätiedot

Moottorin kierrosnopeus Tämän harjoituksen jälkeen:

Moottorin kierrosnopeus Tämän harjoituksen jälkeen: Moottorin kierrosnopeus Tämän harjoituksen jälkeen: osaat määrittää moottorin kierrosnopeuden pulssianturin ja Counter-sisääntulon avulla, osaat siirtää manuaalisesti mittaustiedoston LabVIEW:sta MATLABiin,

Lisätiedot

Mitä taitoja tarvitaan tekstin ymmärtämisessä? -teorian kautta arkeen, A.Laaksonen

Mitä taitoja tarvitaan tekstin ymmärtämisessä? -teorian kautta arkeen, A.Laaksonen Mitä taitoja tarvitaan tekstin ymmärtämisessä? -teorian kautta arkeen, A.Laaksonen Lukemisen taitoja Tulisi kehittää kaikissa oppiaineissa Vastuu usein äidinkielen ja S2-opettajilla Usein ajatellaan, että

Lisätiedot

Tutkimusyksikön johtajan/tutkinto-ohjelman vastuunhenkilön hyväksyntä

Tutkimusyksikön johtajan/tutkinto-ohjelman vastuunhenkilön hyväksyntä Oulun yliopisto Hoitotieteen ja terveyshallintotieteen tutkimusyksikkö PRO GRADU-TUTKIELMAN ARVIOINTILOMAKE Tutkielman tekijä(t): Tutkielman nimi: Pääaine: Tutkielman ohjaaja(t): Tutkielman arviointi Tutkielman

Lisätiedot

TAITAJA 2007 ELEKTRONIIKKAFINAALI 31.01-02.02.07 KILPAILIJAN TEHTÄVÄT. Kilpailijan nimi / Nro:

TAITAJA 2007 ELEKTRONIIKKAFINAALI 31.01-02.02.07 KILPAILIJAN TEHTÄVÄT. Kilpailijan nimi / Nro: KILPAILIJAN TEHTÄVÄT Kilpailijan nimi / Nro: Tehtävän laatinut: Hannu Laurikainen, Deltabit Oy Kilpailutehtävä Kilpailijalle annetaan tehtävässä tarvittavat ohjelmakoodit. Tämä ohjelma on tehty laitteen

Lisätiedot

KÄYTTÖOHJE. Servia. S solutions

KÄYTTÖOHJE. Servia. S solutions KÄYTTÖOHJE Servia S solutions Versio 1.0 Servia S solutions Servia Finland Oy PL 1188 (Microkatu 1) 70211 KUOPIO puh. (017) 441 2780 info@servia.fi www.servia.fi 2001 2004 Servia Finland Oy. Kaikki oikeudet

Lisätiedot

Tietotekniikan Sovellusprojektit

Tietotekniikan Sovellusprojektit Tietotekniikan Sovellusprojektit Jukka-Pekka Santanen Tietotekniikan laitos 16.2.2010 Tavoitteena taitoja ja kokemusta projektimuotoisesta työtavasta ja ryhmätyöstä, projektin hallinnasta ja johtamisesta,

Lisätiedot

58131 Tietorakenteet ja algoritmit (syksy 2015)

58131 Tietorakenteet ja algoritmit (syksy 2015) 58131 Tietorakenteet ja algoritmit (syksy 2015) Harjoitus 2 (14. 18.9.2015) Huom. Sinun on tehtävä vähintään kaksi tehtävää, jotta voit jatkaa kurssilla. 1. Erään algoritmin suoritus vie 1 ms, kun syötteen

Lisätiedot

Virtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest).

Virtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest). 1 Virtualisoinnin avulla voidaan purkaa suora linkki suoritettavan sovelluksen (tai käyttöjärjestelmän tms.) ja sitä suorittavan laitteiston välillä. Näin saavutetaan joustavuutta laitteiston käytössä.

Lisätiedot

Hälyri-tietojärjestelmän järjestelmätestaussuunnitelma ja -raporttimalli

Hälyri-tietojärjestelmän järjestelmätestaussuunnitelma ja -raporttimalli Hälyri-tietojärjestelmän järjestelmätestaussuunnitelma ja -raporttimalli Laatijat: Veli Mikko Puupponen ja Ilkka Rautiainen Päivämäärä: 26.5.2014 Versio: 1.0.0 1. Testausympäristö ja yhteenveto Testatun

Lisätiedot

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö Tekijät: Eemeli Honkonen Joni Metsälä Työ palautettu: SISÄLLYSLUETTELO: 1 SEMINAARITYÖN KUVAUS... 3 2 TIETOKANTA... 3 2.1 MITÄ TIETOKANNAT SITTEN OVAT?... 3

Lisätiedot

Tv-äänisuunnittelu. Antti Silvennoinen Tel. +358 50 3501016 Email. antti.silvennoinen@saunalahti.fi

Tv-äänisuunnittelu. Antti Silvennoinen Tel. +358 50 3501016 Email. antti.silvennoinen@saunalahti.fi Antti Silvennoinen Tel. +358 50 3501016 Email. antti.silvennoinen@saunalahti.fi Päivän ohjelma: Käsitteen avaaminen Et, palaverit, suunnittelu Aikataulut Erilaiset tuotannot ja niiden resurssit Puhe vs.

Lisätiedot

Suomen virtuaaliammattikorkeakoulu The XML Dokuments > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)

Suomen virtuaaliammattikorkeakoulu The XML Dokuments > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%) Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Suomen virtuaaliammattikorkeakoulu The XML Dokuments > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien

Lisätiedot

Plantronics Blackwire C610-M Blackwire C620-M

Plantronics Blackwire C610-M Blackwire C620-M Plantronics Blackwire C610-M Blackwire C60-M KÄYTTÖOPAS TERVETULOA PAKKAUKSEN SISÄLTÖ Tervetuloa Plantronicsin kuuloketuoteperheen pariin. Plantronics tarjoaa laajan tuotevalikoiman, joka kattaa tavoitteiden

Lisätiedot

Metsämuuronen: Tilastollisen kuvauksen perusteet ESIPUHE... 4 SISÄLLYSLUETTELO... 6 1. METODOLOGIAN PERUSTEIDEN KERTAUSTA... 8 2. AINEISTO...

Metsämuuronen: Tilastollisen kuvauksen perusteet ESIPUHE... 4 SISÄLLYSLUETTELO... 6 1. METODOLOGIAN PERUSTEIDEN KERTAUSTA... 8 2. AINEISTO... Sisällysluettelo ESIPUHE... 4 ALKUSANAT E-KIRJA VERSIOON... SISÄLLYSLUETTELO... 6 1. METODOLOGIAN PERUSTEIDEN KERTAUSTA... 8 1.1 KESKEISTEN KÄSITTEIDEN KERTAUSTA...9 1.2 AIHEESEEN PEREHTYMINEN...9 1.3

Lisätiedot

Julkaisujen, aktiviteettien ja uutisten tietojen tallennus LaCRISjärjestelmään

Julkaisujen, aktiviteettien ja uutisten tietojen tallennus LaCRISjärjestelmään Julkaisujen, aktiviteettien ja uutisten tietojen tallennus LaCRISjärjestelmään Liisa Hallikainen 15.12.2015 Tallennus aloitetaan oikealla ylhäällä olevalla Lisää uusi nappulalla Julkaisut tuodaan muista

Lisätiedot

Epooqin perusominaisuudet

Epooqin perusominaisuudet Epooqin perusominaisuudet Huom! Epooqia käytettäessä on suositeltavaa käyttää Firefox -selainta. Chrome toimii myös, mutta eräissä asioissa, kuten äänittämisessä, voi esiintyä ongelmia. Internet Exploreria

Lisätiedot

Suomen virtuaaliammattikorkeakoulu Teknillinen mekaniikka templateaihio > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)

Suomen virtuaaliammattikorkeakoulu Teknillinen mekaniikka templateaihio > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%) Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Suomen virtuaaliammattikorkeakoulu Teknillinen mekaniikka templateaihio > 80 % 80 60 % 60 50 % < 50 % Arviointialue

Lisätiedot

Tuotetiedot C: Asennus

Tuotetiedot C: Asennus Tuotetiedot A: Analogiset tulot ja lähdöt B: Digitaalinen S/PDIF-lähtö ja -tulo C: Sisäiset analogiset tulot C A B Asennus Ennen asennusta: Jos sinulla on äänikortti järjestelmässä, poista se käytöstä

Lisätiedot

Seurantalaskimen simulointi- ja suorituskykymallien vertailu (valmiin työn esittely) Joona Karjalainen

Seurantalaskimen simulointi- ja suorituskykymallien vertailu (valmiin työn esittely) Joona Karjalainen Seurantalaskimen simulointi- ja suorituskykymallien vertailu (valmiin työn esittely) Joona Karjalainen 08.09.2014 Ohjaaja: DI Mikko Harju Valvoja: Prof. Kai Virtanen Työn saa tallentaa ja julkistaa Aalto-yliopiston

Lisätiedot

KTKO104 Tieto- ja viestintätekniikka. 2. Luento - Opetussuunnitelma 2014 Tiistai

KTKO104 Tieto- ja viestintätekniikka. 2. Luento - Opetussuunnitelma 2014 Tiistai KTKO104 Tieto- ja viestintätekniikka 2. Luento - Opetussuunnitelma 2014 Tiistai 13.10. 2015 OPS 2014 Perusopetuksen Opetussuunnitelman Perusteet 2014, eli OPS 2014 Hyväksytty 2014, astuu voimaan 2016 Edellinen

Lisätiedot

Lustotiedon kokoaminen arkistoihin ja asiantuntijajärjestelmiin. Mauri Timonen

Lustotiedon kokoaminen arkistoihin ja asiantuntijajärjestelmiin. Mauri Timonen Lustotiedon kokoaminen arkistoihin ja asiantuntijajärjestelmiin Mauri Timonen 3.4.2014 1 Tieto on osattava jäsentää kehitettäessä lustotietoa hyödyntävää asiantuntijajärjestelmää. Hyvän lähtökohdan 2 antaa

Lisätiedot

PLA-32820 Mobiiliohjelmointi. Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_2016/

PLA-32820 Mobiiliohjelmointi. Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_2016/ PLA-32820 Mobiiliohjelmointi Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_2016/ 1. Luento 2 Suoritus vaatimukset Kurssin sisältö Kirjallisuus Mobiiliohjelmointi Mobiililaitteita...

Lisätiedot

Tutkintojen, oppimäärien ja muiden osaamiskokonaisuuksien sijoittuminen vaativuustasoille

Tutkintojen, oppimäärien ja muiden osaamiskokonaisuuksien sijoittuminen vaativuustasoille Tutkintojen, oppimäärien ja muiden osaamiskokonaisuuksien sijoittuminen vaativuustasoille Liite Kansallinen vaativuustaso / eurooppalaisen tutkintojen viitekehyksen taso Taso1 Tutkinnot, oppimäärät ja

Lisätiedot

83450 Internetin verkkotekniikat, kevät 2002 Tutkielma

83450 Internetin verkkotekniikat, kevät 2002 Tutkielma <Aihe> 83450 Internetin verkkotekniikat, kevät 2002 Tutkielma TTKK 83450 Internetin verkkotekniikat Tekijät: Ryhmän nro:

Lisätiedot

Koulutusohjelman vastuunhenkilön hyväksyntä nimen selvennys, virka-asema / arvo

Koulutusohjelman vastuunhenkilön hyväksyntä nimen selvennys, virka-asema / arvo Oulun yliopisto Lääketieteellinen tiedekunta Terveystieteiden laitos PRO GRADU-TUTKIELMAN ARVIOINTILOMAKE Tutkielman tekijä(t): Tutkielman nimi: Pääaine: Tutkielman ohjaaja(t): Tutkielman arviointi Tutkielman

Lisätiedot

VirtaaliAMK Virtuaalihotelli > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)

VirtaaliAMK Virtuaalihotelli > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%) Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain VirtaaliAMK Virtuaalihotelli > 80 % 80 60 % 60 50 % < 50 % Arviointialue Ominaisuuksien Arviointialue Ominaisuuksien

Lisätiedot

Avoin lähdekoodi hankinnoissa Juha Yrjölä

Avoin lähdekoodi hankinnoissa Juha Yrjölä Avoin lähdekoodi hankinnoissa 9.6.2016 Juha Yrjölä Mitä on avoin lähdekoodi? 1. Lähdekoodi tulee jakaa ohjelmiston mukana tai antaa saataville joko ilmaiseksi tai korkeintaan luovuttamiskulujen hinnalla.

Lisätiedot

Yleistä. Digitaalisen äänenkäsittelyn perusteet. Tentit. Kurssin hyväksytty suoritus = Harjoitustyö 2(2) Harjoitustyö 1(2)

Yleistä. Digitaalisen äänenkäsittelyn perusteet. Tentit. Kurssin hyväksytty suoritus = Harjoitustyö 2(2) Harjoitustyö 1(2) Yleistä Digitaalisen äänenkäsittelyn perusteet Jouni Smed jouni.smed@utu.fi syksy 2006 laajuus: 5 op. (3 ov.) esitiedot: Java-ohjelmoinnin perusteet luennot: keskiviikkoisin 10 12 12 salissa β perjantaisin

Lisätiedot

ICT-taitojen tasoerot edellyttävät uusia malleja koulutukseen Helsinki. Maarit Mäkinen & Mika Sihvonen Tampereen yliopisto

ICT-taitojen tasoerot edellyttävät uusia malleja koulutukseen Helsinki. Maarit Mäkinen & Mika Sihvonen Tampereen yliopisto ICT-taitojen tasoerot edellyttävät uusia malleja koulutukseen 2.11.2016 Helsinki Maarit Mäkinen & Mika Sihvonen Tampereen yliopisto 1 TAITO-hankeverkosto, marraskuu 2016 Puhti Työelämän ICT-taidot Noheva

Lisätiedot

Luento 15: Ääniaallot, osa 2

Luento 15: Ääniaallot, osa 2 Luento 15: Ääniaallot, osa 2 Aaltojen interferenssi Doppler Laskettuja esimerkkejä Luennon sisältö Aaltojen interferenssi Doppler Laskettuja esimerkkejä Aaltojen interferenssi Samassa pisteessä vaikuttaa

Lisätiedot

Jos käytetään 5.1-kaiutinasetusta: - Vaihtaa keskikaiuttimen ja Subwooferin välillä

Jos käytetään 5.1-kaiutinasetusta: - Vaihtaa keskikaiuttimen ja Subwooferin välillä Tuotetiedot Kytkentä Kuvaus A 1 Välikytkin: - Keskikaiutin / Subwoofer - Linjatulo: V / O Jos käytetään 5.1-kaiutinasetusta: - Vaihtaa keskikaiuttimen ja Subwooferin välillä Jos käytetään 2-4 kaiuttimen

Lisätiedot

Julkaisufoorumin kuulumiset

Julkaisufoorumin kuulumiset Julkaisufoorumin kuulumiset Suunnittelija Janne Pölönen, TSV Julkaisutiedonkeruuseminaari Saimaan ammattikorkeakoulu 29.8.2016 Julkaisufoorumin kuulumiset Julkaisufoorumin ohjausryhmän kokous 8.6.2016

Lisätiedot

13/20: Kierrätys kannattaa koodaamisessakin

13/20: Kierrätys kannattaa koodaamisessakin Ohjelmointi 1 / syksy 2007 13/20: Kierrätys kannattaa koodaamisessakin Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy

Lisätiedot