Thursday, February 23, 2006

7. luento 24.2.2006

7. luennon luentokalvot löytyvät tästä:

TKAvustMusTutk060224.pdf.

Friday, February 17, 2006

Nth order markov music analysis and generation

Ohessa n:nnen kertaluvun markov-skripti sekä analyysia että musiikin generoimista varten. Koetan selkeyttää sitä vielä tästä, mutta laitanpahan sen sellaisena kuin se on nyt, kun asiasta oli puhetta luennolla. Olen käyttänyt lisp-tulkkia ja nk. "Cope events"-muotoista listaa R:stä saatujen generointien kääntämiseksi midi-muotoon ja kääntänyt Finalella vielä miditiedoston nuotiksi, mutta täytyypi tutkia, mitä tuo csvmidi-ohjelma vaatii toimiakseen. Seuraavaksi täytyy vielä selvittää, miten midicsv:n kääntämästä tiedostosta saadaan rytmit ulos.

NthOrdMarkovAnalAndComp

Wednesday, February 15, 2006

Miditiedon tuominen R:ään windowsissa ja OSX:ssä

Oheisessa skriptissä on ohjeet, kuinka midicsv-ohjelma asennetaan windowsiin ja mac OSX:ään sekä kuinka midi-tiedosto muutetaan csv-muotoon ja miten tämä taulukko taas tuodaan R:ään. Olen käyttänyt oletushakemistona windowsin tapauksessa c-asemaa, mutta se voi olla tietysti jokin ihan muu, kunhan tämä otetaan huomioon skripteissä.

midi2R

6. luento 17.2.2006

Tällä luennolla demonstroin mm. for-silmukan ja if-ehtorakenteen käyttöä .

Luentokalvot löytyvät tästä:
TKAvustMusTutk060217b

Oheisella ohjelmalla verrataan sävellysten melodiaintervalleista muodostettujen siirtymätodennäköisyysmatriisien samankaltaisuutta nk. euklidisen etäisyysmitan avulla. Otoksessa on 3 irlantilaista ja 3 suomalaista kansantanssia. Eli tässä käytetään aikaisemmin esiteltyjä markovin ketjuja siirtymätodennäköisyysmatriisien muodostamiseen.

Kansantanssitiedostot csv-taulukkoina. Zip-pakattu tiedosto.

Nämä midit on haettu seuraavilta sivuilta:

Irlantilaiset:
http://tadpole.mytunebook.de/tunes/celtmidi/celtic.htm

1) Staten Island.
2) Tenpenny Bit.
3) The Fiddler is Drunk from the playing of Sean Keane (fiddle).

Suomalaiset:
http://www.jyu.fi/musica/sks/collection_download.html

1) kt1_0057.mid
2) kt1_0101.mid
3) kt1_0613.mid

Skripti löytyy tästä:

6_luennon_skripti

Käymme sen luennolla läpi vaihe vaiheelta.

Mittaus on hyvin karkea. Ensinnäkin tässä käytetään 1. kertaluvun markovketjua ja toiseksi parametreista on valittu ainoastaan sävelkorkeudet tai tarkemmin, niiden väliset intervallit. Rytmiparametri on tyystin unohdettu. Midifileiden kanssa täytyy olla tarkkana. Tein ensin väärät laskelmat, koska tiedostot olivat koodatut eri tavoin. Syötin kaikki Finale-ohjelman läpi ja nyt skriptit toimivat.

Suomalaisista sävelmistä sävelmät 1 ja 2 olivat mollisävelmiä. Muut otoksessa ovat duurisävelmiä. 3. suomalaisista sävelmistä on parasta pataa kaikkien kanssa ja sen sekä 1. irlantilaissävelmän etäisyys on pienin. Se edustaa jonkinlaista keskiarvoa joukossa. Sen etäisyys 1. suomalaismelodiaan on myös suhteessa pieni, vaikka tämä kulkeekin mollissa.

Tulostaulukko kuvassa:




Friday, February 10, 2006

4 kertaluvun markov-generointi J.S. Bachin Prestosta sooloviululle

Kokeilin 3. ja 4. kertaluvun markov-ketjuja generoidakseni J.S. Bachin sooloviulusävellyksen pohjalta uusia "Prestoja".

Ohessa kolme "ajoa":

3. kertaluvun sävellys
4. kertaluvun sävellys 1
4. kertaluvun sävellys 2

Bachin alkuperäinen sävellys.

Algoritmi on siis tehty R:llä. Sitten olen muuttanut saadun sävelvektorin nk. Cope-tapahtumiksi (Cope-events) ja lispillä tuottanut midi-versiot.

Wednesday, February 08, 2006

5. luento 10.2.2006

Ohessa ppt-kalvot pdf:nä

TKAvustMusTutk060210.pdf

sekä Olli Linjaman improvisaatio nro 756 csv-taulukkona.

Tällä kerralla "pelataan", sehän se on tietokoneiden alkuperäinen käyttötarkoituskin ;-)
Eli käymme läpi R:n komentoja, mekaanisesti, näpyttelyharjoituksen tapaan, pääosin mallin mukaan. Vähemmän ajattelua, enemmän tekemistä! Mukana on uutta ja vanhaa. Muuta emme sitten teekään, vaan käytämme kaiken aikamme näpyttelemiseen, jotta R tulisi vähitellen käytännön kokemusten kautta tutuksi. Vaikka ohjelmoiminen ei olekaan kurssin pääsisältö ja tarkoitus, se on hyödyllinen taito ja musiikkianalyysejä tehtäessä välttämätön. Kun II periodilla teemme pari laajempaa analyysityötä, on hyvä tietää, mitä ohjelmarivit ainakin suurinpiirtein tekevät. Ja R:äähän voi käyttää tietysti myös muuhun kuin musiikkiaineiston tutkimiseen ja analyysiin (esim. kyselytulosten tai vaikkapa tekstin analyysiin). Muut (kuin muusikot) pääsevät usein helpommalla, koska R:stä löytyy suoraan tilastolaskentaan valtavasti valmiita funktioita, kunhan vain tutkittava aineistotaulukko on valmiina.

6. kerralla teemme pari ohjelmaa, joissa tarvitaan peräkkäis-, valinta- ja toistorakenteita.

Wednesday, February 01, 2006

Luennoista 5.-7.

5. kerraksi olen ajatellut, että kävisimme järjestelmällisesti läpi R:n funktioita käsityönä eli referenssikortteja ja tietokoneita käyttäen ja 6. luennolla tekisimme funktioita ja harjoittelisimme edellistunnin tapaan ohjelman ääressä silmukoiden ja ehtolauseiden kirjoittamista. Molemmilla kerroilla skriptit kirjoitetaan ensin R:n editoriin ja sitten testataan komentoja R:n komentorivillä. Kirjoitetut skriptit myös tallennetaan tekstidokumentiksi suoraan editorista.

7. luennolla ennen tenttiä keskustelemme aluksi tulevista projekteista ja lyömme lukkoon käytettävät materiaalit ja lähestymistavat (menetelmät saattavat tietysti vielä 2. periodilla kehittyä ja muuttua) ja jos aikaa sitten jää, käyttäisimme sen R:n opiskeluun.

Tenttisuorituksena 3.3. olen ajatellut, että annan muutamia lyhyitä tehtäviä peräkkäisrakenteeseen, valintarakenteeseen ja toistorakenteeseen liittyen, kuitenkin niin, että syvällisiä tilastollisia tietoja ei tarvita ja siten, että niin referenssikortteja kuin tietysti R:n helppiä saa käyttää (R:ssä siis: help() tai ?komento). Tentin tarkoitus on ennen kaikkea kartoittaa sitä, mitä olette oppineet ja ymmärtäneet, jotta osaan sitten jatkossa paikata ja suunnata opetusta tarvittaessa.