Generatiivinen musiikin tuottaminen

Samankaltaiset tiedostot
MUSIIKKI JA TIETOTEKNIIKKA -SEMINAARI 1(11) Jyväskylän yliopisto (korj ) Musiikkia kuvista

Näkökulmia ja työskentelytapoja

Toinen harjoitustyö. ASCII-grafiikkaa

Graafiset käyttöliittymät Sivunparantelu

Kanteleen vapaa säestys

Tutustu Daisy-soittimeen!

Testidatan generointi

Toinen harjoitustyö. ASCII-grafiikkaa 2017

Käyttöohje. Painikkeet:

HARMONIKKA. TASO 1 - laajuus 70 tuntia YLEISET TAVOITTEET. Oppilas

TEKOÄLYN KÄYTTÖÖNOTTO TILITOIMISTOSSA

KLASSINEN KITARA. TASO 1 laajuus 105 tuntia YLEISET TAVOITTEET. Oppilas

ARVO - verkkomateriaalien arviointiin

Kuvankäsittely. DigiReWork Annamari Mäenhovi Kati Nieminen

Cubase perusteet pähkinänkuoressa. Mikä Cubase on? Projektin aloitus

Harjoitus 7: NCSS - Tilastollinen analyysi

Pörisevä tietokone. morsetusta äänikortilla ja mikrofonilla

RADAR - RANDOM DATA GENERATOR

Kuvien lisääminen ja käsittely

Nuottigrafiikka. Tupla viivat, joista jälkimmäinen on paksumpi tarkoittaa sävellyksen loppua. Tahtiosoitus

Tutkielma tasavireisestä, pythagoralaisesta ja diatonisesta sävelasteikosta Teuvo Laurinolli ( )

Automaattinen sovitus-, sävellys- ja harjoitteluohjelma. Suppea opas Band-In-A-Box, jäljempänä BIAB, ohjelman käyttöön Musiikkitalon Mac-luokassa.

Uusi RAPIDMATCH -ohjelma Pikaohje

VHS-kasetin digitointi Adobe Premiere Elements -ohjelmalla

Ennen päivityksen tekemistä

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

Datatähti 2019 loppu

Laskuharjoitus 2 ( ): Tehtävien vastauksia

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

Signaalien generointi

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaihe 3. Antti Jääskeläinen Matti Vuori

Febdok 6.0 paikallisversion asennus OHJEISTUS

Videon tallentaminen Virtual Mapista

AINEOPETUSSUUNNITELMA. PIRKAN OPISTO Musiikin taiteen perusopetus / Pirkan musiikkiopisto

VHS-kasetin kopiointi DVD-levylle Adobe Premiere Elements -ohjelmalla

S09 04 Kohteiden tunnistaminen 3D datasta

Opintokohteen luominen

VASKISOITTIMET (TRUMPETTI, BARITONITORVI, KÄYRÄTORVI, PASUUNA, TUUBA)

Visma.net Approval. Versiosaate 1.40

TIEDONSIIRTO JYDACOM KUSTANNUSLASKENTAOHJELMASTA PLANET-OHJELMAAN

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut

Palauta tehtävä nimellä E1_Omasukunimi.pptx Optimaan. Tallenna tiedosto myös USB -tikulle.

Uutta Remote Support Platform 3.0 -versiossa

Esimerkiksi jos käytössä ovat kirjaimet FFII, mahdolliset nimet ovat FIFI ja IFIF. Näistä aakkosjärjestykssä ensimmäinen nimi on FIFI.

Musiikkipäiväkirjani: Tutkitaan, improvisoidaan ja sävelletään (EIC1) Kerrotaan tarina eri äänteillä, äänillä tai melodioilla, joita on luotu yhdessä.

Huittisten musiikkiopiston opetussuunnitelma Liite 1

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ).

Minimalismi musiikissa. Jaakko Penttinen 2012

Tampereen perusopetuksen musiikkiluokkien opetussuunnitelma

SML - Suomen musiikkioppilaitosten liitto ry. Tuuba. Tasosuoritusten sisällöt ja arvioinnin perusteet

Pelimusiikin generoiminen algoritmisesti

VHS-kasetin kopiointi DVD-levylle Adobe Premiere Elements -ohjelmalla

Perusopetuksen (vuosiluokat 1-4) musiikin opetussuunnitelma

Åbo Akademi klo Mietta Lennes Nykykielten laitos Helsingin yliopisto

Luku 8. Aluekyselyt. 8.1 Summataulukko

Mupe Ops. Musiikkitaito 1. Tavoitteet:

