Java 3D-audiorajapinnan toteutus 3D-äänen renderöinnin näkökulmasta

Koko: px
Aloita esitys sivulta:

Download "Java 3D-audiorajapinnan toteutus 3D-äänen renderöinnin näkökulmasta"

Transkriptio

1 Java 3D-audiorajapinnan toteutus 3D-äänen renderöinnin näkökulmasta Markus Kolsi HUT, Tietoliikenneohjelmistojen ja multimedian laboratorio Tiivistelmä Luonnolliselta kuulostavan audiovisuaalisen ympäristön luomiseen tarvitaan äänilähteen, ympäristön tilan sekä kuulijan mallinnusta. Java 3D:n sovellusrajapinta tarjoaa tähän korkean tason menetelmiä. Tarkastelun kohteena ovat äänimaiseman luomisen kannalta keskeisimmät käsitteet sekä Java 3D:n luokat ja metodit. Konkreettisena esimerkkinä on Dopplerin ilmiön mallintaminen Java 3D:llä. Tästä mallinnuksesta saatu tulos oli se, että 3D-ääniympäristön mallintaminen soveltuvasti Java 3D:llä vaatii tarkkuutta ja työtä sekä parametrien asettamista käsin. Dopplerin ilmiön lopputuloksen toimivuudesta on kuulijan vaikea saada täyttä varmuutta. 1 JOHDANTO Äänen fysikaaliset ominaisuudet, ääniympäristön ominaisuudet sekä kuulijan ominaisuudet tulee huomioida audiovisuaalisen ääniympäristön mallintamisessa eli auralisaatiossa. Avaruudessa oleva äänilähde voi olla pistemäinen, suunnattu tai kaikkialla samanlaisena kuuluva taustaääni. Ääniympäristö voi koostua osista, jotka ovat kaikuisia, eri tavoin ääntä heijastavia tai ääntä suodattavia. Kuulijan pään ominaisuudet vaikuttavat esimerkiksi siihen, miten suuntakuulolla havaitaan äänilähteen etäisyys. Java 3D:n audiorajapinta tarjoaa äänilähteen, ääniympäristön ja käyttäjän pään mallintamiseen korkean tason välineitä. Näillä välineillä on mahdollista simuloida muun muassa erilaisia fysikaalisia äänitapahtumia, kuten Dopplerin ilmiötä. Tässä paperissa perehdytään 3D-äänenkäsittelyn perusteiden jälkeen Java 3D:n äänenkäsittelyominaisuuksiin ensin yleisellä tasolla, sitten luokka- ja metoditasolla ja lopuksi läpikäydään Dopplerin ilmiön toteuttamisesta Java 3D:llä saatuja kokemuksia. 2 ÄÄNEN FYSIKAALISET OMINAISUUDET Ääni on pitkittäisinä aaltoliikkeinä eli ääniaaltoina väliaineessa etenevää kuultavissa olevaa painevärähtelyä (Rossing, 1981; Hypermedialaboratorio, 1998). Väliaine voi 1

2 olla kiinteää, nestemäistä tai kaasua. Ilmassa ääni etenee noin 340 m/s. Syntypisteestään aaltoliikkeenä etenevä ääni otetaan vastaan kuuloaistin avulla, joka aistii äänenpaineen vaihtelua. Painevärähdysten lukumäärä sekunnissa eli äänen taajuus, yksikkönä hertzi (Hz), määrää äänen korkeuden. Ihmisen kuultavissa oleva taajuusalue on Hz (Rossing, 1981). Taajuuden lisäksi äänellä on väri ja voimakkuus. Äänen värin määräävät ääniaaltojen muodot, jotka voivat sisältää yhden tai useampia taajuuskomponentteja (Hypermedialaboratorio, 1998). Äänen voimakkuus määräytyy staattisen ilmanpaineen ja äänenpaineen eron perusteella. Mitä suurempi ero, sitä voimakkaampi ääni. Ihmisen kuulon ominaisuuksista johtuen äänenpaine on logaritminen suure, jota kutsutaan desibeliksi (db). Kuuloaistimuksessa äänekkyyden kaksinkertaistuminen vastaa kymmenen desibelin lisäystä äänen voimakkuuteen. Ihmisen korva erottaa hiljaisimmillaan noin 1 db äänenvoimakkuuden ja voimakkaimmillaan noin 130 db äänen (Hypermedialaboratorio, 1998). 3 3D-ÄÄNENKÄSITTELYN PERUSTEITA Tässä 3D-äänenkäsittelyllä tarkoitetaan 3D-ääniympäristön keinotekoista synnyttämistä ja tämän ympäristön käsittelyä. 3D-ääniympäristön luomiseksi tarvitaan määritellä äänilähde, väliaine sekä äänen havainnoija (Savioja, 1999; Manninen, 2002). Äänen käyttöä datan esitystekniikkana kutsutaan auralisaatioksi. 3.1 Äänilähteen mallinnus Äänilähteen mallintamisella tarkoitetaan äänen liittämistä ympäristöön sekä antamalla sille ominaisuuksia kuten äänen suuntaavuus. Äänilähteen mallinnukseen kuuluu esimerkiksi akustisten soitinten fysikaalisten äänentoistoperiaatteiden mallinnusta. Itse ääni voi olla luonnollista tai synteettistä (Manninen, 2002). 3.2 Väliaineen eli akustisen tilan määrittely Konkreettisesti akustisen tilan määrittelyllä voidaan tarkoittaa sen huoneen mallintamista, jossa äänilähde on. Tällöin tulee mallintaa huoneen vaimennusominaisuudet, ilman absorptio ja kaikuominaisuudet. Äänen käyttäytyminen rajapinnoilla, kuten heijastukset ja diffraktio tulee myös huomioida. Akustisen tilan mallintamiseen on erilaisia laskennallisia malleja, joista eräs hyödyntää säteenseurantamenetelmää. Tässä mallissa tutkitaan huoneen impulssivastetta, josta näkyy suoran äänen, varhaisten heijastusten sekä jälkikaiunnan amplitudit (Savioja, 1999; Manninen, 2002). 2

3 3.3 Äänen havainnoijan mallintaminen Äänen havainnoijan eli äänen kuulijan mallintaminen tarkoittaa kuulijan fyysisten ominaisuuksien mallintamista. Käytännössä tämä tarkoittaa lähinnä pään kuulemiseen liittyvien ominaisuuksien mallintamista. Tätä tekniikkaa kutsutaan suuntakuuloksi (binaural hearing) ja siihen kuuluu korvien välisen etäisyyden, pään muodon ja materiaalin, aika- ja voimakkuuserojen sekä muiden kuulemiseen liittyvien asioiden mallintaminen (Manninen, 2002). Ihminen havaitsee korvaan saapuvien äänien aikaeron ja voi siitä päätellä äänilähteen sijainnin. Ääni vaimenee esteissä. Pää vaimentaa ääntä, joten voimakkuuseroista voidaan myös päätellä sijainti. Pää ja korvalehdet aiheuttavat suuntariippuvaa suodatusta ja muun kehon osalta etenkin olkapäät vaikuttavat äänen havainnointiin (Manninen, 2002). Usein suuntakuuloäänitykset tehdään niinsanotulla keinopäällä, joka on tehty täysikasvuisen aikuisen pään mittojen mukaan. Pään materiaalit ja muut ominaisuudet pyrkivät jäljittelemään ihmisen pään ominaisuuksia. Suuntaamattomat mikrofonit on sijoitettu korvakäytävän suulle (Maijala, 1999). 4 JAVA 3D:N AUDIORAJAPINTA Tässä luvussa käsitellään ensin yleisellä tasolla Javaa ja Java 3D:tä, sitten perehdytään tarkemmin Java 3D:n 3D-äänenkäsittelyominaisuuksiin ja äänimaiseman luomiseen Java 3D:llä liittyviin seikkoihin. Lopuksi tarkastelu siirretään Java 3D:n niihin luokkiin ja metodeihin, jotka ovat kaikkein oleellisimpia auralisoinnin kannalta. 4.1 Java ja Java 3D pähkinänkuoressa Java on Sun Microsystemsin 1990-luvun puolivälissä julkaisema olio-ohjelmointikieli. Javassa pakkaukset koostuvat luokista, joista alustetaan olioita. Kaikki toiminta Javassa on tarkoitettu oliokeskeiseksi. Olion toiminnallisuuksia suoritetaan metodeilla. Java 3D on kaksi pakkausta sisältävä lisäosa J2SE:iin (Java 2 Standard Edition) eli nykyisin käytössä olevaan Javan versioon. Java 3D sisältää luokkia, jotka soveltuvat 3D-grafiikan ja 3D-äänen käsittelyyn korkealla tasolla D-äänen toteuttaminen Java 3D:n luokilla Java 3D:n pakkaus nimeltä javax.media.j3d sisältää noin kymmenkunta luokkaa tai rajapintaa, jotka soveltuvat äänen käsittelyyn. Osaa luokista ja niiden metodeista käytetään 3D-ääniympäristön alustamiseen, osa on laitteistokohtaisten toimintojen suorittamiseen ja osa yleisiä äänenkäsittelyyn liittyviä tominnallisuuksia sisältäviä luokkia tai rajapintoja. 3

