Wednesday, March 29, 2006

Luento 31.3.2006


Juha R. esittelee hiukan omaa rytmiin liittyvää tutkimustaan ja sen pohjalta minä puolestani kerron plottaukseen eli kuvien piirtämiseen liittyvistä komennoista ja parametreista, regressiosuoran piirtämisestä, moniulotteisen skaalauksen tekemisestä R:llä ja jälleen kerran korrelaatiotesteistä. Keskihajontaakin tulee vielä hiukan demottua. Oheisen kuvan sisältökin selvinnee perjantaina. Kerrottakoon jo tässä vaiheessa, että siinä mm. ajanhetkellä 333 s kolmen koehenkilön komppi on kääntynyt upbeatiksi. Kuvaa klikkaamalla sen saa näkyviin suurempana.

Thursday, March 23, 2006

Luento 24.3.2006

With 6. Blues mode 2 (21211212) merkattu sinisellä.
Kiirettä pitää... mutta tässä blues mode2 -skripti alta löytyvän csv-fileen tutkimiseen.

Kokeilin nuita skriptejä yliopistolla tänään windowsissa ja nyt ne latautuvat ja toimivat. Testataan niiden käyttöä vielä Juhan transkription kohdalla. Tämän jälkeen jätetään joukkoteoria, jos ei kokonaan, niin ainakin joksikin aikaa. Sen erään Händel-motiivianalyysin olen ajatellut vielä toteuttaa...

Pidin tänään to 23.3. esitelmän ÅA:n symposiumissa "Sävellyksen harmonisen koherenssin mittaaminen vertailujoukkoanalyysin ja siirtymätodennäköisyysmatriisien avulla" ja voisin pikaisesti vilauttaa joitakin siihen liittyviä periaatteita, sillä aikaa kun nuo skriptit latautuvat koneille... Symposiumi jatkuu ja kannattaa katsoa, olisiko siellä jotakin kiinnostavaa. Osallistumismaksu on opiskelijoilta 5 e/pvä.

Tässä vielä laiton nuottikopio Juhan transkriptiosta...

Saturday, March 18, 2006

SetTheoryScripts again