Toimintaperiaate: 2. Kytke virta vastaanottimeen käyttämällä virtalaitetta, jossa on merkintä "horsealarm receiver only".

Tiedosto Muuttuja Kuvaus Havaintoväli Aikasarjan pituus. Intelin osakekurssi. (Pörssi-) päivä n = 20 Intel_Volume. Auringonpilkkujen määrä

SÄHKÖBASSO. TASO 1 laajuus 70 tuntia YLEISET TAVOITTEET. Oppilas

Ohjelmiston toteutussuunnitelma

HP ProBook 430 G5 kannettavien käyttöönotto

Sähköpostitilin käyttöönotto

TIE Ohjelmistojen testaus 2016 Harjoitustyö Vaihe 3. Antti Jääskeläinen Matti Vuori

Sukelletaan Lummeverkkokirjastoon

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

MixW ja Dx-vihjeet (ohje) oh3htu

T Testiraportti - järjestelmätestaus

5 Näppäimistö. 5.1 Näppäimistön eventit

TAMPUURI-käyttäjäpäivät 2014

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Tietokoneohjelmien käyttö laadullisen aineiston analyysin apuna

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Air Sync Käyttöopas. Air Syncin lataaminen. Virran kytkentä ja katkaisu On/Off Air Sync

Lumon tuotekirjaston asennusohje. Asennus- ja rekisteröintiohje

Tilastolliset ohjelmistot A. Pinja Pikkuhookana

SeaMonkey pikaopas - 1

KÄYTTÖOHJE DENVER MPG-4054 NR Mediasoitin

LAS- ja ilmakuva-aineistojen käsittely ArcGIS:ssä

Korvat auki ry. Toimintasuunnitelma. Toimintasuunnitelma ja talousarvio kaudelle Yleistä Toiminnan tarkoitus

S Laskennallinen Neurotiede

Datatähti alkukilpailu

FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen

DTU Lisäohje TotalMedia -ohjelmiston käyttöön. 1 Pääsivu Kun olet avannut TotalMedia -ohjelmiston, näet pääsivun kuten alla kuvassa:

Historiaa. Unix kirjoitettiin kokonaan uudestaan C-kielellä Unix jakautui myöhemmin System V ja BSDnimisiin. Kuutti, Rantala: Linux

Viva-16. Käyttöohje Veikko Nokkala Suomen Videovalvonta.com

1 Yleistä Kooste-objektista Käyttöönotto Kooste-objektin luominen Sisällön lisääminen Kooste objektiin Sivut...

Ilmaisia ohjelmia laserkeilausaineistojen käsittelyyn. Laserkeilaus- ja korkeusmalliseminaari Jakob Ventin, Aalto-yliopisto

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

Kansionäkymä listasta suuriin kuvakkeisiin

Ohjelmistojen mallintaminen

Kuinka ladata tulostusprofiilit Antalis ICC Profile Centrestä

Sonera Viestintäpalvelu VIP VIP Laajennettu raportointi Ohje

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Musiikkipäiväkirjani: Kuunnellaan ääniä ja musiikkia (LM1) Kuunnellaan ja nimetään ääniä, joita eri materiaaleilla voidaan saada aikaan.

tulkitsee musiikillisen muokkaa musiikkia esittämistä

NTG CMS. Julkaisujärjestelm. rjestelmä

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

Vakka-Suomen musiikkiopisto

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Opintokohteen luominen

Transkriptio:

Automatisoitu musiikin analyysi ja haku seminaariesitys 24.11.2002 Generatiivinen musiikin tuottaminen Lauri Gröhn Gallery Music from Pictures www.synestesia.com Tiivistelmä Esiteltävä Synestesia-ohjelma (Java-sovelle) voi olla hyödyllinen väline kun halutaan tuottaa eri parametrien suhteen toisiaan lähellä olevaa testidataa (midi-tiedostoja) kehitettäessä automatisoitua musiikin analyysia ja hakua. Esiteltävä menetelmä miditiedostojen tuottamiseksi mistä tahansa kuvasta saattaa antaa muitakin virikkeitä ja uusia ideoita. Kehitetyn musiikin generoinnin menetelmän metaforana voidaan pitää kuvanveistoa, jossa lähdetään kivenkappaleesta tai puunpökkelöstä, joka inspiroi kuvanveistäjää tiettyyn ratkaisuun. Esiteltävä menetelmä perustuu kuvan pikseleiden poissuodattamiseen ja toisaalta useiden musiikillisten valintaparametrien käyttöön. Kunkin sävellyksen pohjana oleva kuva ja parametriluettelo ovat yhdessä sävellyksen metapartituuri. 1 Johdanto Tässä esityksessä käsitellään vain Synestesia-ohjelmiston avulla tapahtuvaa musiikin automaattista generointia. Lukuisiin muihin vaihtoehtoisin voi tutustua Internetin välityksellä tai esityksen lopussa mainittujen kirjojen perusteella. Synestesia on säveltämisen kehitysjärjestelmä, jossa ei ole omaa käyttöliittymää ja jota ajatetaan JBuilder Java-kehitysympäristön tai muun vastaavan kautta. Tyypillinen konfiguraatio on sisältää JBuilderin käyttöliittymän, kuvakansion ja miditiedostokansion (liite 1). Kun parametrit on valittu, generoi ohjelma käynnistyksen jälkeen miditiedoston muutamassa sekunnissa. (liite 2). Syntyvä midi-tiedosto voidaan soittaa millä tahansa mediasoittimilla. Musiikkiesimerkkejä midi- ja mp3-muodossa on runsaasti kuvineen nettisivulla www.synestesia.com. Toistaiseksi en ole suorittanut miditiedostojen jälkikäsittelyä. Raakapartituurista näkee, että jos musiikki halutaan saada esitettävään muotoon, on miditiedostosta saatavaa partituuria (liite 3) muokattava käyttökelpoisempaan muotoon (liite 4). Generoinnissa syntyy kokonaisia sävellyksiä, jotka ovat parametreistä riippuen minimalistisia, new age tyylisiä tai vahvasti klusteroituja, genrenä lähinnä klassinen nykymusiikki. Kestot ovat olleet minuutista 10 tuntiin, Ohjelmassa ei ole lainkaan käytetty satunnaisuutta. Tässä esityksessä käydään läpi joukko Synestesia-ohjelman ideoita erittäin karkealla tasolla.

2 2 Kuvan suodatus Ohjelmassa valitun kuvan kunkin pikselin r/g/b arvot lasketaan yhteen (moodi 0) tai kerrotaan keskenään (moodi 1) ja jokaisella suodatuskerralla (parametri) ne pikselit jotka ovat johtaneet yleisimmin esiintyvään arvoon veistetään pois. Kuvassa 1 ylinnä alkuperäinen, seuraavana moodissa 0 suodatettu 10 ja 400 kertaa ja alinna moodissa 1 suodatettu 100 ja 400 kertaa. 3 Kuvan pilkkominen Kanavien (parametri ) määrästä riippuen kuva jaetaan pystysuunnassa yhtä suuriin lohkoihin