4 D-ääniympäristön alustaminen On mahdollista, että Java 3D -sovelluksella on käytettävinään useampia audiolaiteajureita äänen tuottamiseen. Tällöin sovelluksen tulee valita, mitä audiolaiteajuria käytetään äänen renderöintiin. Kun laiteajuri on valittu, sovellus voi lisäksi valita äänitoiston tyypin, josta renderöity ääni tuotetaan ulos. Toistolaite voi olla joko stereokuulokkeet, kaiutin tai kaiutinpari. Toistolaite on fyysisesti liitetty siihen porttiin, johon valittu laiteajuri tuottaa ääntä. Äänitoiston tyypin valinta vaikuttaa siihen, minkälainen äänikuva luodaan. Kun laite on alustettu, selaimen tai sovelluksen tulee rekisteröidä laite. Laiteajurin alustaminen vaaditaan siitä syystä, että Java 3D:n äänenkäsittelyyn liittyvät metodit saattavat olla laiteajuririippuvaisia. Näitä metodikutsuja voidaan siis suorittaa vasta laiteajurin alustamisen jälkeen (Sun, 2002) Äänityypin määrittely Java 3D mahdollistaa kolmen eri äänityypin määrittelyn, joille kullekin on omat luokkansa. Nämä äänityypit ovat pisteääni (PointSound), taustaääni (BackgroundSound) sekä kartioääni (ConeSound). Pisteäänellä tarkoitetaan pistemäistä äänilähdettä, joka sijaitsee avaruudessa ja josta ääniaallot kulkevat samalla tavoin kaikkiin suuntiin tästä avaruudessa sijaitsevasta pisteestä. Äänen amplitudi vaimenee sen mukaan, mikä on kuulijan ja äänilähteen välinen etäisyys. Taustaäänellä tarkoitetaan vaimenematonta ääntä, jolla ei ole avaruudellista sijaintia eikä suuntaa. Kartioäänellä tarkoitetaan sellaista äänilähdettä, joka on suunnattu tietyn avaruudessa olevan vektorin suuntaisesti. Kartioäänilähde vaimenee voimakkuuskertoimien ja suodattimien mukaisesti, siten, että vaimennus perustuu etäisyyden lisäksi äänilähteestä kuulijaan suunnatun vektorin ja kartioäänen suuntavektorien väliseen kulmaan (Sun, 2002) Fyysisen ympäristön määrittely Fyysisen ympäristön määrittelyyn kuuluvat erilaiset audiolaiteajurien ja sensoreiden alustukset ja niiden liittäminen määriteltävänä olevaan fyysiseen ympäristöön. Sensoreiden tarkoitus on kerätä informaatiota keinopäähän ja kehoon liittyen. Sensorit on indeksoitu nollasta eteenpäin ja ne liittyvät pään lisäksi molempiin käsiin (Sun, 2002) Käyttäjän pään määrittely Käyttäjän pään koordinaatiston origo sijaitsee vasemman ja oikean silmän puolivälissä. X-akseli lähtee origosta oikealle (takaraivon takaa katsottaessa), y-akseli lähtee ylöspäin ja z-akseli menee takaraivon taakse. Käyttäjän pään ominaisuuksien määrittelemiseen kuuluu silmien sijainnin ja korvien sijainnin koordinaattien määrittelemisen 4

5 lisäksi silmien korkeuden asettaminen maasta sekä käyttäjän pään origon ja näyttöruudun välisen etäisyyden määrittäminen (Sun, 2002). 4.3 Oleellisimmat luokat ja metodit javax.media.j3d-pakkauksessa Tässä kappaleessa kuvataan niitä Java 3D:n luokkia, jotka ovat oleellisimpia 3D-äänen renderöinnissä ja auralisoinnissa. Kun kappaleessa 4.2 kerrottiin Java 3D -auralisointiin liittyvät asiat yleisellä tasolla, mennään tässä kappaleessa luokka kerrallaan keskittyen luokkien metodeihin ja metodien argumentteihin. Erityisesti pyritään keskittymään niihin luokkiin ja niihin metodeihin, joita välttämättä tarvitaan audiolaiteajurien alustamiseen sekä ääniympäristön mallintamisen ja äänilähteen valintaan. Ehkä tärkeimpänä luokkana auralisoinnissa voidaan pitää AuralAttributes-luokkaa, josta muodostettua oliota tarvitaan Java 3D:ssä ääniympäristön ominaisuuksia mallinnettaessa. AurallAttributes määrittelee ympäristöllisiä ääni parametrejä, kuten kaikuja ja heijastuksia, joita käytetään äänen renderöinnissä AudioDevice3D ja AudioDevice -luokat Sekä AudioDevice3D että AudioDevice ovat niin sanottuja rajapintaluokkia (interface). AudioDevice3D:n metodit eivät ole tarkoitettu sovelluksen kutsuttaviksi, vaan niitä kutsuu Java 3D Sound Scheduler sen jälkeen, kun sovellus on valinnut Audio- Device3D:n, jossa Java 3D ääni renderöidään (Sun, 2002). AudioDevice3D sisältää kolmattakymmentä metodia, joilla voidaan mm. alustaa, käynnistää, lopettaa, tauottaa sekä mykistää ääni ns. sample:na laitteella. Samoin sample:n auraalisia parametreja voidaan asettaa. Esimerkiksi metodi setangularattenuation(int index, int filtertype, double[] angle, float [] attenuationscalefactor, float [] filtercutoff) asettaa äänen kulmallisen voimakkuusvaimennuksen määrittelemällä taulukot, jotka sisältävät kulma-arvot sekä vaimennuskertoimet ja suodattimen määrättyyn tyyppiin liittyvät taulukkoarvot. Vastaavasti metodi setposition(int index, Point3d position) asettaa määrätyn äänilähteen sijainnin. Metodit setreverbdelay(float reverbdelay) ja setvelocityscalefactor(float velocityscalefactor) puolestaan määrittävät kaikuun kuluvaa odotusaikaa sekä Dopplerin ilmiön soveltamiseen käytettävää nopeusskaalauskerrointa (Sun, 2002). AudioDevice-rajapintaluokka määrittelee auidolaitteen ja kapseloi sisäänsä audiolaitteen perusominaisuudet. Audiolaiteajurin valinta tapahtuu PhysicalEnvironmentluokan oliosta, jota kohti voi olla vain yksi audiolaite. Jokainen audiolaiteajuri täytyy 5

