GenJam En musikalisk genetisk algoritm?

Relevanta dokument
Interaktion med den genetiska algorithmen GenJam

Artificiell Musik? AI som kompositör

Genetisk programmering i Othello

Grundläggande Idéer Algoritmens komponenter Numerisk optimering Genetisk Programmering. Genetiska Algoritmer

Genetiska algoritmer. Henrik Hansson Rapport, CDT212 Mälardalens Högskola

GENETISK PROGRAMMERAD MUSIK OCH

Fördjupningsuppgift 729G43 Linköpings Universitet alelo408. Genetisk börshandel. Att hitta mönster i börsmarknaden med genetiska algoritmer

Genetiska Algoritmer. 10 mars 2014

Centrala begrepp och musikteori

genetiska algoritmer

Utveckla resonemang om musicerande

Om du går in på Wikipedia kan du se några av tavlorna och lyssna på dem.

Mångfald inom en art. Genotyp. Genpool. Olika populationer. Fig En art definieras som

GRUNDLÄGGANDE MUSIKTEORI

0XVLNVNDSDQGHJHQRP *HQHWLVN 3URJUDPPHULQJ

EVOLUTIONENS DRIVKRAFTER ARTBILDNING

Genetiska algoritmer

Mångfald inom en art. Genotyp. Genpool. Olika populationer. Fig En art definieras som

RÖDA TRÅDEN MUSIK ÅK 1 ÅK

Four Chords Förutsägbart eller genialiskt

Företagets slogan eller motto MUSIK

Symboler och abstrakta system

Fokus på förmågorna! Koll på kunskapskraven.

Genetiska Algoritmer

Genetiska algoritmer. vem raggar på vem? Petter Bergqvist, kogvet 2

Låtskrivarboken. Monica Welander. Hands Up Music. Innehåll:

Genetiskt Programmerad Musik

Vad man bör tänka på när man har en liten ras? Erling Strandberg, professor vid institutionen för husdjursgenetik, SLU, Uppsala

Regression med Genetiska Algoritmer

Ansökan om tillstånd att använda andra behörighetsvillkor för konstnärlig kandidat musiker vid Karlstad universitet