3 ja osien (parametri) määrästä riippuen kunkin osan pikseleinä käytetään käytössä olevien pikselien määrää jaettuna osien määrällä. Osassa 1 käytetään tumminpia pikseleitä ja viimeisessä vaaleimpia. 4 Säveltasojen määräytyminen Pikselistöä käydään läpi ajallisesti vasemmalta oikealle niin monta kertaa kuin sävellyksessä on osia. Aika-akseli siis kulkee vasemmalta oikealle. Sävelkorkeus määräytyy koko sävellyksen korkeimmasta nuotista (parametri), kunkin trakin suhteellisesta säveltasosta ylempään verrattuna (parametrijoukko) ja valitusta asteikosta, joita voidaan muodostaa mielivaltaisesti lisää: Pikseleitä luetaan kussakin trakissa ylhäältä alas. Sävelkorkeudet, volyymi ja ne saavat arvoikseen midi käytettäviä arvoja. On mahdollista, että jokaisella trakilla on oma sävelasteikkonsa. 5 Musiikilliset parametrit Tempo, instrumentit jne. voidaan valita seuraavilla parametreilla tai parametrijoukoilla (taulukkosta jokaiselle trakille erikseen. Harmoniat syntyvät trakin vertikaalinuottien määrästä, minimi-intervallista ja sävelalan laajuudesta.

4 Kunkin nuotin volyymi määräytyy seuraavalla tavalla: 6 Muutamia erikoisuuksia Koska musiikkia voidaan generoida mistä tahansa kuvasta, ovat muutamat yksityiskohdat tuottaneet melkoisesti lisätyötä. Kuvasta riippuen on mahdollista, että musiikkiin tulee liian pitkiä taukoja. Ne on eliminoitu parametrillä, joka määrittelee sallitun maksimitauon. Liian pitkän tauon uhatessa ohjelma supistaa tauon parametrin ilmaisemaan pituuteen. Sävellyksen alun ja lopun pikselit on suodatettava ylimääräisellä tavalla, jottei sävellys ehkä alkaisi voimakkaalla purskeella tai lopu ikään kuin seinään. Lisää yksityiskohtia löytyy koodista, johon (vanha versio) pääsee käsiksi nettisivulta www.synestesia.com. 7 Lopuksi Synestesia-ohjelmassa on Java-koodia nykyisellään runsaat 500 riviä ja koska käyttöliittymää ei ole, ei olio-ohjelmointia ole toteutettu taiteen sääntöjen mukaisesti. Kehitys-ympäristönä ohjelma on toiminut mainiosti, teknisiin rakenteisiin ei ole tarvinnut puuttua. Suoritin uudelleenohjelmoinnin kaksi vuotta sitten. Viitasaaren sävellyskursseilla tulleen muutosehdotukset olen pystynyt toteuttamaan muutaman rivin lisäyksillä tai muutoksilla. Vaikeimmaksi haasteeksi on osoittautunut midin rytmisetin hyödyntäminen. Useiden yritystenkään jälkeen ei sopivia algoritmeja ole löytynyt. Sellaisten löytyminen voisi tuoda mahdollisuuksia siirtyä populaarimpaan suuntaan. Aivan uutena mahdollisena haastena on kehittää ohjelma, joka tekisi staattisen kuvan miditiedostosta. Näin saatuja kuvia voisi käyttää uusien midi-tiedostojen generointiin, jolloin syntyisi eräänlainen korkeamman tason musiikkia tuottava soluautomaatti Kehitetyn Java-sovelteen avoin lähdekoodi (kevään 2002 versio) löytyy nettisivulta www.synestesia.com kuten myös lukuisa joukko midi- ja mp3-tiedostoja kuvineen.

5 Kirjoja generatiivisesta musiikista David Cope: The Algoritymic Composer. A-R Editions 2000. Esittelee generatiivisen säveltämisen historiaa ja käsitteistöä ja romppu sisältää useita ohjelmia algoritmiseen säveltämiseen. David Cope: Virtual Music, Computer Synthesis of Musical Style. The MIT Press 2001. Käsittelee Copen kehittämiä ohjelmisto ja rompun näytteillä voi testata kysyään erottaa Copen tyyliemulaatiot alkuperäisistä klassisista pianosävellyksistä. Eduardo Reck Miranda: Composing Music with Computers. Focal Press 2001. Käy läpi erilaiset generatiivisen säveltämisen paradigmat ja sisältää useiden ohjelmistojen esittelyjä ja rompulla itse ohjelmia. Iannis Xenakis: Formalized Musi, Thoght and Mathematics of Music. Pendrakon Press 1992. Katso sivuilla 329-325 liite The new UPIC system. UPIC tuottaa audiodata graafisesta datasta. Kuvaliitteet Liite 1: Kehitysympäristö käyttöliittymä parametrien valintavaiheessa Liite 2: Näyttö generoinnin tapahduttua Liite 3: Midi-tiedostosta saatu raakapartituuri, esimerkkinä Time is Up Liite 4: Raakapartituurista muokattu lähes muusikoiden soitettavissa oleva partituuri Liite 5: Midi tiedostosta saatu raakapartituuri

6 Liite 1: Kehitysympäristö käyttöliittymä parametrien valintavaiheessa Keskellä Java-lähdekoodia JBuilder 9 ympäristössä. Generointi käynnistyy vasemman olevasta sinisellä maalatusta kohdasta ja generointi kestää muutaman sekunnin. Oikealla pala kuvahakemistoa, josta haluttu kuva (.jpg) voidaan poimia ja alhaalla oikealla kansio, johon miditiedosto generoituu.

7 Liite 2: Näyttö generoinnin tapahduttua Vasemmassa puoliskossa alkuperäinen kuva, siitä muodostettu harmaasävykuva, josta varsinaisesti filteröintii alkaa, ylempänä filteröity kuva ja ylävasemmalla kuvan ne pikselit, joita tässä generoinnissa on käytetty musiikin geneointiin. Kuvasta ei voi lukea sävelkorkeuksia kuin suuntaaantavasti eikä kuvasta näy missä säveksen osassa kutakin pikseliä on käytetty, eikä siis ajanhetkeä, vaikka aika kulkeekin vasemmalta oikealta. Testiparametrin muutoksella saadaan erikseen näkyviin myös kussakin osassa käytetyt pikselit.

Liite 3: Midi-tiedostosta saatu raakapartituuri, esimerkkinä Time is Up, sivu 1/16 8

9 Liite 4: Raakapartituurista muokattu lähes muusikoiden soitettavissa oleva partituuri, sivu 1/16 Liite 5: Midi-tiedostosta saatu raakapartituuri, osa