... on kirjoitettu suomeksi aika vähän. Niinpä pyysin Tommi Stordellilta lupaa laittaa hänen Turun yliopiston IT-laitokselle keväällä 2007 tekemänsä LuK-työn Markovin ketjut ja geneettiset algoritmit säveltämisen apuvälineinä blogisivulleni pdf-muodossa ladattavaksi. Siinä Stordell tuo kootusti esiin erilaisia lähestymistapoja musiikin generoimiseen ja lopuksi esittelee oman javalla kirjoittamansa sovelluksen, jossa
1) Markovin ketjuilla luodaan ohjelmaan syötetystä yksiäänisestä melodiasta siirtymätodennäköisyysmatriisi ja
2) tätä matriisia käyttäen generoidaan "melodiahypoteeseja", joita
3) verrataan ennalta valittuun mallimelodiaan.
4) Geneettinen algoritmi säästää aina sukupolvi toisensa jälkeen parhaiten mallimelodiaa muistuttavat hypoteesit jatkoon.
Näin voidaan generoida mallimelodian kanssa samantyyppisen kaarroksen omaavia melodioita. Stordellin javalla kirjoittamat luokat on jätetty tästä versiosta pois.
Wednesday, June 27, 2007
Sunday, April 29, 2007
Markov-algoritmi
Markov-algoritmi ei suoranaisesti liity musiikintutkimukseen. Se on Turingin koneen vahvuinen laskentamalli. Tein Turun yliopistossa keväällä 2007 pidettävälle kurssille siitä pienen esitelmän. Ohessa esitelmä ja algoritmi jota käytin esitykseen sisältyvän esimerkin laskemisessa. Funktio bin2una() laskee binääriluvun unaariesityksen, esim. bin2una(1001) on unaarina 111111111 ja laskeepa se sitten desimaaliesityksenkin siinä samalla (9).
Markov-algoritmin esitelmä:
http://users.utu.fi/attenka/Markov_algoritmi_070419.pdf
Markov-algoritmi R:llä:
http://users.utu.fi/attenka/Markov_algoritmi_070415.R
Markov-algoritmin esitelmä:
http://users.utu.fi/attenka/Markov_algoritmi_070419.pdf
Markov-algoritmi R:llä:
http://users.utu.fi/attenka/Markov_algoritmi_070415.R
Saturday, December 16, 2006
R-pikakurssin materiaali
Ohessa materiaali, jota käsittelimme kurssilla ja joka naputeltiin koneelle.
R-komennot:
http://users.utu.fi/attenka/R_pikakurssi061214.R
Midi-fileen csv-muotoinen lista, jota käytettiin 4:ssä sovelluksessa melodioiden generoimiseksi:
http://users.utu.fi/attenka/tangerine8.csv
IH:n generoima melodia:
http://users.utu.fi/attenka/ilenmelodi.mid
R:stä löytyy matriisioperaatioihin myös tehokkaat apply, sapply, tapply, mapply-komennot, mutta niitä ei nyt otettu, vaan tulimme for-luupilla toimeen. Ehkäpä katsomme niitä jossain vaiheessa.
R-komennot:
http://users.utu.fi/attenka/R_pikakurssi061214.R
Midi-fileen csv-muotoinen lista, jota käytettiin 4:ssä sovelluksessa melodioiden generoimiseksi:
http://users.utu.fi/attenka/tangerine8.csv
IH:n generoima melodia:
http://users.utu.fi/attenka/ilenmelodi.mid
R:stä löytyy matriisioperaatioihin myös tehokkaat apply, sapply, tapply, mapply-komennot, mutta niitä ei nyt otettu, vaan tulimme for-luupilla toimeen. Ehkäpä katsomme niitä jossain vaiheessa.
Thursday, December 14, 2006
R-pikakurssista
Laitan myöhemmin oman pikakurssimme materiaalin tänne saataville, mutta ohessa linkki erinomaiseen R-ohjelmointia käsittelevään dokumenttiin, jonka on kirjoittanut Pasi Koikkalainen.
http://erin.mit.jyu.fi/pako/CourseR/Osa1234.pdf
http://erin.mit.jyu.fi/pako/CourseR/Osa1234.pdf
Monday, December 04, 2006
Ilmainen MidiSwing-sekvensseri
Tein pyynnöstä suomenkieliset käännökset MidiSwing-nimisen ilmaisen midisekvensseriohjelman komentoihin. Käännökset vaativat vielä hiomista ja jos löytyy joku suomenkielinen, jolle midi-termistö on tuttu, hän voisi esittää parannusehdotuksia käännöksiin ohjelman kehittäjälle Pascal Naidonille. Osa käännöksistä vielä puuttuu.
Sekvensserin voi asentaa OS X:ään, Windowsiin ja Linuxiin (!). Nyt kun ohjelmasta näkee suoraan, miten käännökset sijoittuvat ohjelman eri osiin ikkunassa ja komentovalikossa (ne tehdään erilliselle listalle englanninkielisten termien rinnalle), kääntäminen on helpompaa kuin sokkona listaan tehtäessä. Ohjelman kotisivut löytyvät täältä:
http://www.les-stooges.org/pascal/midiswing/index.php?la=en#top
Sekvensserin voi asentaa OS X:ään, Windowsiin ja Linuxiin (!). Nyt kun ohjelmasta näkee suoraan, miten käännökset sijoittuvat ohjelman eri osiin ikkunassa ja komentovalikossa (ne tehdään erilliselle listalle englanninkielisten termien rinnalle), kääntäminen on helpompaa kuin sokkona listaan tehtäessä. Ohjelman kotisivut löytyvät täältä:
http://www.les-stooges.org/pascal/midiswing/index.php?la=en#top
Thursday, November 23, 2006
R-pikakurssin ajankohta siirtyy
Päätimme I.H.:n kanssa siirtää R-pikakurssin ajankohtaa myöhemmäksi, jotta saamme ainakin JR:n mukaan. Pidämme kurssin 13.-14.12.2006.
Saturday, November 18, 2006
Merkittävä nuotinnusohjelma Sibelius-Akatemiasta
Olin seuraamassa Mika Kuuskankareen väitöstilaisuutta tänään lauantaina 18.11. Kuuskankareen väitöksen aiheena oli hänen kehittämänsä ENP-nuotinnusjärjestelmä, joka on osa PWGL-nimistä, erityisesti säveltäjille ja musiikinteoreetikoille suunnattua ohjelmistoa. Väitöstilaisuus oli demoineen vaikuttava. Vastaväittäjänä toimi Roger B. Dannenberg Carnegie Mellon yliopistosta. PWGL:n beta-versio Mac OSX:lle ja Windowsille on ladattavissa osoitteesta http://www2.siba.fi/PWGL/downloads.html
Lisätietoa ohjelmasta löytyy sivulta http://www.siba.fi/fin/ajankohtaista/kuuskankare/
Lisätietoa ohjelmasta löytyy sivulta http://www.siba.fi/fin/ajankohtaista/kuuskankare/
Wednesday, November 15, 2006
R-pikakurssi 24. ja 27.11.
Pidän R:n pikakurssin pe 24.11. klo 9-15 ja ma 27.11. klo 9-12. Perjantaina aloitamme musiikkitieteen tiloissa Salongissa, mutta klo 12 eteenpäin voimme halutessamme jatkaa Educariumin luokassa 155 eli samaisessa luokassa, jossa TKAMT:n kurssi pidettiin viime keväänä. Tämä tila on varattu meille myös maanantaina.
Tiedoksi merkittävä tietokoneavusteiseen musiikintutkimukseen ja musiikin generointiin liittyvä tapahtuma eli Mika Kuuskankareen ENP-nuotinkirjoitusohjelmaa käsittelevä väitöstilaisuus pidetään Sibelius-Akatemiassa 18.11. klo 12.
Tiedoksi merkittävä tietokoneavusteiseen musiikintutkimukseen ja musiikin generointiin liittyvä tapahtuma eli Mika Kuuskankareen ENP-nuotinkirjoitusohjelmaa käsittelevä väitöstilaisuus pidetään Sibelius-Akatemiassa 18.11. klo 12.
Saturday, October 14, 2006
Oppimispäiväkirjani palautetuista oppimispäiväkirjoista
Kirjoitin alla mainitusta luennosta "oppimispäiväkirjan" saamieni oppimispäiväkirjojen perusteella. Se löytyy tästä.
Monday, October 02, 2006
WAP 9.10. 2006 pidettävää luentoani varten
Ohessa vielä yksi, hiukan "Afrikan tähden" pelilautaa muistuttava malli WAP:ista ;-) Olen sitä varten koonnut joukon mahdollisia tkamt:een liittyviä termejä luentoa Tietokoneavusteinen musiikintutkimus 9.10 varten ja annoin tällä kertaa korrelaatiotaulukkoon vain joko arvon 0 tai 1 sen mukaan, liittyvätkö asiat luennolla toisiinsa vahvasti vai eivät. Punaisella solmulla ja isommalla tekstillä merkityt - sumean näköisesti valitut - termit viittaavat luennon "pilareihin". Tulos on tämän näköinen:
Sunday, September 24, 2006
Painotettu assosiaatiokartta