6 alustaa ennen kuin Java 3D Sound -metodeja kutsutaan, koska Sound-metodien toteutus on yleisessä tapauksessa laiteajuririippuvainen. Esimerkkejä AudioDevice-luokan metodeista ovat muun muassa void setangleoffsettospeaker(float angle), jolla asetetaan pään Z-akselin ja korvien välisestä keskipisteestä kuulijalle suunnatun vektorin välinen kulma radiaaneina sekä void setcentereartospeaker(float distance), jolla asetetaan kaiuttimen ja korvien välisen keskipisteen etäisyys (Sun, 2002) Soundscape -luokka Soundscape-luokka määrittelee ominaisuuksia ja arvoja, joilla voidaan kuvailla kuulijan ympäristön äänen käyttäytymistä. Näitä ominaisuuksia ovat maiseman kaikuvuus ja muut ympäristölliset ominaisuudet, jotka vaikuttavat äänen renderöintiin äänimaisemassa. Yhteen maisemaan voi liittyä useita erilaisia Soundscape-alueita. Esimerkiksi maiseman yhdessä osassa voi olla laaja avoin alue ja toisessa osassa esim. sankkaa metsää, jossa kaikuu vähemmän. Näin ollen ääni renderöidään eri lailla riippuen siitä, missä osassa maisemaa kuulija itse on. Se, minkä alueen sisällä ympäristössä oleva havainnoija on, määräytyy Java 3D API:n ViewPlatform-luokan oliolla. Luokka sisältää yhdeksän metodia, joilla mm. asetetaan äänimaiseman alueen rajoja sekä Soundscape:een liittyviä auraalisia ominaisuuksia. Esimerkiksi metodilla void setauralattributes(auralattributes attributes) asetetaan Soundscape-oliolle ne auraaliset ominaisuudet, jotka välittyvät tälle metodille argumenttina annettavassa oliossa (Sun, 2002) Sound-luokka Sound-luokka on ns. abstrakti luokka, joka määrittelee kaikille äänilähteille tyypillisiä ominaisuuksia. Luokan suoria alaluokkia ovat luokat BackgroundSound ja Point- Sound. Jokaiseen äänilähteeseen liittyvät viite äänidataan, aplitudin skaalauskerroin sekä muita äänen kuulumiseen ja toistettavuuteen liittyviä tietoja (Sun, 2002) Äänityyppiluokat: BackgroundSound, PointSound sekä ConeSound BackgroundSound ja PointSound luokat ovat abstraktin Sound-luokan suoria aliluokkia. Vastaavasti ConeSound on PointSound-luokan aliluokka. BackgroundSound-luokka ei sisällä äänen käsittelyyn liittyviä metodeja. PointSound-luokan kymmenellä metodilla mm. sijoitetaan äänilähde koordinaatistoon sekä asetetaan äänen vaimenemisominaisuuksia. Konstruktoreja on seitsemän, joista alla esimerkkinä konstruktoreista toinen: 6

7 Kuva 1: Kuvassa aproksimaatio kartioäänilähteen kulmavaimenemisesta. (Sun, 1999) public PointSound(MediaContainer sounddata, float initialgain, float posx, float posy, float posz). ConeSound-luokka määrittelee PointSound-olion, jonka äänilähde on suunnattu tiettyä avaruusvektoria pitkin. ConeSound-luokka sisältää vajaat 20 metodia, joilla käsitellään äänen vaimenemiseen liittyviä ominaisuuksia sekä asetetaan äänilähteen suunnan koordinaatit. Esimerkiksi metodi void setangularattenuation(float [] distance, float [] gain, float [] filter) asettaa kulmavaimennuksen, joka sisältää kulmaetäisyydet, kulmavaimenemisen ja alipäästösuodattimen taajuudet liukulukuarvoina eri taulukoissa, jotka ovat saman kokoisia (Sun, 2002) AuralAttributes-luokka AuralAttributes-luokka sisältää metodeja ja kenttiä, joilla määritellään auraaliset ominaisuudet, jotka välitetään Soundscape-oliolle. Ominaisuudet käsittävät ympäristöllisiä audio parametreja, jotka vaikuttavat äänen renderöintiin. Näihin ominaisuuksiin kuuluvat mm. voimakkuuskertoimet, äänen nopeuteen ilmassa vaikuttavat asiat ja parametrit, jotka kontrolloivat kaikua, etäisyyden taajuussuodatusta sekä nopeuteen perustuvaa Doppler-ilmiötä. Esimerkiksi kaikutyyppejä voidaan mallintaa esimerkiksi määrittelemällä äänen kaiun paluuaika kuulijalle sekä rajoittamalla jälkikaikujen lukumäärää. 7

8 Auralisaatiolla tarkoitetaan ääniympäristön mallintamista, jossa ääni on iteratiivisesti heijastuvaa siltä suljetun alueen pinnoilta, jossa kuulija on. Auralisaation komponentteihin kuuluu eriasteisia heijastuksia sekä kaikuja. Java 3D:n (J3D 1.3) yksinkertaisessa auralisaatio-mallissa on neljä parametriä, jotka aproksimoivat äänen heijastusta ja kaikuja tietyssä kuuntelutilassa (Sun, 2002). Nämä neljä parametriä ovat: 1. heijastuskerroin, joka kertoo heijastusten voimakkuusvaimenemisen kaikilla taajuuksilla 2. kaiun odotusaika, joka ilmaisee kuinka kauan äänen kaiulta kestää saavuttaa kuulija 3. kaikutilan rajat, joka aproksimoi sen alueen tilavuuden, jolla kuuntelija on 4. kaikujärjestys, jolla voidaan tarvittaessa rajoittaa äänen rekursiivisten heijastusten lukumäärää kaikutilassa kaikulaskujen aikana (Sun, 2002). AuralAttributes-luokka sisältää parisenkymmentä metodia, joilla hallitaan yllä mainittuja asioita. Esimerkkinä metodista on Doppler-ilmiön laskennassa käytettävä void setvelocityscalefactor(float velocityscalefactor), jolla voidaan myös liioitella Dopplerin ilmiötä (Sun, 2002) PhysicalEnvironment ja PhysicalBody -luokat PhysicalEnvironment-luokka sisältää metodeja fyysisen ympäristön määrittelyyn. Luokassa on reilu parikymmentä metodia, joilla mm. lisätään ja alustetaan audiolaiteajureita sekä asetetaan sensoreita päähän ja käsiin. Esimerkiksi metodi void setaudiodevice(audiodevice device) asettaa määritetyn AudioDevice-olion siksi laitteeksi, jonka kautta äänen renderöinti tälle PhysicalEnvironment-oliolle tapahtuu. Metodi void setheadindex(int index) puolestaan asettaa pään järjestysnumeron vastaamaan sensorin järjestysnumeroa. PhysicalBody-luokka sisältää käyttäjän pään määritelmät. Luokalla on kolme konstruktoria, joista oletuskonstruktori on argumentiton sisältäen ikään kuin tehdasparametrit käyttäjän päästä. Toinen konstruktoreista antaa mahdollisuudet määritellä koordinaatit vasemmalle ja oikealle silmälle. Kolmas konstruktori antaa silmien sijainnin lisäksi määritellä vasemman ja oikean korvan sijainnin: Physicalbody(Point3d lefteyeposition, Point3D righteyeposition, Point 3D leftearposition, Point3D rightearposition). Luokassa on 15 metodia, jotka kaikki liittyvät silmien ja korvien sijaintiin liittyvien tietojen käsittelyyn sekä käyttäjän pää -koordinaatiston muunnoksiin (Sun, 2002). 8

9 5 DOPPLERIN ILMIÖN TOTEUTTAMINEN JAVA 3D:N AU- DIORAJAPINTAA HYÖDYNTÄEN Dopplerin ilmiöllä äänen yhteydessä tarkoitetaan sitä, kun äänilähteen tai äänen havainnoijan ollessa liikkeessä, havaittu äänen taajuus muuttuu. Mikäli äänilähde ja havainnoija liikkuvat toisiaan kohti, havaittu taajuus kasvaa. Mikäli lähde ja havainnoija etääntyvät toisistaan, taajuus laskee. Asia voidaan ilmaista seuraavalla kaavalla: v±v f =f h l v±v l, jossa f on havaittu taajuus, f l on äänilähteen taajuus, v on äänen nopeus, v h on havaitsijan nopeus ja v l on lähteen nopeus. Java 3D:n audiorajapinta tarjoaa korkean tason menetelmiä Dopplerin ilmiön esittämiseen (Rossing, 1981). 5.1 Doppler-esimerkin tapahtumien kuvailu Doppler-esimerkissä pistemäinen äänilähde liikkuu suoraa pitkin XYZ-koordinaatistossa XY-tasossa äänen havainnoijan ollessa paikallaan. Käytettävä ääninäyte muistuttaa urkupillin ääntä. Liikkuessaan koordinaatistossa pistemäinen äänilähde soittaa ääninäytteen, jolloin äänen havainnoija huomaa hienoisen muutoksen äänen taajuudessa. Lisäksi havaitaan etäisyysvaimeneminen sekä äänen suunta, kun äänilähdettä liikutetaan syvyyssuunnassa. 5.2 Esimerkin toimintaympäristö ja muut vaatimukset Esimerkki vaatii toimiakseen J2SE:n sekä siihen liittyvän Java 3D:n asennettuna. Samoin 3D-äänen kuulemiseen tarvitaan sopivat kuulokkeet tai kaiuttimet ja koneeseen toimiva äänikortti. Esimerkkiä on testattu muun muassa Niksulan O2:lla, joilla on toimiva Java 3D -ympäristö. Käännös tapahtuu komennolla javac Doppler.java ja sovelluksen ajaminen komennolla java -green Doppler Ehdottoman tärkeää Niksulan O2:lla testattaessa on käyttää parametriä -green, koska ilman ns. green threadien käyttöä ohjelma kaatuu välittömästi ajon aikana. 5.3 Java 3D:n Dopplerin ilmiöön liittyvät metodit ja alustukset Tärkeimmät metodit Dopplerin ilmiön toteuttamisen kannalta Java 3D:ssä ovat AuralAttributes-luokan metodit setfrequencyscalefactor(float frequencyscalefactor) ja setvelocityscalefactor(float velocityscalefactor). frequencyscalefactor joka painottaa tai vaimentaa Doppler-ilmiötä VelocityScaleFactor on oltava muu kuin 0, koska 9

