I starten av denne adventsperioden ramlet jeg over en video på Youtube. Den viste en DJ som produserte live musikk med programmering. I denne artiklen skal jeg vise hvordan også du kan kombinere musikkproduksjon med koding.

Det hele startet med at jeg kom over en Youtube video av artisten DJ-dave i starten av desember. På denne videoen kan man se at hun skriver kode. Endringene i koden gjenspeiler sangen som spilles. Hun bruker rett og slett kode som instrument. Som en utvikler som driver med musikk på hobbybasis, var jeg mildt sagt interessert i hva dette var. Jeg skal i denne artikkelen vise hvordan du også kan produsere musikk med kode, men først en liten headsup: Jeg er ingen musikkprodusent av yrke, så ikke still meg til veggs for mulige beskrivelser som ikke stemmer med tanke på musikkteori.
Strudel
Etter noen Google søk fant jeg fort strudel.cc. Dette er en helt gratis programvare som kjører i nettleseren. Strudel lar deg skrive kode i et språk som minner mye om javascript. Dette kompileres til musikk. Det er så lett at man rett og slett kun trenger å kjøre koden, så spilles musikken man har lagd. Gjennom læringsprosessen har jeg også hatt mye bruk for dokumentasjonen for Strudel. Her finner man en workshop man kan følge som fungerer som en fin intro til Strudel. Videre i denne artikkelen kommer jeg til å gå gjennom noen av grunnpillarene i Strudel, samt noen triks jeg har lært meg, sånn at kanskje du også kan lage en liten julelåt til morgendagen.
Sentrale byggeklosser: Sounds
Helt sentralt i Strudel er "sounds". Kort fortalt sier dette noe om hvilket instrument som skal spilles. Her er det verdt å merke at Strudel ser på hver enkelt del av et trommesett som et eget instrument. For eksempel om du ønsker en ganske kul trommesekvens, kan du prøve denne:
sound("bd bd hh bd rim bd hh bd")
Hvert enkelt "ord" i denne sekvensen er en egen del av et trommesett, og et eget instrument i Strudel. For eksempel:
- bd = bass drum
- hh = high hat
Til tross for kule trommesekvenser, har vi enda ikke definert hvilke noter som skal spilles.
Noter
Med noter kan man definere hvilken musikalsk note man skal spille. Dette kan man "chaine" med sound funksjonen vi snakket om tidligere, for å bestemme hvilket instrument som skal spille notene. Et eksempel på dette er:
note("c e g b").sound("piano")
Dette fører til at pianoet spiller notene C, E, G og B. Men man kan også gjøre det samme med et annet instrument:note("c e g b").sound("bd")
Som vil føre til at bass trommen spiller de samme notene.
Nå har vi kommet et steg nærmere en sang, men så langt spilles et instrument om gangen. Heldigvis støtter Strudel også at flere instrumenter kan spille samtidig.
Hva hvis jeg har lyst på flere instrumenter?
Jeg synes ikke dokumentasjonen til Strudel dekte dette særlig godt, men etter litt googling har jeg funnet en løsning. Man kan definere flere instrumenter med $. For eksempel om jeg ønsker trommer og piano:
$: note("c e g b").sound("piano")
$: note("c e g b").sound("bd")
Her vil trommen og pianoet spilles samtidig, og vi er nærmere en faktisk sang. Med disse byggeklossene kan man lage kjente sanger ganske raskt. For eksempel har jeg satt sammen We wish you a merry christmas med en ganske hip beat i Strudel. Trykk play og la jula spilles inn.
Hva gjør jeg om jeg vil lære mer ?
I denne artikkelen har jeg såvidt rørt overflaten av musikkproduksjon i Strudel. Om man ønsker å lære mer kan ma ta inspirasjon fra de beste. I dette tilfellet finnes det 2 relativt kjente DJs som bruker Strudel: Switch Angel og DJ Dave. Disse viser også koden mens de produserer beats, så her kan man ta ganske mye inspirasjon. Avslutningsvis håper jeg at du føler deg inspirert og ringer inn morgendagen med noen julebeats.