Kuva tulee näkyviin suurempana klikkaamalla sitä.
R:llä voi tehdä monenlaista musiikintutkimukseen liittyvää, myös hiukan sumeampia juttuja kuin mitä tässä on aikaisemmin ollut esillä.
Ohessa on malli kuvauksesta, jonka olen nimennyt "painotetuksi assosiaatiokartaksi". Se on hiukan kuin mind map, mutta sitä varten täytyy parametrit tuntea ennestään, eikä niiden järjestelemiseksi tarvitse itse nähdä vaivaa, sijoittelun tekee kone. PAK:aa varten olen symmetriseen n x n -taulukkoon merkinnyt riveihin ja sarakkeisiin tutkimukseeni liittyviä pääsanoja ja kirjannut soluihin intuitiivisesti niiden väliset "assosiaatioarvot" (välillä [0-1], 0=ei assosiaatiota, 1=maksimi yhteys). Sen jälkeen olen piirrättänyt oheisen kartan R:llä.
Miksi tällainen kartta, mitä hyötyä siitä on?
Jos päässäsi on paljon asiaa, muttet pysty laittamaan pääasioitasi järjestykseen, voit verrata jokaista valitsemaasi käsitettä muihin käsitteisiin kirjaamalla niiden assosiaatioarvot taulukkoon (siis arvioiden esim. välillä 0-1) hyvin mekaanisella tavalla koettamatta sen enempää hahmottaa, mikä on aihealueen kokonaiskuva. Sen jälkeen moniulotteisella skaalauksella tai vastaavilla menetelmillä voi luoda itselleen oheisen tyyppisen kartan. R:ään löytyy valmiina sna-niminen kirjasto, joka sisältää gplot-komennon, jolla oheinen kuva on tehty. gplot() piirtää myös assosiaatioita kuvaavat nuolet, toisin kuin esim. peruspakettiin sisältyvä moniulotteisen skaalauksen luova mds-komento.
Ideaa käsittelevä sivu löytyy täältä.
Algoritmi PAK:n tekemiseksi R:llä:
# Käsitteiden nimet vektoriin.
TERMIT=c("mittaaminen","luokittelu","stokast_pros","tulkinta","joukkoteoria","primaarimuoto", "sumea_mittari", "dyn_kuvaus","keskiarvo_kuvaus")
# matriisin alustaminen, nollat NA:iden paikalle (ei välttämätön):
KASITEMATRIISI<-diag(length(TERMIT)) # luodaanpa saman tien ns. identiteettimatriisi
# nimet riveille ja sarakkeisiin
row.names(KASITEMATRIISI)<-TERMIT
KASITEMATRIISI=t(KASITEMATRIISI)
row.names(KASITEMATRIISI)<-TERMIT
fix(KASITEMATRIISI)# Tämä komento avaa taulukon, jonka avulla on helppo sijoittaa arvot paikalleen, kirjoita arvot vain soluihin ykkösten alle, seuraava luuppi luo symmetrisen matriisin. Aloita kaksoisklikkaamalla soluun rivillä 2, sarakkeeseen 1 ja kirjoita esim. ".5". Sen jälkeen paina enter ja kirjoita seur. soluun arvo.
for(i in 1:length(KASITEMATRIISI[,1]))
{ # huom. kaarisulut "{"
for(j in 1:length(KASITEMATRIISI[,1]))
{
KASITEMATRIISI[i,j]=KASITEMATRIISI[j,i]
}
}
# ladataan sna-kirjasto, hae se kuitenkin ensin: install.packages("sna")
library(sna)
# Tehdään kuva:
set.seed(123)
kor <- cor(KASITEMATRIISI)
X11() # avaa ikkunan kuvaa varten, Winissa voi käyttää window(), Macissa quartz()
gplot(sign(kor), edge.lwd = 10*kor, displaylabels = TRUE, label = rownames(kor), vertex.cex=as.vector(colSums(KASITEMATRIISI))/2)
# kokeile myös parametrilla mode="mds" eli:
#gplot(sign(kor), edge.lwd = 10*kor, displaylabels = TRUE, label = rownames(kor), mode="mds")
title("Painotettu assosiaatiokartta - Weighted Association Map", cex.main=2)
Saturday, July 22, 2006
Rekursio R:llä
R:llä voi tehdä myös rekursiivisen kutsun, jossa siis funktion sisällä kutsutaan funktiota itseään:
# Funktio kertoma rekursiona R:llä:
kertoma <- function(luku){
if (luku > 1){
return(kertoma(luku-1)*luku)}
else return(1)
}
# Esimerkki funktion käytöstä:
#> kertoma(7)
#[1] 5040
# Funktio kertoma rekursiona R:llä:
kertoma <- function(luku){
if (luku > 1){
return(kertoma(luku-1)*luku)}
else return(1)
}
# Esimerkki funktion käytöstä:
#> kertoma(7)
#[1] 5040
R-wiki netissä
R:ää käsittelevä wiki löytyy osoitteesta
http://wiki.r-project.org/rwiki/doku.php
Olen alustavasti katsellut jonkinlaisen R-pikakurssin sisältöä kevään kurssin pohjalta ja toivon saavani sen valmiiksi elokuun aikana.
http://wiki.r-project.org/rwiki/doku.php
Olen alustavasti katsellut jonkinlaisen R-pikakurssin sisältöä kevään kurssin pohjalta ja toivon saavani sen valmiiksi elokuun aikana.
Sunday, May 28, 2006
Tilastotiedettä soveltajille
Tommi Viitasen opuksen "Tilastotiedettä soveltajille" pdf-versio löytyy osoitteesta
http://users.utu.fi/totavi/
Kirjassa neuvotaan, kuinka tilastolaskennan perusmenetelmät hoituvat R:llä. Jostain syystä sivua ei löydy enää Googlettamalla. Laitoin sen siksi tänne.
http://users.utu.fi/totavi/
Kirjassa neuvotaan, kuinka tilastolaskennan perusmenetelmät hoituvat R:llä. Jostain syystä sivua ei löydy enää Googlettamalla. Laitoin sen siksi tänne.
Thursday, May 25, 2006
Kurssin loppuraportti 24.5.2006
Tein yliopistopedagogiikan kurssia varten loppuraportin tästä hankkeesta ja ohessa on sen tiivistelmä.
Turun yliopisto
Yliopistopedagogiikan
hankeraportin tiivistelmä
Atte Tenkanen
24.5.2006
Asetin kurssille moniakin tavoitteita, mutta toisaalta lähdin liikkeelle sillä periaatteella, että katsotaan, mitä ehditään. Tärkein tavoitteistani oli esitellä erilaisia mahdollisuuksia kvantitatiivisten musiikkiaineistojen analyysiin. Tämä tavoite lienee täyttynytkin, muut tavoitteista jäivät enemmän tai vähemmän saavuttamatta. Asetin itselleni opettajana tavoitteeksi sen, että oppiminen ja opitut asiat koetaan mielekkäiksi ja mielenkiintoisiksi.
Sain hyviä neuvoja ja ideoita yliopistopedagogiikkakurssilta ja järjestelin aihealueeseen liittyviä asioita mm. mind mapin avulla. Valmista kurssimateriaalia en löytänyt, vaan valmistin sen käytännössä itse. Halusin rakentaa kurssin alusta lähtien mahdollisimman hyvin, mutta huomasin pian, ettei aika riitä lainkaan kaikkeen siihen, mitä olin suunnitellut ja mitä tuli oppituntien valmistamiseen. Tein luentoja varten powerpoint-esityksiä ja algoritmejä, jotka kaikki löytyvät kurssiani varten perustamaltani weblog-sivulta.
(ks. http://musiikintutkimus.blogspot.com , ts. tämä sivu ;-).
Tein 1. periodin lopuksi välitentin, jonka tarkoituksena oli kartoittaa sitä, miten asiat oli ymmärretty. Perustin lopuksi antamani arvosanat pitkälti tämän tentin arvosanoihin. Toisella periodilla kahden opiskelijan esittelemät omat sovellukset toivat lisää mielenkiintoa ja sisältöä kurssiin. Koin nämä luennot itse erityisen antoisiksi.
Ohessa muutamia poimintoja saamastani palautteesta kysymykseen, vastasiko kurssi odotuksiasi?
“Osittain. Aiheen esittelemisen osalta kurssi toimi mallikkaasti. Tunneilla näytettiin laaja kirjo erilaisia sovellusmahdollisuuksia. Nämä näytteet olivat mielestäni onnistuneesti valittu.”
“Odotin kurssilta ehkä ripauksen enemmän myös käytännönläheisyyttä.”
Pelkäsin hiukan sitä, että kurssista tulee liian raskas kotitehtävineen, jos se on sitä jo teoreettisten käsitteidensä puolesta. Asioiden opiskeluun liitettävät "ajattelua aktivoivat" tehtävät jäivät puuttumaan ja niin muodoin myös palautteen antaminen opiskelijoille. Kurssini luennoille poikkesi kaksi yliopistopedagogiikkaan osallistunutta henkilöä ja heiltä saamani palaute oli - oikeastaan yllättäen - rohkaisevaa. Tämä antaa itselleni itsevarmuutta mahdollisesti tuleviin tehtäviin.
Opin kurssin aikana paljon. Siitä oli minulle itselleni hyötyä niin opettajana kuin myös aiheeseen liittyvien uusien ideoiden ja syntyneiden sovellusten vuoksi. Yliopiston viikkoluentoihin perustuva opetus on monessa tapauksessa ehkä ainoa mahdollinen opetusmalli, mutta pienemmissä oppiaineissa ja esimerkiksi oman kurssini tyyppisissä tilanteissa intensiivinen, esimerkiksi viikon pituinen periodi, jossa työskenneltäisiin vaikkapa 6 tuntia päivässä, toimisi varmasti paremmin kuin pitkin periodeja levitetyt tunnit.
Kurssia varten valmistamastani materiaalista on nyt helpompi lähteä eteenpäin, mikäli vastaavantyyppiselle kurssille on joskus tarvetta. Tarkoitukseni on joka tapauksessa järjestää kurssin aikana valmistamani ohjelmointiin liittyvä materiaali käyttökelpoiseksi oheismateriaaliksi esimerkiksi itseopiskelua varten kommentteineen. Saattaapa ohjelmointiin keskittyvä intensiivikurssikin vielä toteutua.
Turun yliopisto
Yliopistopedagogiikan
hankeraportin tiivistelmä
Atte Tenkanen
24.5.2006
Tietokoneavusteinen musiikintutkimus (S1f, 7 op)
Pioneerikurssi - niin itselleni kuin oppiaineelleni
Kurssi Tietokoneavusteinen musiikintutkimus (S1f, 7 op) kuului osana Turun yliopiston, Åbo Akademin ja Turun ammattikorkeakoulun Musicare- yhteishanketta. Kurssille ilmoittautui alun alkaen 9 ihmistä ja sen kävi loppuun 6. Luennot pidettiin perjantaiaamuisin klo 8.30-10.00. Vastaavaa kurssia ei ole Turun yliopiston musiikkitieteen oppiaineessa aikaisemmin järjestetty, joten kyseessä oli pioneerityö. Sitä se oli myös itselleni, joten odotin alusta asti haasteita.Pioneerikurssi - niin itselleni kuin oppiaineelleni
Asetin kurssille moniakin tavoitteita, mutta toisaalta lähdin liikkeelle sillä periaatteella, että katsotaan, mitä ehditään. Tärkein tavoitteistani oli esitellä erilaisia mahdollisuuksia kvantitatiivisten musiikkiaineistojen analyysiin. Tämä tavoite lienee täyttynytkin, muut tavoitteista jäivät enemmän tai vähemmän saavuttamatta. Asetin itselleni opettajana tavoitteeksi sen, että oppiminen ja opitut asiat koetaan mielekkäiksi ja mielenkiintoisiksi.
Sain hyviä neuvoja ja ideoita yliopistopedagogiikkakurssilta ja järjestelin aihealueeseen liittyviä asioita mm. mind mapin avulla. Valmista kurssimateriaalia en löytänyt, vaan valmistin sen käytännössä itse. Halusin rakentaa kurssin alusta lähtien mahdollisimman hyvin, mutta huomasin pian, ettei aika riitä lainkaan kaikkeen siihen, mitä olin suunnitellut ja mitä tuli oppituntien valmistamiseen. Tein luentoja varten powerpoint-esityksiä ja algoritmejä, jotka kaikki löytyvät kurssiani varten perustamaltani weblog-sivulta.
(ks. http://musiikintutkimus.blogspot.com , ts. tämä sivu ;-).
Tein 1. periodin lopuksi välitentin, jonka tarkoituksena oli kartoittaa sitä, miten asiat oli ymmärretty. Perustin lopuksi antamani arvosanat pitkälti tämän tentin arvosanoihin. Toisella periodilla kahden opiskelijan esittelemät omat sovellukset toivat lisää mielenkiintoa ja sisältöä kurssiin. Koin nämä luennot itse erityisen antoisiksi.
Ohessa muutamia poimintoja saamastani palautteesta kysymykseen, vastasiko kurssi odotuksiasi?
“Osittain. Aiheen esittelemisen osalta kurssi toimi mallikkaasti. Tunneilla näytettiin laaja kirjo erilaisia sovellusmahdollisuuksia. Nämä näytteet olivat mielestäni onnistuneesti valittu.”
“Odotin kurssilta ehkä ripauksen enemmän myös käytännönläheisyyttä.”
Pelkäsin hiukan sitä, että kurssista tulee liian raskas kotitehtävineen, jos se on sitä jo teoreettisten käsitteidensä puolesta. Asioiden opiskeluun liitettävät "ajattelua aktivoivat" tehtävät jäivät puuttumaan ja niin muodoin myös palautteen antaminen opiskelijoille. Kurssini luennoille poikkesi kaksi yliopistopedagogiikkaan osallistunutta henkilöä ja heiltä saamani palaute oli - oikeastaan yllättäen - rohkaisevaa. Tämä antaa itselleni itsevarmuutta mahdollisesti tuleviin tehtäviin.
Opin kurssin aikana paljon. Siitä oli minulle itselleni hyötyä niin opettajana kuin myös aiheeseen liittyvien uusien ideoiden ja syntyneiden sovellusten vuoksi. Yliopiston viikkoluentoihin perustuva opetus on monessa tapauksessa ehkä ainoa mahdollinen opetusmalli, mutta pienemmissä oppiaineissa ja esimerkiksi oman kurssini tyyppisissä tilanteissa intensiivinen, esimerkiksi viikon pituinen periodi, jossa työskenneltäisiin vaikkapa 6 tuntia päivässä, toimisi varmasti paremmin kuin pitkin periodeja levitetyt tunnit.
Kurssia varten valmistamastani materiaalista on nyt helpompi lähteä eteenpäin, mikäli vastaavantyyppiselle kurssille on joskus tarvetta. Tarkoitukseni on joka tapauksessa järjestää kurssin aikana valmistamani ohjelmointiin liittyvä materiaali käyttökelpoiseksi oheismateriaaliksi esimerkiksi itseopiskelua varten kommentteineen. Saattaapa ohjelmointiin keskittyvä intensiivikurssikin vielä toteutua.
Tuesday, May 02, 2006
Kevään viimeinen luento 16.5. klo 15
Sovimme, että viimeinen tapaaminen on ti 16.5. klo 15.
Tiistaina ajattelin tarkastella yläsävelsarjaa. Asiahan on ollut ajankohtainen aina Pythagoraasta lähtien ja jaksaa yhä kiinnostaa. Sovelluksia voisi kuvitella löytyvän myös vaikka kuinka paljon. Liittyyhän yläsävelsarja tavalla tai toisella esimerkiksi sellaisiin käsitteisiin kuin äänen väri, intonaatio, (spektraali-)harmonia, asteikot, viritysjärjestelmät, tonaalisuus, konsonoivuus, dissonoivuus ym. ym. Esim. kritisoidulle Krumhansl-Kessler-algoritmille voisin kuvitella kehitettävän yläsävelsarjaa hyödyntävän vastineen, rinnakkaisen algoritmin, joka perustuisi puhtaasti matemaattisiin suhteisiin toisin kuin K-K-systeemi. Se, olisiko sillä jotain yhteyttä havaintoon tai tonaalisesti suuntautuneeseen korvaan, on eri juttu. Myös Huronin konsonanssifunktion tapainen yläsävelsarjaan perustuva konsonoivuutta mittaava systeemi lienee mahdollinen (?)
Jos haluat laskea tasavireisen järjestelmän taajuudet (a1=440 Hz), ne saa oheisella funktiolla.
pitchfreq=function(n){27.5*2^((n-21)/12)}
Funktiolle annetaan syötteenä midisävelkorkeus. 27.5 Hz on alimman pianosta löytyvän sävelen taajuus. Taajuus kasvaa eksponentiaalisesti suhteessa puolisävelaskeliin tuollaisella kaavalla. Kokeile:
pitchfreq(60); # c1
pitchfreq(69); # a1
Jos haluat tulostaa kaikki pianosta löytyvät perustaajuudet, kokeile:
for(n in 21:108){print(pitchfreq(n))}
Oheinen kuva on luotu skriptillä, joka koettaa sovittaa yläsävelsarjaa annettuun sävelkorkeuksien joukkoon ja tulostaa tämän harmonian todennäköisen pohjasävelen. Funktiossa on vielä parantamisen varaa... Parsifal-alkusoitosta on laskettu tahtikohtaisesti pohjasävelet. Klikkaa kuvaa nähdäksesi sen suurempana.

Tiistaina ajattelin tarkastella yläsävelsarjaa. Asiahan on ollut ajankohtainen aina Pythagoraasta lähtien ja jaksaa yhä kiinnostaa. Sovelluksia voisi kuvitella löytyvän myös vaikka kuinka paljon. Liittyyhän yläsävelsarja tavalla tai toisella esimerkiksi sellaisiin käsitteisiin kuin äänen väri, intonaatio, (spektraali-)harmonia, asteikot, viritysjärjestelmät, tonaalisuus, konsonoivuus, dissonoivuus ym. ym. Esim. kritisoidulle Krumhansl-Kessler-algoritmille voisin kuvitella kehitettävän yläsävelsarjaa hyödyntävän vastineen, rinnakkaisen algoritmin, joka perustuisi puhtaasti matemaattisiin suhteisiin toisin kuin K-K-systeemi. Se, olisiko sillä jotain yhteyttä havaintoon tai tonaalisesti suuntautuneeseen korvaan, on eri juttu. Myös Huronin konsonanssifunktion tapainen yläsävelsarjaan perustuva konsonoivuutta mittaava systeemi lienee mahdollinen (?)
Jos haluat laskea tasavireisen järjestelmän taajuudet (a1=440 Hz), ne saa oheisella funktiolla.
pitchfreq=function(n){27.5*2^((n-21)/12)}
Funktiolle annetaan syötteenä midisävelkorkeus. 27.5 Hz on alimman pianosta löytyvän sävelen taajuus. Taajuus kasvaa eksponentiaalisesti suhteessa puolisävelaskeliin tuollaisella kaavalla. Kokeile:
pitchfreq(60); # c1
pitchfreq(69); # a1
Jos haluat tulostaa kaikki pianosta löytyvät perustaajuudet, kokeile:
for(n in 21:108){print(pitchfreq(n))}
Oheinen kuva on luotu skriptillä, joka koettaa sovittaa yläsävelsarjaa annettuun sävelkorkeuksien joukkoon ja tulostaa tämän harmonian todennäköisen pohjasävelen. Funktiossa on vielä parantamisen varaa... Parsifal-alkusoitosta on laskettu tahtikohtaisesti pohjasävelet. Klikkaa kuvaa nähdäksesi sen suurempana.

Tuesday, April 25, 2006
Luento 28.4.2006
TARKENNUST OHJELMA:
Jaa mut juu ny onki sit miälenkiintost asiaa luvas ku Jop kertoo kui hää o analysoinu muutamii kansansävelmämelodioit tiatokoneel. Tehrääki nii, et mää lyhyest ota alux yhe näkökulma Henteli Messias-oratoorio teemoihi ja sit nautita toi Jopi juttu.
Messias_motiivit
***
Tää seuraava oli si vanhaa tiatoo:
Juu mää ajatteli iha alux hiukka vanhoi pikasest kerrat ja sit käyrä hiukka tota tilastotieret viel läpi samal taval ku viime kerral, sillee ärrää näpsytelle.
Ja sit pitäs päättä tehrääks perinteine tent vai ollaanx Henteli ääres hiukka pitemppä. Äänestettä siit sit viel.
Ja sit jos Jop viel esittele lyhykäisest sit skriptiäs.
Jaa mut juu ny onki sit miälenkiintost asiaa luvas ku Jop kertoo kui hää o analysoinu muutamii kansansävelmämelodioit tiatokoneel. Tehrääki nii, et mää lyhyest ota alux yhe näkökulma Henteli Messias-oratoorio teemoihi ja sit nautita toi Jopi juttu.
Messias_motiivit
***
Tää seuraava oli si vanhaa tiatoo:
Juu mää ajatteli iha alux hiukka vanhoi pikasest kerrat ja sit käyrä hiukka tota tilastotieret viel läpi samal taval ku viime kerral, sillee ärrää näpsytelle.
Ja sit pitäs päättä tehrääks perinteine tent vai ollaanx Henteli ääres hiukka pitemppä. Äänestettä siit sit viel.
Ja sit jos Jop viel esittele lyhykäisest sit skriptiäs.
Monday, April 17, 2006
Luennot 21.4.2006
Tein keinotekoisen aineiston, joukon lyhyitä vektoreita, jotka voisivat kuitenkin kuvata jotain musiikillista ominaisuutta. Teemme näistä kuvaajia, vertailemme ja järjestämme niitä eri tavoin. Kysymme, mitkä hahmot ovat keskenään samanlaisia ja millaisia ryhmiä muodostuu? Kyse on siis eräänlaisesta alkeellisesta hahmontunnistuksesta. Basic-juttu, mutta naputellessamme jotain jää selkärankaankin...
Skriptit täällä...
Näillä luennoilla käymme läpi R:ää naputellen. Tuon reference-card-monisteita mukanani, mutta jos niitä löytyy omasta takaa, ottakaa mukaan. Saamme professoristason vieraan 21.4. joten toivottavasti kaikki pääsevät skarppina mukaan ;-)
Skriptit täällä...
Näillä luennoilla käymme läpi R:ää naputellen. Tuon reference-card-monisteita mukanani, mutta jos niitä löytyy omasta takaa, ottakaa mukaan. Saamme professoristason vieraan 21.4. joten toivottavasti kaikki pääsevät skarppina mukaan ;-)
Thursday, April 06, 2006
Luento 7.4.2006