10 0 poistaa Doppler ilmiön käytöstä. Sopivia arvoja lienee 3 ja 3, jolloin molemmat ovat kolminkertaiset normaaliin fysikaaliseen Dopplerin-ilmiöön nähden, joten vaikutus on selvästi havaittavissa. Seuraavat auralisaatioon liittyvät alustukset tulee vähintään tehdä Java 3D:ssä Dopplerin ilmiön esittämiseksi. auraalisten ominaisuuksien asettaminen AuralAttributes dattributes = new AuralAttributes( ); /** * Asetetaan äänen taajuudesta johtuvan * Dopplerin ilmiön vaikutus kaksinkertaiseksi. * Nopeusskaalauskerroin 1 vastaa reaalimaailman * tilanneta. */ dattributes.setfrequencyscalefactor(2.0f); dattributes.setvelocityscalefactor(1.0f); SoundScape:n luominen Soundscape dscape = new Soundscape( ); dscape.setauralattributes(dattributes); sovelluksen tilarajojen asettaminen BoundingSphere dbounds = new BoundingSphere(new Point3d( ),500.0); dscape.setapplicationbounds( dbounds ); 6 Yhteenveto Java 3D tarjoaa monipuoliset välineet 3D-äänenkäsittelyyn. Äänenkäsittelyyn liittyvät luokat ja metodit ovat hyvin dokumentoituja, joskin niiden ymmärtämiseen ja soveltamiseen täytyy varata runsaasti aikaa. Äänilähteen, ääniympäristön ja kuulijan päähän liittyvät ominaisuudet ovat pitkälti parametrisoitu, joten halutut auraaliset ominaisuudet voidaan valita joiltain osin hyvinkin tarkkaan. Erityisesti erilaiset vaimenemiset, kaiut ja äänen suuntaavuuteen liittyvät arvot ovat tarkkaan valittavissa. Java 3D tarjoaa myös erikoisesti Dopplerin ilmiön esittämiseen liittyviä korkean tason metodeja. Ääniympäristön kaiku-, vaimenemis- ja suodatusominaisuuksien testaaminen onnistuu suhteellisen helposti ja yksinkertaisella koodilla. Erilaisia konkreettisia ääniympäristöjä, kuten kylpyhuonetta, autotallia ja vankityrmää kyetään mallintamaan äänen heijastus- ja kaikuparametrejä muuttamalla. Korvakuulokkeilla ääninäytteitä kuulemalla havaitaan selvät taajuusmuutokset sekä kaikuja. Dopplerin ilmiön simuloiminen osoittautui astetta vaikeammaksi kuin erilaisten akustisten tilojen yksinkertainen mallinnus. Huomioon tuli ottaa äänilähteen liikkuminen ja fyysisen tilan mallintaminen siten, että äänilähde liikkui järkevästi tilan sisällä. Samoin ongelmaksi muodostui erottaa itse akustisesta tilasta johtuvat heijastukset, 10

11 vaimenemiset ja suodatukset siitä äänen taajuuden muutoksesta, joka johtui puhtaasti Dopplerin-ilmiöstä. Dopplerin ilmiötä liioiteltaessa saatiin lopulta kuitenkin vakuuttavaa näyttöä siitä, että se toimii; äänessä kuitenkin esiintyi ajoittain säröjä, joiden syitä ei pystytty selvittämään. Teorian ymmärtämisen lisäksi 3D-äänimaiseman luominen Java 3D:llä vaatii riittävää ohjelmointitaitoa ja perinpohjaista tutustumista Java 3D API:iin 3D-ääniluokkien osalta. Helposti joku monista huomioon otettavista asioista ääniympäristön alustuksessa unohtuu, joten seurauksena on se, että mitään ääntä ei kuulu, vaikka koodi muuten näyttää toimivan moitteetta. Erityisesti Dopplerin ilmiötä testattaessa on varmistuttava siitä, että velocityscalefactor ei ole 0. Parametrien säätämistä joutuu kuitenkin tekemään käsin sekä yrityksen ja erehdyksen kautta, joten riittävää kärsivällisyyttä ja aikaa tarvitaan hiemankin monimutkaisemman 3D-ääniympäristön auralisointiin. Akustiikan perusteiden hallitsemisesta on apua. VIITTEET Hypermedialaboratorio Tampereen yliopisto Musiikkiteoriaa. Musiikkitutkimuksen laitos. [viitattu ]. Maijala Panu Tulevaisuuden audiovisuaalinen viihdepalvelu koteihin. Sähkö- ja tietoliikennetekniikan osasto, TKK. [viitattu ]. Manninen Tony Luentorunko osa 4: Kuuloaisti, äänenkäsittelytekniikat. Tony Manninen. [viitattu ]. Rossing Thomas D The Science Of Sound. Addison-Wesley. Savioja Lauri; Huopaniemi Jyri; Lokki Tapio; Väänänen Riitta Creating Interactive Virtual Acoustic Environments. Audio Engineering Society, Inc. Sun Microsystems (ed) Java 3D API Specification. Sun Microsystems. [viitattu ]. Sun Microsystems (ed) Java 3D API < [viitattu ]. Sun Microsystems. Java 3D API. 11

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä

Lisätiedot

1 Tehtävän kuvaus ja analysointi

1 Tehtävän kuvaus ja analysointi Olio-ohjelmoinnin harjoitustyön dokumentti Jyri Lehtonen (72039) Taneli Tuovinen (67160) 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee luokka, jolla mallinnetaan sarjaan kytkettyjä kondensaattoreita.

Lisätiedot

2.1 Ääni aaltoliikkeenä

2.1 Ääni aaltoliikkeenä 2. Ääni Äänen tutkimusta kutsutaan akustiikaksi. Akustiikassa tutkitaan äänen tuottamista, äänen ominaisuuksia, soittimia, musiikkia, puhetta, äänen etenemistä ja kuulemisen fysiologiaa. Ääni kuljettaa

Lisätiedot

Olio-ohjelmointi Javalla

Olio-ohjelmointi Javalla 1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi

Lisätiedot

4. Luokan testaus ja käyttö olion kautta 4.1

4. Luokan testaus ja käyttö olion kautta 4.1 4. Luokan testaus ja käyttö olion kautta 4.1 Olion luominen luokasta Java-kielessä olio määritellään joko luokan edustajaksi tai taulukoksi. Olio on joukko keskusmuistissa olevia tietoja. Oliota käsitellään

Lisätiedot

Ota tämä paperi mukaan, merkkaa siihen omat vastauksesi ja tarkista oikeat vastaukset klo 11:30 jälkeen osoitteesta

Ota tämä paperi mukaan, merkkaa siihen omat vastauksesi ja tarkista oikeat vastaukset klo 11:30 jälkeen osoitteesta MAA5.2 Loppukoe 26.9.2012 Jussi Tyni Valitse 6 tehtävää Muista merkitä vastauspaperiin oma nimesi ja tee etusivulle pisteytysruudukko Kaikkiin tehtävien ratkaisuihin välivaiheet näkyviin! 1. Olkoon vektorit

Lisätiedot

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int

Lisätiedot

Kuulohavainnon perusteet

Kuulohavainnon perusteet Kuulohavainnon ärsyke on ääni - mitä ääni on? Kuulohavainnon perusteet - Ääni on ilmanpaineen nopeaa vaihtelua: Tai veden tms. Markku Kilpeläinen Käyttäytymistieteiden laitos, Helsingin yliopisto Värähtelevä

Lisätiedot

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.

Lisätiedot

Sisällys. Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2

Sisällys. Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2 6. Metodit 6.1 Sisällys Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2 Oliot viestivät metodeja kutsuen Olio-ohjelmoinnissa ohjelma