Tein vielä erään lisäyksen kellokuva-skriptiin eli nyt se näyttää myös
Larry Solomonin taulukossaan (http://solomonsmusic.net/pcsets.htm)
esittämät joukkoluokkia karakterisoivat nimitykset.



















Noin 37 kokeen jälkeen sain kuin sainkin tuon SetTheoryScripts-tiedoston
windowsissani toimimaan. En kyllä tiedä miksi. Kokeilin kaikenlaista,
erilaisia tekstikoodauksia tallennettaessa ja myös tallennuksia eri
ohjelmilla.

Nyt oheista liitteenä olevaa tiedostoa voisi kokeilla windowsissa. Mikäli
c-asemaan on lisäksi sijoitettu oheinen "4.csv" -tiedosto, sille tehdään
koodiin sisältyvät kokeet.

Ensin pitää kuitenkin ladata netistä grid- ja gtools -paketit komennoilla

install.packages("grid")
install.packages("gtools")

Sen jälkeen valitse File-valikosta komento "Source R code..." ja yllä linkistä
löytyvä tiedosto

"SetTheoryScripts"

Sen jälkeen kestää tovin - pieni kahvipaussi Euroshopper
persikka-passiohedelmä-jugurtin kera nautittuna (tällöin mikään ei ole
niin ihanaa kuin R-istunto) voi olla paikallaan - ennenkuin funktiot on
ajettu.

Tämän jälkeen voi katsoa komennolla

ls()

mitä funktioita onnistui ajamaan ja kokeilla vaikkapa funktiota pitchclock
tai rel2 luennolla esitellyllä tavalla, esim.:

X11(); pitchclock(c(4,8,3));

rel2("3-11A","3-11B");

Laitoin skripteihin funktioiden ajon jälkeen save.image() -komennon,
jolloin RData-nimiseen tiedostoon jonnekin R:n kansioissa jää nuo
muuttujat ja funktiot muistiin. Silloin seuraavan kerran, kun R
käynnistetään, ne latautuvat valmiiksi. Nyt kannattaa osallistua Tiinan
joukkoteoreettisille kursseille ja kerätä muutama opintopiste kotiin
tekemällä jokin yksinkertainen joukkoluokka-analyysi Schönbergin musiikista
tai mitä siellä käsitelläänkin...

Jostain syystä muutamat rivit ovat ilmeisesti windowsin R-editorille liian
pitkiä (joukkoluokkatiedot sisältävät rivit), minkä vuoksi funktioiden ajo
ei editorista copy-pastaamalla suoraan onnistu vaan pitää ottaa tuo
File-valikon "Source R code..."-komento. Kuitenkin Bach-analyysit
onnistuvat copy-pastaamallakin, jos ne keskeytyvät jostain syystä. Näin
kävi kerran itse kokeillessani ajoa.

lines()-komennon parametreihin ei näköjään saisi antaa y-akselille rajoja
tapaan "ylim=c(luku,luku)". Siitä johtuu muutama varoitus ajon aikana.

MacOSX- ja linux-käytössä pitää Bach-analyysin suorittamiseksi tsekata
oheiset polkumääritykset.

#MAC:
#Compo=read.table("/Users/4.csv",na.strings=".",header=F);
#attach(Compo);
t1=proc.time();

#LINUX:
#Compo=read.table("/home/atte/4.csv",na.strings=".",header=F);attach(Compo);


Tuesday, March 14, 2006

Luento 17.3.2006

Luennon materiaalia löytyy täältä:

TKAvustMusTutk060317.pdf

Lisäilin jotain ja korjailin hiukan noita joukkoteoriaskriptejä. Tein mm. sävelluokkakellon tuottavan algoritmin. Esimerkkinä kellokuva, jolle on annettu syötteenä oheinen vektori. Syötteenä funktiolle voi antaa sävelluokkia tai midisävelkorkeuksia. Sisällytin funktioon huvikseni Huronin konsonanssiarvonkin.

X11(); pitchclock(c(5,4,8,10,1,8,12));



















Viimeksi jäi tuo joukkoteoreettinen analyysi esittelemättä ja ajattelin käydä hiukan läpi noita joukkoteoreettisia funktioita. Joukkoteorian perusteet eivät ole välttämättä kaikilla hanskassa, mutta sen avulla voi kuitenkin saada ihan ymmärrettäviä tuloksia.

Joukkoteoriaa käyttävät paitsi musiikkianalyytikot, myös säveltäjät yhä enenevässä määrin sen vuoksi, että nykyaikana harmonioita ei useinkaan pysty kategorisoimaan muulla tavoin kuin joukkoteoreettisesti. Kalev Tiits puhuu Musiikki-lehden 1-2/2005 numerossa artikkelissaan Hahmoetäisyyksien mittausmenetelmistä
aikasarjoissa ja musiikin vektoriesityksissä
joukkoteorian "ajankohtaisuudesta" (s.64) varsin lämpimin sanoin.

Sävelluokkiin perustuvaan joukkoluokitukseen on koetettu kehittää myös laajennuksena sävelalat huomioonottavia teorioita. Tällaisia on Marcus Castrenin kehittämä "sointuluokitus". Tämä muistui mieleen siitä Jopin Huronin konsonanssifunktioon liittyvästä kritiikistä (mikä oli aivan oikeutettu). Konsonoivuuteenhan (ja sonoriteettiin?) vaikuttaa ennenkaikkea sävelten asema sävelalassa. Esim. kromaattisen klusterin sävelluokat tarpeeksi laajalle alueelle hajautettuna tai suhteessa bassoon riittävän korkealle asetettuina soivat paljon konsonoivammin kuin oktaavin sisään ahdettuna, joka Huronin intervalliluokkiin perustuvassa funktiossa on ikäänkuin oletuksena. Castrenin ratkaisun tapaan voisi kehittää myös tuota Huronin menetelmää tai niin, että sävelten suhde sitä alempien sävelten yläsävelsarjaan otettaisiin huomioon. Tässä jollekin elämäntehtävä.

Toisena tapauksena esittelen Huronin konsonanssifunktiolla tehdyn analyysin, joka kohdistuu melodiaan. Tämä taisi olla JP:n idea.

Melodian konsonoivuuden tutkimisesta tuli myös mieleen, että joku voisi joskus tutkia sitä, mitkä asiat vaikuttavat melodian solfaamisen vaikeuteen ja laulettavuuteen. Tietysti toiset intervallit ovat keskimäärin vaikeammin tuotettavissa kuin toiset (esim. tritonus on hankalampi laulaa kuin puhdas kvartti jne), mutta myös tonaalisella ympäristöllä on merkitystä. Jos melodian rytmi unohdetaan, voisi luoda Huronin konsonanssiprofiilin tyyppisen vektorin tai itse asiassa markovin ketjuilla asia onnistuisi paremmin, koska silloin voisi ottaa paremmin huomioon intervalleja ympäristössään, pitemmältä matkalta. Tällaisen matriisin luomiseksi tarvittaisiin monia kokeita vaikkapa solfaopiskelijoiden keskuudessa. Laulatettaisiin monia erilaisia melodioita ja virhepaikat merkattaisiin muistiin (+ tietty määrä sitä edeltäviä intervalleja). Kun matriisi olisi luotu, voitaisiin laskea vaikkapa Modus novus- opuksen kullekin melodialle vaikeusaste:-)