Jotain tuolla tuneR:lläkin voi tehdä???
Kurssia on vielä kolme kertaa jäljellä ja toivottavasti jonkinlainen haju on tullut siitä, mitä musiikintutkimuksen parissa tietokoneella voi esimerkiksi tehdä. En alun alkaenkaan asettanut mitään ehdottomia päämääriä, vaan lähdin liikkeelle sillä periaatteella, että katsotaan mitä ehditään. Artikkelin tekeminen on edelleenkin mahdollista ja sen voisi tehdä niin, että teen analysoitavat matskut ja skriptit valmiiksi analyysia varten ja sitten yhdessä tehdään pieni juttu niiden avulla. Sitä ei kuitenkaan ehdi yhden luennon aikana eikä ihan parinkaan vaan pitäisi viettää jokin kokonainen aamu- ja iltapäivä sen parissa. Jos sellaista halutaan, se sopii minulle.
Kahtena seuraavana kertana ajattelin kuitenkin keskittyä täysin R:n käyttöön, koska siitä saattaa olla nyt eniten hyötyä. Aikaisemmilla kerroilla on ollut esillä joitain mahdollisia lähestymistapoja, joiden pohjalta on toivottavasti syntynyt käsitys, että tietokone voi olla hyvinkin sopiva väline musiikintutkimukseen ja että se ei välttämättä ole niin monimutkaista, etteikö - ainakin konsultaation avittama - voisi joskus itsekin tehdä jotain tietokoneen kanssa.
Ajattelin 7.4. aluksi kerrata joitain asioita yhteenvedonomaisesti ja sen jälkeen testata hiukan tuneR-pakettia, joka on tehty äänenkäsittelyä varten. Itse en juuri tiedä äänen tutkimisesta oikeastaan mitään, mutta sehän ei toivottavasti menoa haittaa ;-) Jos JP, Juha, Jopi tai joku muu tietää jotain, älkää jättäkö kynttiläänne vakan alle. Ajattelin, että katsotaan tuneR-dokumentaatiota sillä silmällä, mitä se sisältää noin pääpiirteissään ja mitä siitä pystymme ymmärtämään. Wavista on kysymys ja jonkinlainen linkki paketissa näyttää olevan jopa lilypond-nuotinkirjoitusohjelmaan.
tuneR:n käyttö vaatii paketin lataamista koneelleen:
install.packages("tuneR") # tai sitten sieltä komentovalikosta graafisesti...
Brahmsin soittoa vaharullalta tuneR-testejä varten:
brahms2.wav
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.
Subscribe to:
Posts (Atom)