Förord. ra och Ackordspel (Reuter&Reuter), men andra böcker kan naturligtvis också användas (se

SML/FMF - Finlands musikläroinrättningars förbund. Piano. Nivåprovens innehåll och bedömningsgrunder

Kapitel 13. Genetiska algoritmer

Instudering inför musikteoriprov åk 6

Three Monkeys Trading. Tärningar och risk-reward

Det musikaliska hantverket

Uppdelning av ett artificiellt neuralt nätverk

NEUROEVOLUTION MED TÄVLINGSINRIKTAD SAMEVOLUTION I FLERA MILJÖER MED ÖKANDE KOMPLEXITET

Musik kunskapskrav år 7-9 Eleven kan delta i gemensam sång o följer då XXX rytm och tonhöjd. F E C A. Namn: Klass: Betyg: med säkerhet

RÖDA TRÅDEN MUSIK ÅK 1 ÅK

PROJEKT STAFFAN STALLEDRÄNG

Planering i Musik Ö7 Ansvarig lärare Jenni Jeppsson jenny.jeppsson@live.upplandsvasby.se

Namn: Klass: Musikteori

Musicerande och musikskapande

Centralt innehåll år 4-6 Kunskapskrav E:

SHAZAM! En!smart!musiktjänst! Linha108! Fördjupningsarbete!729G43!

RÖDA TRÅDEN MUSIK ÅK 1 ÅK

EVOLUTIONÄR ALGORITM FÖR VÄGPLANERING I DATORSPEL

KUNSKAPSSTEGE FÖR DRAGSPEL

Evolution, del 2: Evolutionsprocesser och förändringar i det genetiska materialet. Jessica Abbott Forskare Evolutionär Ekologi

LÅNGÖGON OCH GLASKALSONGER. Junibackens pedagogiska program för förskoleklass på temat språk och kommunikation

VT11 PLANERING I MUSIK 8A, 8C och 8E

Olika sätt att bearbeta egna och gemensamma texter till innehåll och form. Hur man ger och tar emot respons på texter. (SV åk 4 6)

Planering Programmering grundkurs HI1024 HT 2014

MusikteoriForum Öst !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Finlands musikläroinrättningars förbund rf. Fagott. Nivåprovens innehåll och bedömningsgrunder

NeuroEvolving Robotic Operatives

Musik. årskurs

Kunskapskrav årskurs 6

Sammanfattning Arv och Evolution

PROGRAMMERINGSTEKNIK TIN212

729G11 Artificiell Intelligens Marcus Johansson Marjo581. Fuzzy logic. Marcus Johansson Marjo581

Om detta må ni berätta... Om dåtid, nutid och framtid. Namn. Grupp

Uppgift 1 (grundläggande konstruktioner)

Finlands musikläroinrättningars förbund rf. Flöjt. Nivåprovens innehåll och bedömningsgrunder

Evolution. Hur arter uppstår, lever och försvinner

Handbok Minuet. Sandro S. Andrade Översättare: Stefan Asserhäll

KRAVNIVÅER. Åtvidabergs kommuns grundskolor MUSIK

Evolution, del 3: Arter och artbildning. Jessica Abbott Forskare Evolutionär Ekologi

Datalogiskt tänkande är mer än Programmering. Fredrik Heintz Linköpings universitet

Spel som interaktiva berättelser

Lektionsanteckningar 11-12: Normalfördelningen

KURSPLAN I MUSIK OM SKOLAN STYRDOKUMENT

Här följer den pedagogiska planeringen för det arbetsområde som kommer att pågå från och med vecka 5, i samarbete med SO.

Evolution. Hur arter uppstår, lever och försvinner

Tajmingen av belöningen, både tidsmässigt och placering, samt den gradvisa ökningen av svårighetsgrad är väsentlig för resultatet.

MinMax Algoritmen Implementation och optimering. Joakim Östlund 15 juni 2004

Trapped in (a) Cage. Per Anders Nilsson PhD/Professor Högskolan för scen och musik Göteborgs universitet

public static void mystery(int n) { if (n > 0){ mystery(n-1); System.out.print(n * 4); mystery(n-1); } }

IE1205 Digital Design: F10: Synkrona tillståndsautomater del 2

Magnus Nielsen, IDA, Linköpings universitet

Undervisningen ska även bidra till att eleverna får möta och bekanta sig med såväl de nordiska grannspråken som de nationella minoritetsspråken.

SML/FMF Finlands Musikläroinrättningars förbund rf. Cello. Nivåprovens innehåll och bedömningsgrunder

Övergripande kursplaner för Härryda Kulturskola För mer detaljerad information om vår våra kurser se specifika ämneskursplaner

Datalogiskt tänkande för alla

Teoriboken praktisk musikteori

Antagning till högre utbildning höstterminen 2016

Evolution. Hur arter uppstår, lever och försvinner

Undervisningen i ämnet svenska ska ge eleverna förutsättningar att utveckla följande:

Finlands musikläroinrättningars förbund rf. Trumpet. Nivåprovens innehåll och bedömningsgrunder

Finlands musikläroinrättningars förbund rf. Trombon. Nivåprovens innehåll och bedömningsgrunder

Svenska som andraspråk

Gränssnitt för FakeGranska. Lars Mattsson

K 1 APITEL Åttondelar

Kursplan för musik i grundskolan

V. TEKNISKA REGLER, SOLODANS för säsongen 2017/2018

Matematikundervisning med digitala verktyg* Översikt över modulstrukturen

VÄGPLANERING MED SLUMPMÄSSIG GENUSFÖRDELNING I GENETISKA ALGORITMER

SVENSKA SOM ANDRASPRÅK

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock

Transkript:

GenJam En musikalisk genetisk algoritm? Kognitionsvetenskapliga programmet

Abstract GenJam är en modell av en jazzmusiker som lär sig att improvisera. Det är en interaktiv genetisk algoritm som interagerar med en mänsklig mentor för att lära sig improvisera samt att den jammar och genererar solon som bygger på vad en mänsklig medimprovisatör just spelat. Som genetisk algoritm är den rätt intressant då den använder sig av två populationer samt inte bara satsar på att få så bra avkomma som möjligt utan även en musikalisk variation. Som vanliga genetiska algoritmer använder sig GenJam av fitnessvärden för att värdera individerna i en generation, men utöver detta kan den generera solon utan en mentor som bedömer dess solon.

Innehåll 1. Inledning... 1 2. Beskrivning... 2 3. GenJams Uppbyggnad... 3 4. GenJams Operatorer... 4 4.1 Genetiska operatorer... 4 4.2 Mutationsoperatorer... 6 5. Inlärning och Demo/Performance... 8 5.1 Interaktion med GenJam... 9 6. Diskussion... 11 7. Referenser... 12 7.1 Artikelkällor... 12 7.2 Webbkällor... 12

1. Inledning Är maskiner kapabla till att skapa musik som är tilltalande för det mänskliga örat? John A. Biles, professor på Rochester Institue of Technology, började 1993, skapa en modell interaktiv genetisk algoritm som lär sig att improvisera jazzmusik. Denna döpte han till GenJam som kortform för The GENetic JAMmer. GenJam kan nu 300 låtar som den spelar tillsammans med John Biles i en virtuell kvintett. 1

2. Beskrivning En genetisk algoritm (GA) är baserad på Darwins naturligt urvalsteori, där individer i bättre form/fitness, klarar sig bättre och och överlever till nästa generation. En genetisk algoritm ser lösningar på problem som en gen I en population. En generell genetisk algoritm använder sig av enkla handlingar för att simulera evolution. Fitnessvärdet för varje individ räknas ut efter den första generationen är slumpmässigt skapad. (Kim, 2006) GenJam bygger på den genetiska algoritmens principer, men är något modifierad. GenJam använder sig av två populatoner, en population med taktindivider och en med frasindivider. GenJam har tre lägen, ett inlärningsläge, ett genereringsläge och ett demoläge. Figur 1. Schema över GenJams struktur som visar utbytet med mentorn och kopplingen till populationerna. En annan skillnad från vanliga genetiska algoritmer är att GenJam är en så kallad IGA, en interaktiv genetisk algoritm. GenJam lär sig genom att ta emot input från en mänsklig mentor, samt att den kan generera egna jazzsolon efter att lyssnat på ett solo, där GenJams solo bygger på det tidigare spelade solots toner. Vid Inlärningsläget bedömer en mänsklig mentor hur bra GenJam gör genom att skicka in g för good eller b för bad. Inlärningsläget bygger upp fitnessvärden och använder sig inte av några operatorer. Fraser väljs ut slumpmässigt utan att ta hänsyn till fitnessvärde. Demoläget är för presentation av vad den lärt sig hitills, där GenJam har genererat solon åt redan inlärda låtar. (Biles, 1994) 2

3. GenJams Uppbyggnad GenJam består av två olika kromosompopulationer, en taktpopulation och en fraspopulation. GenJams taktindivider består av nothändelser som agerar i direkt respons till en MIDIhändelse (Musical Instrument Digital Interface), det vill säga, individerna representerar en ton som spelas upp av MIDImodulen. Varje taktindivid har åtta nothändelser, som var och en representerar en åttondel i en takt. Här nedan är ett exempel på en taktindivid: Denna sekvens representerar takt 57, med fitnessvärdet 22. Siffrorna i själva individen representerar toner i ackordet som GenJam har fått inmatat. Taktinidviderna är alltså inte en fast ton utan en skalton i ett ackord, vilket varierar med ackordet. Om vi ser på taktindivid 57 som förekommer två gånger i frasindivid 23. Vid en ackord följd på C7 F7 C7 C7 kommer taktindivid 57 på både ackordet C7 och F7 men GenJam kommer spela olika sekvenser. På C7-ackordet blir tonföljden E C A C, medan under F7-ackordet blir tonföljden Eb C G C fast med samma rytm. GenJam har 14 nothändelser, som dessutom kompanjeras av händelserna 0 och 15, där 0 representerar en paus och 15 förlänger föregående ton. Detta för att GenJam ska kunna spela rytmer och inte bara raka åttondelar. GenJams fraser bygger på en följd av taktindivider. Fraser och takter har olika separata fitnessvärden, då taktindividens fitness bedömer hur bra själv takten är medan frasindividens fitness bedömer hur bra kombinationen av takter är. En fras med fyra taktinvider likt den till höger kallas för GenJam Normal Form, eller GJNF. (Biles, 2002) I figur 2 med ett fitnessvärde på -12. De nästkommande siffrorna representerar takterna som står nedanför. Frasen består av takt 57, följt av takt 57, som sedan följs av takt 11 och 38. Figur 2. Ett exempel på hur en fras är uppbyggd samt de takter den innefattar 3

GenJam har bara 48 frasindivider och 64 taktindivider att jobba med. För att få en så effektiv frasrepresentation som möjligt måste taktpopulationen vara upphöjningsbart med 2. Vilket kan ses till höger i figur 2. (Biles, 1994) Figur 3. Exempel på en fras med sina takter på bit-nivå. 4. GenJams Operatorer GenJam använder sig av två typer av operatorer i under genereringsläget. 4.1 Genetiska operatorer 4.1.1 Initialisering Vid initieringen av GenJam skapas takt- och fraspopulationerna på slumpmässigt vis. Fitnessvärdena för takt- och fraspopulationerna börjar samtliga på 0. Notvärderna slumpas fram bland de 16 olika värdena 1-14, som representerar toner samt 0 och 15 som står för paus respektive förlängning av föregående värde. Sannolikheten för värde 0 och 15 ska väljas är 5/24 samt 14/24 för värdena 1-14. Det finns totalt åtta värden i en takt. 4.1.2 Fitness Eftersom GenJam är en IGA, en interaktiv genetisk algoritm. Detta medför att GenJam behöver en mänsklig mentor som berättar för den vad som är vilka fraser och takter som är bra eller dåliga. GenJam tränas genom att den får improvisera solon till låtar som ackompanjeras av en synthesizerkompgrupp samtidigt som mentorn bedömer hur bra solon den genererar. Som nämnts tidigare bedömer mentorn hur bra solon som genereras genom att ge GenJam input i form av bokstäverna g och b, g för good och b för bad. Ett g ökar fitness med ett och ett b sänker fitness med ett. Fitnessvärdena har ett tak och ett golv på 30 respektive - 30. (Biles, 1994) 4

4.1.3 Urval GenJams urvalsprocess kallas för modified tournament selection process, vilket innebär att fyra individer väljs ut slumpmässigt och helt utan hänsyn till fitnessvärdet. Dessa fyra bildar en familj, där de individer med högst fitnessvärde blir föräldrar. De två individerna med lägst fitnessvärde ersätts av två individer som blir avkomman av föräldrarna. På detta sätt byts halva populationen ut varje generation. Den nya avkomman kan inte delta I senare familjer samma generation som de skapades. För att de 32 nya taktindividerna (GenJam hanterar 64 taktindivider per generation) ska höras av mentorn placeras de nya individerna i de åtta första nya fraserna som spelas upp. Dessa åtta moder -fraser ersätter förlorarna i en fyrfras- turnering som är baserad på frasernas fitnessvärde. De resterande 16 fraserna delas upp i familjer som beskrivet tidigare enligt modified tournament selection process. (Biles, 1994) Figur 4. Illustration av algoritmen för GenJams modified tournament selection process 5

4.2 Mutationsoperatorer 4.2.1Taktindivd För att förnya populationerna så att de inte fastnar i ett lokalt maximum används mutationsoperatorer för att snabba på inlärningsprocessen. I tabellen till höger listas de mutationsoperatorer som nyttjas vid generering av bättre generationer samt hur de olika mutationsoperatorerna påverkar taktindividerna. Den omvända mutationen vänder bara på taktindividens notvärden. Rotationsmutationen roterar notvärdena tre steg åt höger. Notvärdena i slutet av individen hamnar först i ordningen. Inverteringsmutationen tar 15 minus det aktuella notvärdet. För de vanliga notvärdena ändras de till sina ungefärliga toner runt tonen C4. Pauser (0) blir förlängningar (15) och förlängningar blir pauser. Operatorerna sortera tonerna stigande samt fallande, sorterar tonerna i stigande respektive fallande ordning men förlängningar och pauser håller sin vanliga plats. Vid transponeringmutationen ändras tonerna med ett slumpvalt värde (1-4) åt det håll som har störst utrymme. Om ett värde skulle gå utanför de tillåtna värdena går man tillbaka till så många steg som går över det högsta tillåtna värdet, till exempel 12 ska upp 3 steg blir 13, (12-13, 13-14. 14-13). (Biles, 1994) Tabell 1. Exempel på hur mutationsoperatorerna påverkar en taktindivid som genomgått mutation. 6

4.2.2 Frasindivid Liksom taktindividerna användas mutationsoperatorer även på frasindivider. Några operatorer är identiska med de som tillämpas på taktindividerna. Tyngdpunkten i den här delen kommer ligga på de frasunika mutationerna. Vid genetisk reparation byts den fras med lägst fitnessvärde (här, 38) ut mot en slumpvald fas (29). Den andra frasunika mutationsoperatorn är är att ta fram en superfras. En superfras, är individer som valts för att de har vunnit ett tournament, Tabell 2. Exempel på hur mutationsoperatorer ändrar en frasindivid. som går ut på att ha så högt fitnessvärde som möjligt. Superfrasen är ett exempel på extrem mutation då den inte har några likheter med sina föräldrar. I tabellen ser vi att fras 57 har vunnit ett tournament för att få stanna kvar i frasen. (1994) Då GenJam skiljer sig från vanliga genetiska algoritmer genom att den inte bara vill hitta den mest optimala lösningen utan den mest estetiskt tilltalande lösningen, har GenJam två operatorer som är speciella för att förhindra skapandet av en superindivid som kommer populera alla fraser (Biles, 1994). Det första av specialmutationerna är frasuttunnare - mutationen, vilken ersätter en slumpmässigt vald takt för den takt i den fras som är vanligast i hela fraspopulationen med en taktindivid som är mindre vanligt förekommande. (Corne, 2001) Den andra specialmutationen är föräldralös fras som skapar en ny fras genom att välja vinnare ur fyra självständiga tournaments där vinnarna är de minst vanligt förekommande takterna i fraspopulationen. Detta löser problemet med att få en superinvidid som dominerar alla fraser, vilket skulle dämpa den musikaliska variationen. (Biles, 1994) 7

5. Inlärning och Demo/Performance För att GenJam ska kunna skapa solon måste en mänsklig mentor träna den. Detta sker genom att GenJam får tillgång till tempo, ackord, samt kan spela sina solon med hjälp av en MIDImodul, vilket visas i figuren till höger. I Chorusboxen till höger får GenJam information om hur låten ska spelas, när den ska improvisera, eller spela så kallade trading fours med sin medimprovisatör, fyra takter var, kan även vara åtta takter. Boxen säger även när GenJam ska vara tyst eller spela ett redan skrivet tema som ofta spelas i början och slutet av låten. I Ackordföljdsboxen Figur 5. Mer detaljerat schema over GenJams struktur, med faktiskt input och output får GenJam information om vilket instrument den ska spela på den aktuella låten, vilket representeras av 4an vi ser i boxen. 160 visar att låten går i 160 bmp (slag per minut), S står för att det är swingkänsla och inte raka åttondelar, samt så visas ackordföljden.(biles, 2002) Inlärningsläget är bara till för att bygga upp fitness och använder på så vis inga operatorer. Fraser väljs ut slumpvist oberoende av fitness och får sedan respons i form av g eller b. Genom att öka fitnessvärdet För att GenJam ska kunna improvisera solon måste den känna till hur många Chorus lång låten är, vilka ackord som kompgruppen spelar samt om det är rakt eller swing. Figur 6. Schema over hur GenJam star I förhållande till mentorn med direktkontakt till takt och fraspopulation där ett ständigt utbyte sker. 8

Under själv inlärningen interagerar GenJam med mentorn samt med de två populationerna på det sätt som visas till höger. Mentorn ger som beskrivet tidigare respons på solon genom att mata in g eller b. För att förstärka sin bedömning kan mentorn trycka fler gånger på den tangeten som speglar sin åsikt. För att mentorn ska ha tid på sig att bedöma GenJams solon så sker bedömningen med två slags förskjutning. Så respons som ges under första eller andra slaget i en takt påverkar föregående takt, medan slag tre och fyra återkopplar till den aktuella takten. Demo-/Performanceläget är ett framträdande som väljer ut fraser genom GenJams modified tournament selection process som tar hänsyn till både frasernas fitness samt de tillhörande takternas fitness. (Biles, 1994) 5.1 Interaktion med GenJam Genetiska algoritmer har alltid problem med den flaskhals som är fitnessvärden. GenJam har en lösning på detta. GenJam har tagit steg från EC (evolutionary computation) och har blivit en självständig agent. Det betyder att när flaskhalsen tas bort helt och hållet. När GenJam och dess mänskliga improvisatör spelar sina trading four så används inga fitnessvärden alls. Då GenJam endast har 1/32 att generera ett svar genom GJNF som bygger på den mänskliga improvisatörerns improviserade slinga, krävs det att GenJam alltid genererar bra svar. Intelligensen ligger då i GenJams mutationer (Biles, 2002). Figur 7. Schema over hur GenJam är uppbyggt under ett trading fours -chorus 9

Lick -databasen består av minst sexton i GJNF. Licksen kan komma från vem som helst och implementerade till GenJams databaser. När en låt spelas kollar GenJam upp vilka licks som är valda till den låten bygger takt- och fraspopulationer på följande sätt som även är illustrerat i Figur 8: A. Välj ut sexton fyrtakters-licks slumpvist ur databasen B. Bygg takt-populationen från de 64 taktern i licksen C. Bygg 16 frasindivider för att representera de ursprungliga 16 licksen D. Bygg 32 fler frasindivider genom att använda intelligent överkorsning av de första 16 fraserna Den intelligenta överkorsningsoperatorn som som nämns på punkt D, används under inlärning från databas väljer överkorsningspunkter så att de resulterande takter bevarar föräldrarnas horisontella intervall (melodiös karaktär) (Biles, 2005). Barnet som bevarar dess föräldrars horisontella intervall. Denna intelligenta överkorsning skapar en avkomma som blandar databasens licks och som låter bra utan behovet av fitness. (Biles, 2002) Figur 8. Illustration för algoritmen för GenJams inlärning från databas. (biles, 2002) 10

6. Diskussion Efter att ha läst om GenJam och om genetiska algoritmer förstår man att det är komplexa system. Genom att skapa musik genom genetiska algoritmer har man fler problem än än vanlig genetisk algoritm. Man vill hitta en så bra generation som möjligt samtidigt som man inte är intresserad av en superindivid, som dominerar populationerna och dämpar den musikaliska variationen. Det är intressant hur en mänsklig mentor kan avgöra hur tilltalande ett solo är för det mänskliga örat Detta är dock en lång process och många solon som måste lyssnas genom. Man kan även tänka att systemet inte är helt intelligent eftersom det måste ha en människa som fitnessindikator. Detta har åtgärdats på senare tid i och med att GenJam kan använda sig av databaser och generera solon under chorus då GenJam byter takter (trading fours) med sin medimprovisatör, vilket fungerar helt utan fitnessflaskhals, vilket är GenJams Normalforms (GJNF) största svaghet. 11

7. Referenser 7.1 Artikelkällor Biles, J (1994). GenJam: A Genetic Algorithm for Generating Jazz Solos. Proceedings of the 1994 International Computer Music Conference. Aarhus, Denmark: International Computer Music Assiociation Corne, D W, Bentley P J. (2001) Creative Evolutionary Systems, London Kim, D (2006) A Genetic Algorithm with Modified Tournament Selection and Efficient Deterministic Mutation for Evolving Neural Network: Lecture Notes in Computer Science [0302-9743] vol: 3971 7.2 Webbkällor Biles, J (2002). GenJam: Evolutionary Computation Gets a Gig http://igm.rit.edu/~jabics/citc3/genjampaper.pdf (Hämtat 2012-09-12) Biles, J (2005). Evolutionary Music Tutorial Slides. GECCO http://igm.rit.edu/~jabics/evomusic/bilesevomusicslides.pdf (Hämtat 2012-09-15) 12