JP kyseli tyyppiarvon eli moodin tuottavaa funktiota R:ssä. En löytänyt sellaista, mutta kyseessähän on tunnusluku, joka kuvaa sitä, mitä arvoa muuttujassa on eniten. Sen saa esimerkiksi näin:

tyyppiarvo <- function(vektori)
{
frekvenssitaulukko=table(vektori)
maxmaara=max(frekvenssitaulukko)
lukuarvo=as.double(names(frekvenssitaulukko[rev(order(table(vektori)))[1]]))
return(list(lukuarvo=lukuarvo, maxmaara=maxmaara))
}


eli kuinka paljon tiettyä lukua on enimmillään saadaan siten, että vektorin luvuista muodostetaan frekvenssitaulukko (table), josta lasketaan maksimifrekvenssi. Tämä sijoitetaan muuttujaan "maxmaara". Itse tyyppiarvoa varten täytyy frekvenssitaulukko järjestää frekvenssien mukaan (order). Sen jälkeen käännetään (rev) tulos, niin että se indeksi, joka on saanut eniten osumia, tulee ensimmäiseksi ja lopuksi poimitaan (names-komento ei poimi itse frekvenssiä vaan nimenomaan sen luvun, johon suurin frekvenssi liittyy, ikäänkuin rivin "nimen") tuo indeksillä 1 oleva luku ([1]). Tässä hiukan kehitin tuota funktiota niin, että nyt voidaan kutsua jompaa kumpaa
esim:

1) jos halutaan tyyppiarvon esiintymisten lukumäärä:
tyyppiarvo(c(6,5.5,4,5.5,4,2))$maxmaara

2) jos halutaan itse tyyppiarvo
tyyppiarvo(c(6,5.5,4,5.5,4,2))$lukuarvo

Midicsv:n antamien taulukoiden muokkaaminen R:ssä toimivaan muotoon vaatii aikalailla työtä. Löysin taas sellaisen midimuodon, joka vaatii omanlaistansa käsittelyä. Toimivan funktion luomisesta voi tulla pidempi projekti, mutta kuten Jopi totesi, jotta pääsisimme heti hommiin käsiksi, pitäisi tällainenkin R:ssä olla. Polyfoniset midit vaativat sitten oman käsittelyn, mutta kunhan saamme turhat röhnät pois, voisi luoda funktioita, jotka muokkaavat taulukon sopivaan muotoon erityyppisiä lähestymistapoja varten.