Lisätiedot

Taulukot. Jukka Harju, Jukka Juslin 2006 1

Taulukot. Jukka Harju, Jukka Juslin 2006 1 Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti

Lisätiedot

Rajapinta (interface)

Rajapinta (interface) 1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä

Lisätiedot

RYHMÄKERROIN ÄÄNILÄHDERYHMÄN SUUNTAAVUUDEN

RYHMÄKERROIN ÄÄNILÄHDERYHMÄN SUUNTAAVUUDEN ÄÄNILÄHDERYHMÄN SUUNTAAVUUDEN ARVIOINNISSA Seppo Uosukainen, Jukka Tanttari, Heikki Isomoisio, Esa Nousiainen, Ville Veijanen, Virpi Hankaniemi VTT PL, 44 VTT etunimi.sukunimi@vtt.fi Wärtsilä Finland Oy

Lisätiedot

MAA4 Abittikokeen vastaukset ja perusteluja 1. Määritä kuvassa olevien suorien s ja t yhtälöt. Suoran s yhtälö on = ja suoran t yhtälö on = + 2. Onko väittämä oikein vai väärin? 2.1 Suorat =5 +2 ja =5

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

Rajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi.

Rajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi. 11. Rajapinnat 11.1 Sisällys Johdanto. Abstrakti luokka vai rajapinta? Rajapintojen hyötyjä. Kuinka rajapinnat määritellään ja otetaan käyttöön? Eläin, nisäkäs, kissa ja rajapinta. Moniperiytyminen rajapintojen

Lisätiedot

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++? JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,

Lisätiedot

KOLMIULOTTEISEN TILAN AKUSTIIKAN MALLINTAMINEN KAKSIULOTTEISIA AALTOJOHTOVERKKOJA KÄYTTÄEN

KOLMIULOTTEISEN TILAN AKUSTIIKAN MALLINTAMINEN KAKSIULOTTEISIA AALTOJOHTOVERKKOJA KÄYTTÄEN KOLMIULOTTEISEN TILAN AKUSTIIKAN MALLINTAMINEN KAKSIULOTTEISIA AALTOJOHTOVERKKOJA KÄYTTÄEN Antti Kelloniemi 1, Vesa Välimäki 2 1 Tietoliikenneohjelmistojen ja multimedian laboratorio, PL 5, 15 TKK, antti.kelloniemi@tkk.fi

Lisätiedot

Kuvalähdemenetelmä. Paul Kemppi TKK, Tietoliikenneohjelmistojen ja Multimedian Laboratorio. pkemppi@cc.hut.fi. Tiivistelmä

Kuvalähdemenetelmä. Paul Kemppi TKK, Tietoliikenneohjelmistojen ja Multimedian Laboratorio. pkemppi@cc.hut.fi. Tiivistelmä Kuvalähdemenetelmä Paul Kemppi TKK, Tietoliikenneohjelmistojen ja Multimedian Laboratorio pkemppi@cc.hut.fi Tiivistelmä Tämä paperi käsittelee huoneakustiikan mallinnuksessa yleisesti käytetyn kuvalähdemenetelmän

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

Akustiikka ja toiminta

Akustiikka ja toiminta Akustiikka ja toiminta Äänitiede on kutsumanimeltään akustiikka. Sana tulee Kreikan kielestä akoustos, joka tarkoittaa samaa kuin kuulla. Tutkiessamme värähtelyjä ja säteilyä, voimme todeta että värähtely

Lisätiedot

Tapio Lokki, Sakari Tervo, Jukka Pätynen ja Antti Kuusinen Aalto-yliopisto, Mediatekniikan laitos PL 15500, 00076 AALTO etunimi.sukunimi@aalto.

Tapio Lokki, Sakari Tervo, Jukka Pätynen ja Antti Kuusinen Aalto-yliopisto, Mediatekniikan laitos PL 15500, 00076 AALTO etunimi.sukunimi@aalto. MUSIIKKITALON ISON KONSERTTISALIN AKUSTIIKKA Tapio Lokki, Sakari Tervo, Jukka Pätynen ja Antti Kuusinen Aalto-yliopisto, Mediatekniikan laitos PL 1, 76 AALTO etunimi.sukunimi@aalto.fi Tiivistelmä Musiikkitalo

Lisätiedot

9. Vektorit. 9.1 Skalaarit ja vektorit. 9.2 Vektorit tasossa

9. Vektorit. 9.1 Skalaarit ja vektorit. 9.2 Vektorit tasossa 9. Vektorit 9.1 Skalaarit ja vektorit Skalaari on koon tai määrän mitta. Tyypillinen esimerkki skalaarista on massa. Lukumäärä on toinen hyvä esimerkki skalaarista. Vektorilla on taas suuruus ja suunta.

Lisätiedot

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4) 2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi

Lisätiedot

THE audio feature: MFCC. Mel Frequency Cepstral Coefficients

THE audio feature: MFCC. Mel Frequency Cepstral Coefficients THE audio feature: MFCC Mel Frequency Cepstral Coefficients Ihmiskuulo MFCC- kertoimien tarkoituksena on mallintaa ihmiskorvan toimintaa yleisellä tasolla. Näin on todettu myös tapahtuvan, sillä MFCC:t

Lisätiedot

Mikrofonien toimintaperiaatteet. Tampereen musiikkiakatemia Studioäänittäminen Klas Granqvist

Mikrofonien toimintaperiaatteet. Tampereen musiikkiakatemia Studioäänittäminen Klas Granqvist Mikrofonien toimintaperiaatteet Tampereen musiikkiakatemia Studioäänittäminen Klas Granqvist Mikrofonien luokittelu Sähköinen toimintaperiaate Akustinen toimintaperiaate Suuntakuvio Herkkyys Taajuusvaste

Lisätiedot

Ääni, akustiikka Lähdemateriaali: Rossing. (1990). The science of sound. Luvut 2-4, 23.

Ääni, akustiikka Lähdemateriaali: Rossing. (1990). The science of sound. Luvut 2-4, 23. Ääni, akustiikka Lähdemateriaali: Rossing. (1990). The science of sound. Luvut 2-4, 23. Sisältö: 1. Johdanto 2. Värähtelevät järjestelmät 3. Aallot 4. Resonanssi 5. Huoneakustiikka 1 Johdanto Sanaa akustiikka

Lisätiedot

T740103 Olio-ohjelmointi Osa 5: Periytyminen ja polymorfismi Jukka Jauhiainen OAMK Tekniikan yksikkö 2010

T740103 Olio-ohjelmointi Osa 5: Periytyminen ja polymorfismi Jukka Jauhiainen OAMK Tekniikan yksikkö 2010 12. Periytyminen Johdantoa Käytännössä vähänkään laajemmissa ohjelmissa joudutaan laatimaan useita luokkia, joiden pitäisi pystyä välittämään tietoa toisilleen. Ohjelmien ylläpidon kannalta olisi lisäksi

Lisätiedot

SAVONLINNASALI, KOY WANHA KASINO, KONSERTTISALIN AKUSTIIKKA. Yleistä. Konserttisali

SAVONLINNASALI, KOY WANHA KASINO, KONSERTTISALIN AKUSTIIKKA. Yleistä. Konserttisali INSINÖÖRITOIMISTO HEIKKI HELIMÄKI OY Akustiikan asiantuntija puh. 09-58933860, fax 09-58933861 1 SAVONLINNASALI, KOY WANHA KASINO, KONSERTTISALIN AKUSTIIKKA Yleistä Konserttisali Helsinki 19.5.2003 Konserttisalin

Lisätiedot

Kuva 1. Mallinnettavan kuormaajan ohjaamo.

Kuva 1. Mallinnettavan kuormaajan ohjaamo. KUORMAAJAN OHJAAMON ÄÄNIKENTÄN MALLINNUS KYTKETYLLÄ ME- NETELMÄLLÄ Ari Saarinen, Seppo Uosukainen VTT, Äänenhallintajärjestelmät PL 1000, 0044 VTT Ari.Saarinen@vtt.fi, Seppo.Uosukainen@vtt.fi 1 JOHDANTO

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat Rajapinnat Java-kieli ei tue luokkien moniperintää. Jokaisella luokalla voi olla vain yksi välitön yliluokka. Toisinaan olisi

Lisätiedot

Ultraäänen kuvausartefaktat. UÄ-kuvantamisen perusoletukset. Outi Pelkonen OYS, Radiologian Klinikka 29.4.2005

