MusicBox - en ny komposisjonsmetode

Wiggens viktigste bidrag til kompoosisjon var programvare som lot komponisten arbeide hovedsaklig med logikk og struktur, for dermed å kunne ta et skritt tilbake fra selve lyden. Han mente at en type abstraksjon var nødvendig for å kunne opprettholde et klart fokus på strukturene, og at det var viktig å kunne unngå at tidkrevende spesifisering av data skulle begrense komposisjonsideene. Med erfaringen fra tidligere programvareutvikling ved EMS som grunnlag, så han for seg en samling funksjoner som kunne kobles sammen på forskjellige måter, og som kunne gi brukeren frihet til å velge funksjonene og koblingene på sin egen måte - ikke bare slik programmet tillot. Hans skisser til programmet viser at han så for seg systemet som bestående som grafiske objekter.

(Fig.: Knut Wiggen, photographed during a presentation of MusicBox. At the bottom of the montage, a short stretch of programmed paper tape is copied in. Photo: Bo-Aje Mellin)

En komposisjon i MusicBox var et nettverk at bokser som beskrev kontrollsignalene for det elektroniske utstyret hos EMS. Hver boks inneholdt en matematisk funksjon som ville bearbeide signalet fra inngangen og sende signal til utgangen. Signalet på utgangen ville så i tur kunne være signal på inngangen til neste boks i nettverket. Orginaliteten i denne tilnærmingen lå i datamodellen av komposisjonen, som ble "simulert" gjennom aktivering (instantiering) av boksene i nettverket. Denne typen modellering er generelt essensiell i objektorientert programmering, og i MusicBox ble komposisjonen "testet" under forskjellige betingelser. Komposisjonsprosessen var svært forskjellig fra med språket EMS-1, der komponisten måtte beskrive hver enkelt begivenhet, linje for linje.

En viktig egenskap ved programmet var mulighetne til å kapsle inn forskjellige mikrobokser til makrobokser. Makroboksene kunne så senere bli brukt om igjen og bli innkapslet i ytterligere kombinasjoner, og slik kunne komponisten bygge økende kompleksitet uten å notere hver enkelt tonehøyde. Med ett eller to nivåer ble det vanskelig å kunne ha en helt presis idé om hvordan lyden kom til å bli, og komponisten hadde slik tatt et skritt tilbake fra den konkrete lyden og kunnet konsentrere seg om komposisjonsideen. Spesifikasjonene til boksene ble ikke gjort med basis i de emergente kvalitetene som lyden hadde, men i stedet ut fra en logikk. Logikken hadde blitt verktøyet i simuleringen av komposisjonsreglene eller -modellene.

Når Wiggen lette etter et programmeringsspråk hvor MusicBox kunne bli realisert, tenkte han først på det objektorienterte språket Simula som akkurat (1964) hadde blitt utviklet ved Universitetet i Oslo av Kristen Nygård og Ole Johan Dahl. Simula har ofte blitt beskrevet som det første objekt-orienterte språket i verden, og var allerede populært da arbeidet med MusicBox begynte. Simula kunne imidlertid ikke brukes til kontroll av lydutstyret hos EMS, og MusicBox ble derfor programmert i Fortran. Programmerer David Fahrland leverte den første versjonen av MusicBox i 1971 og reiste tilbake til USA, og Kaj Beskow programmerte deretter funksjonene for å bevege lyden algoritmisk mellom fire kanaler, med teknikkene som John Chowning beskrev i sin artikkel fra 1971. Zaid Holmin tok del i utviklingsarbeidet fra 1972, og forbedret funksjonene for å lage makroer.

Selv om Wiggen publiserte ideene til MusicBox i 1972 ble det aldri gjort tigjengelig for komponister; Wiggen følte at han måtte være sikker på at programmet virket slik han hadde tenkt før han kunne gjøre det alment tilgjengelig - og den vissheten måtte han hente i musikken. Han komponerte flere studier, og ble overbevist om man kunne komponere med MusicBox, ikke bare lage lyder.

I løpet av sent 1990-tall og tidlig 2000-tall veiledet Dag Svanæs ved NTNU studentene Håvard Wigtil og Harald Stendal i å skrive om programvaren i objektorientert Pascal, og siden til Java. Nils Tesdal og Sigurd Stendal deltok også i dette arbeidet, som ble gjort i nært samarbeid med Wiggen. Senere har Zaid Holmin utvidet antall bokser og laget et grafisk brukergrensesnitt, og den nyeste versjonen av MusicBox (2013) er skrevet i en kombinasjon av C++ og Java og kjører under Microsoft Windows XP. En 8-kanals versjon har også vært planlagt.