BRUK DSPLYDARKIVDEL MED ANDRE
 
LÆRER-RESSURSER // TEKSTER OG NETTSTEDER // LAST NED // OM DSP // OM NOTAM

Algoritmisk komposisjon

Kan en datamaskin lage musikk? Nei, selvfølgelig ikke alene. Men den kan være et spennende hjelpemiddel når en skal lage musikk...

Innen techno og annen populærmusikk benytter man seg av sekvenseringsteknikk, der notene ikke blir spilt av levende musikere, men blir skrevet eller tegnet inn i et dataprogram og avspilt helt perfekt av maskinen. Dette har vært revolusjonerende for disse musikkgenrene, og svært mye av den popmusikken du hører rundt deg er laget på denne måten.

I bunn og grunn er denne teknikken ikke noe annet enn en digital spilledåse. Det som kommer ut av musikk er det som komponisten har lagt inn, note for note. Sekvensen er lik fra gang til gang og maskinen er en lydig og perfekt gjengiver av sin mesters musikalske påfunn. Den overrasker aldri, verken negativt eller positivt. Populærmusikken har ofte brukt datamaskinen på denne måten.

Innen kunstmusikken, der definisjonen av musikk har vært åpnere, har nysgjerrigheten vært større. Helt siden 1950-tallet har man arbeidet med å utvikle dataprogrammer som gjør maskinen til nesten en "selvstendig samarbeidspartner" i komponeringen, en slags musikalsk hjelperobot. En mengde spennende framgangsmåter har blitt pønsket ut i løpet av de siste tiårene under samlebetegnelsen algoritmisk komposisjon.

Algohvafornoe?
Ordet algoritme betyr noe slikt som oppskrift eller fremgangsmåte. En rekkefølge av ting man må gjøre for å oppnå et resultat,.eller et sett med regler.

Hvis du for eksempel lager vafler, følger du egentlig en vaffelalgoritme som kan se omtrent slik ut:

1. Rør sammen 2 dl mel, 2 egg, 3 dl melk og litt salt.
2. Sett igang en eggeklokke på 30 minutter for å la røra svelle.
3. Når klokka ringer, setter du på vaffeljernet.
4. Vent en stund.
5. Hvis vaffeljernet er varmt går du videre til punkt 6. Hvis ikke går du til punkt 4.
6. Hell litt røre i vaffeljernet og lukk igjen.
7. Vent en stund.
8. Hvis vaffelen er brun nok, går du videre til punkt 9. Hvis ikke gå til punkt 7.
9. Legg vaffelen på en rist.
10. Hvis det er mer røre igjen, går du til punkt 6. Hvis ikke går du videre til punkt 11.
11. Slå av vaffeljernet.
12. Spis vafler (det greier du antageligvis uten algoritmer).

Dette ser temmelig kronglete og omstendelig ut. Men dersom du tenker deg om, er det nettopp dette som skjer inni hodet ditt når du steker vafler, selv om du ikke tenker hver eneste tanke bevisst. Og en computer må ha hver lille detalj inn med teskjeer, den kan ikke tenke en eneste selvstendig tanke. Absolutt alle dataprogrammer du bruker, fra det enkleste tekstbehandlingsprogram til det mest innfløkte dataspill, består derfor utelukkende av algoritmer, som minner om vaffelalgoritmen. Den er selvfølgelig ikke skrevet på norsk, men på et språk som computeren forstår, et programmeringsspråk.

Et brettspill, som Ludo eller Monopol, har et sett med regler - eller algoritmer - som alle må følge for at det skal være morsomt å spille det. Det som trengs i tillegg er en terning. Et dataspill har også et slikt sett av algoritmer, der en programmerer har "lært" computeren regelsettet ved å skrive det ned i et programmeringsspråk. Men i stedet for terning bruker computeren en tilfeldighetsgenerator (eller på engelsk random generator). I stedet for 6 like store sider kan denne "superterningen" ha for eksempel 98724728374 sider, eller 14 sider med forskjellige størrelser, eller selvsagt også 6 like sider.

Et eksempel
I 1994 laget jeg i samarbeid med NOTAM, (som også har laget dette programmet) et slags musikalsk dataspill, "Yo". Til det konstruerte vi en kontrolldrakt som du ser her.




Ved å berøre forskjellige steder på kontrolldrakten med de strømførende metallbeslagene på fingrene, kunne jeg styre datamaskinen slik du manøvrerer deg fram i et dataspill med joystick, mus eller tastatur, bare med mange flere samtidige muligheter. Forskjellen mellom mitt stykke og et vanlig dataspill er at man beveger seg i et musikalsk virtuelt landskap istedet for i et bildelandskap. Råmaterialet til dette lydlandskapet er utelukkende min egen stemme. På den måten kan jeg "synge" uten å synge, bare ved å berøre kroppen min! Hvis du trykker her, kan du høre den lydfilen som danner råmaterialet til de musikkeksemplene som kommer nedenfor.

Ut av denne korte innspilte lyden kan jeg så lage mange minutter med musikk bare ved å berøre de lange orange/svarte stripene på drakten. Den grunnleggende algoritmen har to variabler, x og y:

0. Spill x antall millisekunder (ms) av lydfilen, fra starten.
1. Spill x antall ms av lydfilen, men begynn y ms fra starten.
2. Spill x antall ms av lydfilen. Begynn y * 2 ms fra starten
3. Spill x antall ms av lydfilen. Begynn y * 3 ms fra starten.
4. Spill x antall ms av lydfilen. Begynn y * 4 ms fra starten.
osv.
osv.

Slik "tråkler" maskinen seg gjennom lydfilen, og lyden folder seg langsomt ut. I algoritmen er det 2 "ukjente", x og y. Her hører du et eksempel der både x og y er store, slik at du hører ganske lange biter av lyden om gangen.
Klikk her for å høre.

Men både x og y kan forandre seg over tid. Her begynner det med bittesmå biter først, og siden blir de større. Dessuten har jeg lagt tre like forløp ved siden av hverandre, slik at det høres ut som om det er tre stemmer som synger i munnen på hverandre.
Klikk her for å høre.

Hver av stripene på drakten har en spesiell styrefunksjon, omtrent som brems, gass og ratt på en bil. Med en stripe kan jeg bestemme størrelsen på x, med en annen størrelsen på y, og de andre stripene har andre funksjoner. En stripe lar meg hoppe direkte til et hvilket som helst sted i lydfilen, også fortsetter algoritmen av seg selv derfra. Her er et lite eksempel når alle disse tre funksjonene er i sving samtidig.
Klikk her for å høre.

"Yo" er ikke et musikkstykke eller komposisjon i tradisjonell forstand, fordi det aldri blir likt to ganger. Når jeg framfører det, blir jeg ofte overrasket over hva datamaskinen "finner på" underveis. Det er nesten litt skummelt å ha en så lunefull samarbeidspartner, når du vet at den bare består av elektriske kretser!