Ultraäänen kuvausartefaktat. UÄ-kuvantamisen perusoletukset. Outi Pelkonen OYS, Radiologian Klinikka 29.4.2005 Ultraäänen kuvausartefaktat Outi Pelkonen OYS, Radiologian Klinikka 29.4.2005 kaikissa radiologisissa kuvissa on artefaktoja UÄ:ssä artefaktat ovat kaikuja, jotka näkyvät kuvassa, mutta eivät vastaa sijainniltaan

Lisätiedot

3 Ääni ja kuulo. Ihmiskorva aistii paineen vaihteluita, joten yleensä äänestä puhuttaessa määritellään ääniaalto paineen vaihteluiden kautta.

3 Ääni ja kuulo. Ihmiskorva aistii paineen vaihteluita, joten yleensä äänestä puhuttaessa määritellään ääniaalto paineen vaihteluiden kautta. 3 Ääni ja kuulo 1 Mekaanisista aalloista ääni on ihmisen kannalta tärkein. Ääni on pitkittäistä aaltoliikettä, eli ilman (tai muun väliaineen) hiukkaset värähtelevät suuntaan joka on sama kuin aallon etenemissuunta.

Lisätiedot

7. Näytölle tulostaminen 7.1

7. Näytölle tulostaminen 7.1 7. Näytölle tulostaminen 7.1 Sisällys System.out.println- ja System.out.print-operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden muotoilua. 7.2 Tulostusoperaatiot System.out.println-operaatio

Lisätiedot

7/20: Paketti kasassa ensimmäistä kertaa

7/20: Paketti kasassa ensimmäistä kertaa Ohjelmointi 1 / syksy 2007 7/20: Paketti kasassa ensimmäistä kertaa Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007

Lisätiedot

3.1.2013 LUT CS20A0650 Meluntorjunta juhani.kuronen@lut.fi 1. Tsunamin synty. 3.1.2013 LUT CS20A0650 Meluntorjunta juhani.kuronen@lut.

3.1.2013 LUT CS20A0650 Meluntorjunta juhani.kuronen@lut.fi 1. Tsunamin synty. 3.1.2013 LUT CS20A0650 Meluntorjunta juhani.kuronen@lut. Akustiikan perussuureita, desibelit. 3.1.2013 LUT CS20A0650 Meluntorjunta juhani.kuronen@lut.fi 1 Tsunamin synty 3.1.2013 LUT CS20A0650 Meluntorjunta juhani.kuronen@lut.fi 2 1 Tasoaallon synty 3.1.2013

Lisätiedot

Kuvalähdemenetelmä. Niko Lindgren HUT, Telecommunications Software and Multimedia Laboratory. nlindgre@cc.hut.fi. Tiivistelmä

Kuvalähdemenetelmä. Niko Lindgren HUT, Telecommunications Software and Multimedia Laboratory. nlindgre@cc.hut.fi. Tiivistelmä Kuvalähdemenetelmä Niko Lindgren HUT, Telecommunications Software and Multimedia Laboratory nlindgre@cc.hut.fi Tiivistelmä Tässä seminaarityössä olen tutkinut kuvalähdemenetelmää, jota käytetään huoneakustiikan

Lisätiedot

Lineaarialgebra MATH.1040 / voima

Lineaarialgebra MATH.1040 / voima Lineaarialgebra MATH.1040 / voima 1 Seuraavaksi määrittelemme kaksi vektoreille määriteltyä tuloa; pistetulo ja. Määritelmät ja erilaiset tulojen ominaisuudet saattavat tuntua, sekavalta kokonaisuudelta.

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 8 1 Suunnattu derivaatta Aluksi tarkastelemme vektoreita, koska ymmärrys vektoreista helpottaa alla olevien asioiden omaksumista. Kun liikutaan tasossa eli avaruudessa

Lisätiedot

Sisällys. 11. Rajapinnat. Johdanto. Johdanto

Sisällys. 11. Rajapinnat. Johdanto. Johdanto Sisällys 11. ajapinnat. bstrakti luokka vai rajapinta? ajapintojen hyötyjä. Kuinka rajapinnat määritellään ja otetaan käyttöön? Eläin, nisäkäs, kissa ja rajapinta. Moniperiytyminen rajapintojen avulla.

Lisätiedot

JWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari

JWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari JWT 2016 luento 11 to 21.4.2016 klo 14-15 Aulikki Hyrskykari PinniB 1097 1 Viime luennolla o AJAX ja JSON, harjoitustyön tehtävänanto, vierailuluento avoimesta datasta Tänään o APIt rajapinnoista yleisesti

Lisätiedot

HUONEAKUSTIIKAN MALLINNUS VIRTUAALISELLA AALTOKENT- TÄSYNTEESILLÄ 1 JOHDANTO 2 VIRTUAALISEN AALTOKENTTÄSYNTEESIN TEORIA

HUONEAKUSTIIKAN MALLINNUS VIRTUAALISELLA AALTOKENT- TÄSYNTEESILLÄ 1 JOHDANTO 2 VIRTUAALISEN AALTOKENTTÄSYNTEESIN TEORIA HUONEAKUSTIIKAN MALLINNUS VIRTUAALISELLA AALTOKENT- TÄSYNTEESILLÄ Samuel Siltanen ja Tapio Lokki Teknillinen korkeakoulu, Mediatekniikan laitos PL 50, 02015 TKK Samuel.Siltanen@tml.hut.fi 1 JOHDANTO Huoneakustiikan

Lisätiedot

2.2 Ääni aaltoliikkeenä

2.2 Ääni aaltoliikkeenä 2.1 Äänen synty Siirrymme tarkastelemaan akustiikkaa eli äänioppia. Ääni on ilman tai nesteen paineen vaihteluita (pitkittäistä aaltoliikettä). Kiinteissä materiaaleissa ääni voi edetä poikittaisena aaltoliikkeenä.

Lisätiedot

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty

Lisätiedot

Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.

Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei. Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi lötköjen kansoittamaa alkulimaa simuloiva olioperustainen ohjelma Java-kielellä. Lötköt säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti

Lisätiedot

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen Sisällys 6. Metodit Oliot viestivät metodeja kutsuen. Kuormittaminen. Luokkametodit (ja -attribuutit).. Metodien ja muun luokan sisällön järjestäminen. 6.1 6.2 Oliot viestivät metodeja kutsuen Oliot viestivät

Lisätiedot

Mitä tulisi huomioida ääntä vaimentavia kalusteita valittaessa?

Mitä tulisi huomioida ääntä vaimentavia kalusteita valittaessa? Mitä tulisi huomioida ääntä vaimentavia kalusteita valittaessa? Kun seinät katoavat ja toimistotila avautuu, syntyy sellaisten työpisteiden tarve, joita voi kutsua tilaksi tilassa. Siirrettävillä väliseinillä

Lisätiedot

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa(); Sisällys 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden käsittelyä: sijoitus, vertailu ja varautuminen null-arvoon. Viite metodin paluuarvona.. 7.1 7.2 Olio