Thursday, March 09, 2006

Luento 10.3.2006

Laitoin utu:n palvelimelle muutamia musiikin joukkoteoriaan liittyviä skriptejä, jotka voi ladata tästä linkistä.

Demotiedosto em. skriptien testaukseen:
J.S.Bach: Es ist genug 4.csv.

Käyn 10.3. läpi muutamia tenttiin liittyviä asioita ja toivon, että sen jälkeen syntyisi keskustelua II periodin tavoitteista. Ehdotin siis yhteisiin alijonoihin, markovin ketjuihin ja joukkoteoriaan liittyviä lähestymistapoja, niitä kun on ollut jo aikaisemmin esille. Koska näitäkin voi soveltaa niin monella tavalla, voisimme keskustella siitä, millaiseen aineistoon näitä soveltaisimme ja millaisiin parametreihin. Nuo joukkoteoriaskriptit on tuossa siltäkin varalta, että aikaa jää hiukan niiden testaamiseen.

Testaaminen vaatii paketin gtools-asentamista komennolla

install.packages("gtools")

ja tietysti toimivaa verkkoyhteyttä. OSX:ssä voi käyttää valikkokomentoa "Package Installer".

Kun oheisen 4.csv -tiedoston sijoittaa Windows-koneessa c-hakemistoon, voi koko skriptin ajaa kerralla ilman pahempia virheilmoituksia, muutoin latautuvat vain alkupuolen funktiot, mutta Bach-analyysi jää tekemättä (jos sijoittaa csv-tiedoston muualle koneeseen, täytyy read.table-komentoon liittyvä polku muokata sen mukaan, ohjelmalistauksessa puolen välin jälkeen "SOME SAMPLE SCRIPTS"-kohdan alla. Systeemistä riippuen täytyy #-merkki poistaa kyseisen "Compo=read.table(...)" -komennon edestä. Tällöin ko. skripti ajetaan.) Se viekin tovin, ennenkuin koko ohjelma funktioineen on ajettu. Joukossa on pari print-komentoa, jotka hiukan hidastavat lataamista, mutta joiden avulla toisaalta voi seurata tapahtumien kulkua.

No, demoan tätä luennolla, jos aikaa jää.

Thursday, March 02, 2006

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.

Friday, January 27, 2006

4. luento 3.2.2006

Neljännen luennon ppt-kalvot löytyvät tästä
TKAvustMusTutk060203b.pdf. (b-versio...)

Sävelluokkajoukosta intervalliluokkavektorin laskeva skripti löytyy tästä:
icv_skripti.rtf

Saman asian voisi tehdä tyylikkäämmin, mutta jos joku haluaa kokeilla, voi ajaa funktion "icv2" R:ään ja sitten kokeilla kirjoittaa komentoriville jotain tämän tapaista:

icv2(c(0,4,7,10,4,0,7))

ja saa tulokseksi C-dominanttiseptimisoinnun intervalliluokkavektorin.

* * *

Ensi kerrasta lähtien koetan edetä hiukan lunkimmin... Tutustumme funktion tekemiseen ja ajattelin, että malliksi voisimme luoda funktion, joka laskee yksinkertaisella periaatteella sävelluokkien perusteella tonaalisuusarvioita. Tällainen funktio vaatii muutaman rivin, ei enempää. Voimme käyttää siinä apunamme nk. Krumhansl-Kessler -profiileja (joihin Jopi viittasi tunnin jälkeen... ;-)

Joku voisikin tehdä sointuanalyysin Solagen sävellyksestä, jos saa sen käsiinsä jostain?

Tässä linkki Juhan mainitsemaan artikkeliin, jossa Coltranen improvisaatioita on analysoitu markovin ketjujen avulla.

http://scholar.lib.vt.edu/theses/available/etd-61098-131249/unrestricted/dmfetd.pdf

Teksti on laaja, mutta koetan perehtyä siihen heti kun ehdin. Ohessa pari linkkiä lyhyisiin teksteihin, joista käy ilmi, että markovin ketjujen soveltaminen musiikin analysoimiseen on periaatteiltaan sinänsä melko yksinkertainen ja selkeä juttu.

http://www.music-cog.ohio-state.edu/Music829D/Notes/Infotheory.html

http://journal-ci.csse.monash.edu.au/ci/vol03/mccorm/mccorm.html

Etenkin tästä jälkimmäisestä linkistä löytyvän tekstin luvussa "Representations for Music Composition" ja sen alaluvussa "Markov Models "on havainnollinen kuva siitä, mistä markovin ketjuissa on kysymys. Esimerkkinä on melodian "Maijal oli karitsa" pohjalta tehty nk. "siirtymätodennäköisyysmatriisi". Kyseessä on ns. "1st order model". En ole tällä periaatteella musiikkia juurikaan analysoinut (yhtä lyhyttä Kalifornian keikkaa lukuunottamatta), mutta minua kiinnostaisi tehdä analyyseja esim. eri säveltäjien melodioiden pohjalta ja sitten jollain "etäisyysmitalla" verrata syntyviä siirtymätodennäköisyysmatriiseja. Palaan tähän asiaan seuraavalla luennolla. Jos ehditte ja jota kiinnostaa, lukekaa tuo jälkimmäinen artikkeli. Se ei ole pitkä. Jo pelkästään tuon mainitsemani kuvan tarkasteleminen saattaa tehdä idean selväksi. Kyseisessä tekstissä puhutaan lähinnä algoritmisesta säveltämisestä, jota edeltää tietyn tyylisen musiikin analyysi. Markovin ketjujen avulla pystytään tuottamaan samantyylistä musiikkia. Kyseessä on yksi eniten käytetyistä keinoista algoritmisen säveltämisen piirissä. Me voisimme keskittyä tässä vaiheessa vain analyysiin...

Tälle sivulle voi kirjoittaa kommenttejaan klikkaamalla Comments-tekstiä näiden kirjoitusten lopussa, kynä-symbolin vieressä.

Sävelnimet sävelluokiksi ja midisävelkorkeuksiksi

Oheisessa tekstitiedostossa vielä luentokalvoilla ollut skripti, jonka piti muuttaa sävelnimet sävelluokiksi ja midisävelkorkeuksiksi ja "hiukan" pidempi, mutta periaatteiltaan paljon yksinkertaisempi skripti samaan hommaan, jos copy-pastaaminen ei onnistu suoraan pdf:stä. Tästä se näyttäisi onnistuvan molemmilla vaihtoehdoilla.

V4_skripti

Ohessa vielä kommentit tuohon monimutkaiseen, tiiviiseen skriptiin.

V4 skriptin selitys

Thursday, January 26, 2006

3. luento 27.1.2006

Seuraavan luennon ppt-kalvot pdf:nä

TKAvustMusTutk060127.pdf

Ohessa linkki tiedostoon, jota käsittelemme tunnilla. Kyseessä on Solage-nimisen säveltäjän teoksesta Fumeux fumes irrotettu diskanttimelodia.

fumeux_sopr.csv

Säveltäjä kuuluu ns. Ars Subtilior -kouluun 1300 luvulla. Aika hienoa musiikkia!

http://www.pacificnet.net/~garyrich/subtilior/


Tällä luennolla käyn läpi tilastotieteeseen liittyviä asioita ja käsitteitä - vauhdilla... Tarkoituksenani on, että tilastomenetelmistä ja niiden tarjoamista mahdollisuuksista jäisi jonkinlainen haju (tai - toivottavasti - paremminkin tuoksu ;-).

Tämän luentokerran jälkeen otetaan hiukan rauhallisemmin ja katsotaan, mihin suuntaan lähdetään. Keskitymme yhä enemmän R:n opiskeluun ja sovelluksiin, mutta välillä palaamme tilastojen ja tarvittaessa joukkoteorian pariin. Ja kuten tulette huomaamaan, kertaan samoja R:n komentojakin uudelleen ja uudelleen.

Mielessä on käynyt, että voisimme lähestyä kevään analyyseja esimerkiksi kahdella tavalla, markovin ketjuja hyödyntäen ja joukkoteoriaa käyttäen. Molemmat metodit ovat musiikkitieteessä käypiä eivätkä liian kuluneita, päin vastoin. Mutta muitakin tapoja varmasti keksimme ja saa ehdottaa ja niistä voisimme keskustella neljännen luentokerran jälkipuolella. Ajattelin 4. kerralla aloittaa siitä, miten R:ssä luodaan omia funktioita ja kuinka toistorakenteita (looppeja) ja ehtorakenteita R:ssä kirjoitetaan.

3. luentokalvoissa esitettyjen skriptien lopussa saadaan seuraavanlainen kuvaaja Fumeux fumes -melodiasta, josta nähdään, että se koostuu kuudesta kaarroksesta.













Laitoinpa tähän vielä linkin midi-tiedostoon musiikin kuuntelusta nauttivien iloksi!

Fumeux fumes

Erään biisin basso

EraanBiisinBasso.csv

Tuesday, January 17, 2006

2. luento 20.1.2006

2. luennon ppt-kalvot pdf-muodossa. Versio 060119c...

TKAvustMusTutk060120.pdf

Käsittelen luennolla hiukan musiikin joukkoteorian perusideoita ja -käsitteitä, kuitenkin pikaisesti. Joukkoteorian käyttäminen tietokoneavusteisessa musiikintutkimuksessa on vain yksi mahdollisuus monien joukossa, joten ei tähän tarvitse koko sydänvertaan vuodattaa. Osalla on jokin joukkoteoriaan liittyvä kurssi käytynä tai muuten kiinnostusta aiheeseen, joten joku voi löytää tältä suunnalta analyysilleen metodin.

Lisäksi puhun hiukan miditiedostoista, mutta tärkeämpää nyt niin kuin muillakin kerroilla on mielestäni tarkastella R:n käyttöä. Tulen viipymään etenkin ppt-kalvojen sivulla 25 "R-ohjelman käyttö, osa 2 (2)".

3:lla luennolla käsittelen tilastollisia ideoita, joista saattaa löytyä sellaisenaan jokin näkökulma. Tietysti esim. musiikin joukkoteoriaa voi yhdistää myös tilastollisiin menetelmiin, mikä tkamt:ssa onkin luontevaa.

Tuon mukanani kopiot aikaisemmin mainitsemistani reference card -dokumenteista, joten niitä ei tarvitse itse printata.

Ensimmäisellä tunnilla kysyttiin R:n pakettien lataamisesta internetistä omalle koneelle. Se tapahtuu siis komentokehoitteessa komennolla install.packages("paketin nimi"), esim.

install.packages("tuneR").

OSX:ssä sen voi tehdä valitsemalla asennuskomennon valikkoriviltä komennon "Package Installer".

Paketti otetaan R-sessiossa käyttöön komennolla

library(tuneR)

Thursday, January 12, 2006

Kurssin korvaavuudesta

Tiedoksi:

Syventäviin opintoihin sisältyvällä kurssilla "Tietokoneavusteinen musiikintutkimus" S1f voi korvata aineopintoihin sisältyvän kurssin "Systemaattinen musiikinteoria", T5e (6 op).

Wednesday, January 11, 2006

1. luento 13.1.2006

1. luennon ppt-kalvot pdf-muodossa. Versio 12.1.2006b...

TKAMA060113.pdf

Tuesday, December 20, 2005

Peter Castinen opus Set Theory Objects

Olen lukenut Peter Castinen opusta Set Theory Objects. Pitäisikin testata invarianssimatriisia...