Lisätiedot

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana Muilla kielillä: English Suomi Pong-peli, vaihe 3 Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana Jaetaan ohjelma pienempiin palasiin (aliohjelmiin) Lisätään peliin maila (jota ei voi vielä

Lisätiedot

havainnollistaa Dopplerin ilmiötä ja interferenssin aiheuttamaa huojuntailmiötä

havainnollistaa Dopplerin ilmiötä ja interferenssin aiheuttamaa huojuntailmiötä FYSP0 / K3 DOPPLERIN ILMIÖ Työn tavoitteita havainnollistaa Dopplerin ilmiötä ja interferenssin aiheuttamaa huojuntailmiötä harjoitella mittausarvojen poimimista Capstonen kuvaajalta sekä kerrata maksimiminimi

Lisätiedot

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA: REFAKTOROINTI 2 (9) SEPA: REFAKTOROINTI 3 (9) VERSIOHISTORIA Version Date Author Description 0.1 2.12.2005 Erik Hakala Ensimmäinen

Lisätiedot

Mikä yhteyssuhde on?

Mikä yhteyssuhde on? 1 Yhteyssuhde Mikä yhteyssuhde on? Yhteyssuhde Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä yhteyssuhde on? Tili - : String - : double * 1 Asiakas - hetu: String - : String

Lisätiedot

Pong-peli, vaihe Koordinaatistosta. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana

Pong-peli, vaihe Koordinaatistosta. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana Muilla kielillä: English Suomi Pong-peli, vaihe 2 Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana Laitetaan pallo liikkeelle Tehdään kentälle reunat Vaihdetaan kentän taustaväri Zoomataan

Lisätiedot

ÄÄNTÄ VAHVISTAVAT OLOSUHDETEKIJÄT. Erkki Björk. Kuopion yliopisto PL 1627, 70211 Kuopion erkki.bjork@uku.fi 1 JOHDANTO

ÄÄNTÄ VAHVISTAVAT OLOSUHDETEKIJÄT. Erkki Björk. Kuopion yliopisto PL 1627, 70211 Kuopion erkki.bjork@uku.fi 1 JOHDANTO ÄÄNTÄ VAHVISTAVAT OLOSUHDETEKIJÄT Erkki Björk Kuopion yliopisto PL 1627, 7211 Kuopion erkki.bjork@uku.fi 1 JOHDANTO Melun vaimeneminen ulkoympäristössä riippuu sää- ja ympäristöolosuhteista. Tärkein ääntä

Lisätiedot

Organization of (Simultaneous) Spectral Components

Organization of (Simultaneous) Spectral Components Organization of (Simultaneous) Spectral Components ihmiskuulo yrittää ryhmitellä ja yhdistää samasta fyysisestä lähteestä tulevat akustiset komponentit yhdistelyä tapahtuu sekä eri- että samanaikaisille

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

TL5503 DSK, laboraatiot (1.5 op) Suodatus 1 (ver 1.0) Jyrki Laitinen

TL5503 DSK, laboraatiot (1.5 op) Suodatus 1 (ver 1.0) Jyrki Laitinen TL5503 DSK, laboraatiot (1.5 op) Suodatus 1 (ver 1.0) Jyrki Laitinen TL5503 DSK, laboraatiot (1.5 op), K2005 1 Suorita oheisten ohjeiden mukaiset tehtävät Matlab-ohjelmistoa käyttäen. Kokoa erilliseen

Lisätiedot

3 Suorat ja tasot. 3.1 Suora. Tässä luvussa käsitellään avaruuksien R 2 ja R 3 suoria ja tasoja vektoreiden näkökulmasta.

3 Suorat ja tasot. 3.1 Suora. Tässä luvussa käsitellään avaruuksien R 2 ja R 3 suoria ja tasoja vektoreiden näkökulmasta. 3 Suorat ja tasot Tässä luvussa käsitellään avaruuksien R 2 ja R 3 suoria ja tasoja vektoreiden näkökulmasta. 3.1 Suora Havaitsimme skalaarikertolaskun tulkinnan yhteydessä, että jos on mikä tahansa nollasta

Lisätiedot

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen

Lisätiedot

Oliot viestivät metodeja kutsuen

Oliot viestivät metodeja kutsuen 6. Metodit 6.1 Sisällys Oliot viestivät metodeja kutsuen. Kuormittaminen. Luokkametodit (ja -attribuutit). Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2 Oliot viestivät metodeja kutsuen

Lisätiedot

15. Ohjelmoinnin tekniikkaa 15.1

15. Ohjelmoinnin tekniikkaa 15.1 15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Geneerinen ohjelmointi. Lueteltu tyyppi enum. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien silmukoimiseen:

Lisätiedot

Javan perusteita. Janne Käki

Javan perusteita. Janne Käki Javan perusteita Janne Käki 20.9.2006 Muutama perusasia Tietokone tekee juuri (ja vain) sen, mitä käsketään. Tietokone ymmärtää vain syntaksia (sanojen kirjoitusasua), ei semantiikkaa (sanojen merkitystä).

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

Mono- ja stereoääni Stereoääni

Mono- ja stereoääni Stereoääni 1 Mitä ääni on? Olet ehkä kuulut puhuttavan ääniaalloista, jotka etenevät ilmassa näkymättöminä. Ääniaallot käyttäytyvät meren aaltojen tapaan. On suurempia aaltoja, jotka ovat voimakkaampia kuin pienet

Lisätiedot

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista.

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista. 1 Luokka Murtoluku uudelleen Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista. Sievennettäessä tarvitaan osoittajan ja nimittäjän suurin yhteinen tekijä (syt).

Lisätiedot

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on 13 Pistetulo Avaruuksissa R 2 ja R 3 on totuttu puhumaan vektorien pituuksista ja vektoreiden välisistä kulmista. Kuten tavallista, näiden käsitteiden yleistäminen korkeampiulotteisiin avaruuksiin ei onnistu

Lisätiedot

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.

Lisätiedot

Äänen eteneminen ja heijastuminen

Äänen eteneminen ja heijastuminen Äänen ominaisuuksia Ääni on ilmamolekyylien tihentymiä ja harventumia. Aaltoliikettä ja värähtelyä. Värähtelevä kappale synnyttää ääntä. Pistemäinen äänilähde säteilee pallomaisesti ilman esteitä. Käytännössä

Lisätiedot

Harjoitustehtävät ja ratkaisut viikolle 48

Harjoitustehtävät ja ratkaisut viikolle 48 Harjoitustehtävät ja ratkaisut viikolle 48 1. Tehtävä on jatkoa aiemmalle tehtävälle viikolta 42, missä piti suunnitella älykodin arkkitehtuuri käyttäen vain ennalta annettua joukkoa ratkaisuja. Tämäkin

Lisätiedot

812341A Olio-ohjelmointi Peruskäsitteet jatkoa

812341A Olio-ohjelmointi Peruskäsitteet jatkoa 812341A Olio-ohjelmointi 2106 Peruskäsitteet jatkoa Luokkakohtaiset piirteet n Yhteisiä kaikille saman luokan olioille n Liittyvät luokkaan, eivät yksittäiseen olioon n Kaikki ko. luokan oliot voivat käyttää

Lisätiedot

Kojemeteorologia. Sami Haapanala syksy 2013. Fysiikan laitos, Ilmakehätieteiden osasto

Kojemeteorologia. Sami Haapanala syksy 2013. Fysiikan laitos, Ilmakehätieteiden osasto Kojemeteorologia Sami Haapanala syksy 2013 Fysiikan laitos, Ilmakehätieteiden osasto Datan käsittely ja tallentaminen Käytännössä kaikkien mittalaitteiden ensisijainen signaali on analoginen Jotta tämä

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

12. Monimuotoisuus 12.1

12. Monimuotoisuus 12.1 12. Monimuotoisuus 12.1 Sisällys Johdanto. Periytymismekanismi määrittää alityypityksen. Viitteiden sijoitus ja vertailu. Staattinen ja dynaaminen luokka. Myöhäinen ja aikainen sidonta. Parametrinvälitys

Lisätiedot

SGN-4200 Digitaalinen audio

SGN-4200 Digitaalinen audio SGN-4200 Digitaalinen audio Luennot, kevät 2013, periodi 4 Anssi Klapuri Tampereen teknillinen yliopisto Kurssin tavoite Johdanto 2! Tarjota tiedot audiosignaalinkäsittelyn perusteista perusoperaatiot,

Lisätiedot

REUNAEHTOJEN TOTEUTUSTAPOJA AALTOJOHTOVERKOSSA

REUNAEHTOJEN TOTEUTUSTAPOJA AALTOJOHTOVERKOSSA Antti Kelloniemi, Lauri Savioja Teknillinen Korkeakoulu Tietoliikenneohjelmistojen ja multimedian laboratorio PL 54, 215 TKK antti.kelloniemi@hut.fi, lauri.savioja@hut.fi 1 JOHDANTO Aaltojohtoverkko (digital

Lisätiedot

Realtek HD Audiohallinta Käyttäjän opas Vistakäyttöjärjestelmälle

Realtek HD Audiohallinta Käyttäjän opas Vistakäyttöjärjestelmälle Käyttäjän opas Vistakäyttöjärjestelmälle 27. helmikuuta 2008 Tekijänoikeuden omistaa Realtek Semiconductor 2008 Sisällysluettelo Sisällysluettelo A. ALOITTAMINEN...4 B. ESITTELY...7 1. LIITÄNNÄT JA LAITTEET...8

Lisätiedot

20 Kollektorivirta kun V 1 = 15V 10. 21 Transistorin virtavahvistus 10. 22 Transistorin ominaiskayrasto 10. 23 Toimintasuora ja -piste 10

20 Kollektorivirta kun V 1 = 15V 10. 21 Transistorin virtavahvistus 10. 22 Transistorin ominaiskayrasto 10. 23 Toimintasuora ja -piste 10 Sisältö 1 Johda kytkennälle Theveninin ekvivalentti 2 2 Simuloinnin ja laskennan vertailu 4 3 V CE ja V BE simulointituloksista 4 4 DC Sweep kuva 4 5 R 2 arvon etsintä 5 6 Simuloitu V C arvo 5 7 Toimintapiste

Lisätiedot

Tekijä Pitkä matematiikka Suoran pisteitä ovat esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4).

Tekijä Pitkä matematiikka Suoran pisteitä ovat esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4). Tekijä Pitkä matematiikka 4 9.12.2016 212 Suoran pisteitä ovat esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4). Vastaus esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4) 213 Merkitään pistettä

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia. Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka

Lisätiedot

Automaattinen regressiotestaus ilman testitapauksia. Pekka Aho, VTT Matias Suarez, F-Secure

Automaattinen regressiotestaus ilman testitapauksia. Pekka Aho, VTT Matias Suarez, F-Secure Automaattinen regressiotestaus ilman testitapauksia Pekka Aho, VTT Matias Suarez, F-Secure 2 Mitä on regressiotestaus ja miksi sitä tehdään? Kun ohjelmistoon tehdään muutoksia kehityksen tai ylläpidon

Lisätiedot

Pong-peli, vaihe Aliohjelmakutsu laskureita varten. 2. Laskurin luominen. Muilla kielillä: English Suomi

Pong-peli, vaihe Aliohjelmakutsu laskureita varten. 2. Laskurin luominen. Muilla kielillä: English Suomi Muilla kielillä: English Suomi Pong-peli, vaihe 7 Tässä vaiheessa lisäämme peliin pistelaskun. Pong-pelissä pelaaja saa pisteen kun pallo ohittaa toisen pelaajan mailan. 1. Aliohjelmakutsu laskureita varten

Lisätiedot

812341A Olio-ohjelmointi, IX Olioiden välisistä yhteyksistä

812341A Olio-ohjelmointi, IX Olioiden välisistä yhteyksistä 2016 IX Olioiden välisistä yhteyksistä Sisältö 1. Johdanto 2. Kytkentä 3. Koheesio 4. Näkyvyydestä 2 Johdanto n Ohjelmassa syntyy kytkentöjä olioiden välille Toivottuja ja epätoivottuja n Näkyvyys vaikuttaa

Lisätiedot

1. Perusteita. 1.1. Äänen fysiikkaa. Ääniaalto. Aallonpituus ja amplitudi. Taajuus (frequency) Äänen nopeus

1. Perusteita. 1.1. Äänen fysiikkaa. Ääniaalto. Aallonpituus ja amplitudi. Taajuus (frequency) Äänen nopeus 1. Perusteita 1. Äänen fysiikkaa 2. Psykoakustiikka 3. Äänen syntetisointi 4. Samplaus ja kvantisointi 5. Tiedostoformaatit 1.1. Äänen fysiikkaa ääni = väliaineessa etenevä mekaaninen värähtely (aaltoliike),

Lisätiedot

2. Olio-ohjelmoinista lyhyesti 2.1

2. Olio-ohjelmoinista lyhyesti 2.1 2. Olio-ohjelmoinista lyhyesti 2.1 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen. 2.2 Yleistä Olio-ohjelmointia käsitellään hyvin

Lisätiedot

Määrittelydokumentti

Määrittelydokumentti Määrittelydokumentti Aineopintojen harjoitustyö: Tietorakenteet ja algoritmit (alkukesä) Sami Korhonen 014021868 sami.korhonen@helsinki. Tietojenkäsittelytieteen laitos Helsingin yliopisto 23. kesäkuuta

Lisätiedot

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä muuttujia ja vakioita. Esittely

Lisätiedot

Surround. Äänitys ja miksaus LFE-kanava 5.1. Mitä tarvitaan? 5 pääkaiutinta aktiivikaiuttimet passiivikaiuttimet + surround-vahvistin

Surround. Äänitys ja miksaus LFE-kanava 5.1. Mitä tarvitaan? 5 pääkaiutinta aktiivikaiuttimet passiivikaiuttimet + surround-vahvistin 5.1 Viisi pääkanavaa Surround Left (L), Center (C), Right (R), Left Surround (LS), Right Surround (RS) täysi taajuuskaista (20 Hz - 20 khz) Äänitys ja miksaus LFE-kanava Low Frequency Effects taajuuskaista

Lisätiedot

KESTOMAGNEETTI VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA SÄHKÖTEKNIIKKA. Jani Vitikka p87434 Hannu Tiitinen p87432. Dynaaminen kenttäteoria SATE2010

KESTOMAGNEETTI VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA SÄHKÖTEKNIIKKA. Jani Vitikka p87434 Hannu Tiitinen p87432. Dynaaminen kenttäteoria SATE2010 VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA SÄHKÖTEKNIIKKA Jani Vitikka p87434 Hannu Tiitinen p87432 Dynaaminen kenttäteoria SATE2010 KESTOMAGNEETTI Sivumäärä: 10 Jätetty tarkastettavaksi: 16.1.2008 Työn tarkastaja

Lisätiedot

Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.

Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei. Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi olioperustainen sokkeloseikkailu peli Javakielellä. Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen

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

Puhetilojen akustiikka. Henrik Möller Johtava akustiikkakonsultti DI, FISE AA

Puhetilojen akustiikka. Henrik Möller Johtava akustiikkakonsultti DI, FISE AA Puhetilojen akustiikka Henrik Möller Johtava akustiikkakonsultti DI, FISE AA Puheen ominaisuudet Äkilliset äänet ja soivat äänet Soinnilliset ja soinnittomat konsonantit (esim. lmn ja kpt) Vokaalit Normaali

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS ROBOTIIKKA TEKOÄLYN GRAND CHALLENGE YHDISTÄÄ LÄHES KAIKKI TEKOÄLYN OSA-ALUEET: ROBOTIIKKA TEKOÄLYN GRAND CHALLENGE YHDISTÄÄ LÄHES KAIKKI TEKOÄLYN OSA-ALUEET: AKTUAATTORIT:

Lisätiedot

S09 04 Kohteiden tunnistaminen 3D datasta

S09 04 Kohteiden tunnistaminen 3D datasta AS 0.3200 Automaatio ja systeemitekniikan projektityöt S09 04 Kohteiden tunnistaminen 3D datasta Loppuraportti 22.5.2009 Akseli Korhonen 1. Projektin esittely Projektin tavoitteena oli algoritmin kehittäminen

Lisätiedot

20. Javan omat luokat 20.1

20. Javan omat luokat 20.1 20. Javan omat luokat 20.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.2 Java API Java-kielen Application Programming Interface (API)

Lisätiedot

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä: Frégier n lause Simo K. Kivelä Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä: Suorakulmaisen kolmion kaikki kärjet sijaitsevat paraabelilla y = x 2 ; suoran kulman

Lisätiedot

ÄÄNENVAIMENTIMIEN MALLINNUSPOHJAINEN MONITAVOITTEINEN MUODONOPTIMOINTI 1 JOHDANTO. Tuomas Airaksinen 1, Erkki Heikkola 2

ÄÄNENVAIMENTIMIEN MALLINNUSPOHJAINEN MONITAVOITTEINEN MUODONOPTIMOINTI 1 JOHDANTO. Tuomas Airaksinen 1, Erkki Heikkola 2 ÄÄNENVAIMENTIMIEN MALLINNUSPOHJAINEN MONITAVOITTEINEN MUODONOPTIMOINTI Tuomas Airaksinen 1, Erkki Heikkola 2 1 Jyväskylän yliopisto PL 35 (Agora), 40014 Jyväskylän yliopisto tuomas.a.airaksinen@jyu.fi

Lisätiedot

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang Sisällys 20. Javan omat luokat Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.1 20.2 Java API Java-kielen Application Programming Interface (API)

Lisätiedot

Vesisika. metsiemme työmyyrä. http://www.billybear4kids.com/animal/whose-toes/capybara.jpg

Vesisika. metsiemme työmyyrä. http://www.billybear4kids.com/animal/whose-toes/capybara.jpg Vesisika metsiemme työmyyrä http://www.billybear4kids.com/animal/whose-toes/capybara.jpg Faktat Vesisika tykkää vedestä ja näyttää (ja kuulemma maistuu) hieman sialta. Käyttää myös nickiä kapybara. kapiÿva

Lisätiedot