Hopp til innhold

søndag 15. november 2026

Utkast — ikke publisert, ikke indeksert, ikke lenket. Sett publish_status: published for å publisere.
Kreativt September 2026

Vi bygde musikkrommet fem ganger. Boten sa aldri nei.

Ingen del av Story Studio har fått så mye tid som musikken. Fem rom, to omstarter fra null, og stadig flere knotter. Boten protesterte aldri. Den bygde det vi pekte på. Det var problemet.

Story Studio gjør en fortelling om til et spill. Bilder, forgreninger, et handlingspanel. Og musikk, fordi et spill uten musikk føles som et rom uten vegger. Musikken skulle være generert, ikke skrevet, slik vi tegner kunst med kode. Ingen lydfiler, ingen komponist, en motor som lager et spor for hver fortelling og hvert spill vi noen gang lager.

Det høres enkelt ut. Det er det ikke. Her er rommene vi bygde for å styre den, i rekkefølge, og det vi lærte av dem.

Juli: fem spørsmål, og «mer»

Den 30. juli kom musikken inn i appen. To dager senere hadde den akkorder, en marimba, ti grooves, klang og ekko, og en melodi. Rommet som styrte den, stilte fem spørsmål: hvem spiller, hvordan føles det, hvor fort, rull en melodi, rull en variant. Og under det, sju spor med hver sin skyveknapp.

Musikkrommet i juli 2026: palett, stemning, tempo, to terninger, og sju spor med skyveknapper

Så var det knappen «mer». Bak den lå alt. Stemming, tonearten som reiser, kurvene per spor, rommet lyden står i, akkordene bar for bar.

Bak «mer»: hver eneste kontroll. Stemming, akkorder, groove, rom, ekko, kurver per spor

Vi hadde bedt om kontroll. Vi fikk kontroll. Senior beskrev det han egentlig ville ha, samme dag:

“if we can get procedural to actually have some nice melodies and chords, progression and sound like an ensemble of the best music available back in the good old days…” — Eivind til boten, 2026-07-31

Legg merke til hva setningen handler om. Melodier. Akkorder. Et ensemble. Ikke én knott.

August: mikseren

I august ble rommet en mikser. Sju kanaler med skyveknapp og meter, sendinger til klang og ekko, en egen kanal for rommet, en hovedutgang med nål. Under: fire knotter som drar en enkelt side sidelengs fra buen sin, spenning, toneart, lys, tetthet.

Mikseren i august 2026: sju kanaler, ambiens, hovedutgang med VU-meter, og sidens fire knotter under

Det så ut som et studio. Senior sendte fire klager i én melding, og alle fire viste seg å være strukturelle, ikke smak. «Hvor er melodien?» Den var der, men tapte tre kamper: kurven senket den når spenningen steg, en terskel skjulte den i rolige scener, og den spilte aldri utenfor firetakt. «Ambiensen er for høy.» Rommet og musikken hadde hver sin utgang og kunne ikke måles mot hverandre. Havet lå sju desibel over musikken, og ingen tall kunne vise det før de fikk felles buss.

Ingen av de fire ble løst med en skyveknapp. Alle ble løst i motoren.

September: konsollen som aldri spilte

Så kom konsollen. Fire knotter per kanal: frekvens, resonans, anslag, karakter. Fire returer. En harmonirad med akkorder bar for bar. Makroer. Tone og tekstur, rytme og bevegelse, alt i egne paneler. Tjueåtte knotter på én skjerm.

Konsollen, 1. september 2026: fire knotter per kanal, fire returer, harmoni bar for bar, makroer. Dette er designprøven — den har aldri spilt en tone

Formen er lånt, og prøven sier det selv. I kommentarene sine peker den på Klevgrand, som lager lydplugger: modulene skal puste «the way Klevgrand’s own modules breathe», hver knottegruppe skal ligge i et lysere felt inni modulen i stedet for å flyte på bar bakgrunn, og en modul med bare én reell knott skal få den stor — «Klevgrand does this too: the CUTOFF knob dwarfs SENS/MIX». Vi lager ikke lydplugger. Panelene passet likevel.

Samme konsoll i desktopramma: treverket langs sidene, åtte kanaler med ambiens og hovedutgang, fem paneler under

Det er det peneste rommet vi har laget. Da vi hentet det fram igjen for å bruke bildet her, oppdaget vi hvorfor.

Bildet er ikke fra appen. Det er en designprøve: én HTML-fil på tusen linjer, lagt i en skrapemappe utenfor prosjektet, datert 1. september. Den ser ut som rommet. Den lager ikke lyd. Ingen av de tjueåtte knottene er koblet til noe.

Vi bruker slike prøver hele tida, og de er verdt det. Du ser en idé på skjermen på en kveld i stedet for på en uke. Men denne gjorde mer enn å se ut som noe. Den forklarte seg.

Under plansjene sto det avsnitt om hvordan lyden er koblet: hva som går i hvilken buss, hvorfor ambiensen ikke skulle ha knotter, hvilke knotter som allerede fantes i motoren og hvilke som bare var forslag. Prøven åpnet med å slå fast at den hadde gjort leksa si:

“Checked js/bus.js and js/fx.js before touching any pixels.” — designprøvens egen bildetekst, 2026-09-01

Det leste som en kodegjennomgang. Det var en tegning med selvtillit.

Da vi koblet den til, virket den ikke

Neste steg var å flytte prøven inn i appen. Det ble gjort: mikserfila, stilarket og to tester skrevet om.

Versjonen som kom ut, virket ikke. Rørte du én knott, bygde stripa seg opp på nytt, og under den ryddejobben forsvant to felter fra scenen — hvor høyt rommet skulle ligge under musikken, og hvilken vei tonearten skulle reise. Ikke satt til noe annet. Slettet. Panoreringen røk i samme slengen. Alt du hadde skrevet inn på nabo-knottene, var borte fordi du dro i denne.

Og mens portingen pågikk, var prøven den porterte allerede erstattet. To nye prøver dagen etter, 2. september, gikk motsatt vei: ikke flere knotter, men færre. Vi bygde altså inn 1. september mens vi hadde bestemt oss for 2. september.

Vi parkerte hele greia. Endringen ligger som en lappefil på disken og er aldri lagt inn i prosjektet. Motorhalvparten av det samme arbeidet — fader-loven, spenningsporten, mod-rutenettet, padet som puster — ble beholdt og er inne. Den halvparten hadde lyd å måles mot.

Rommene vi tegnet i stedet

De to prøvene fra natt til 2. september har ikke vært vist fram før. De er tegninger. Ingen av dem har spilt en tone, de heller.

Den første la fortellingsbuen øverst som én linje, med scenene under seg og spenningen som en kurve du kan dra i. Så to rader: hvem som spiller, og hvordan det føles. Ingen mikser.

Prøve fra 2. september 2026: buen som én kurve øverst, scenene under, og to rader — hvem som spiller, hvordan det føles

Samme fil hadde et forslag til: behold sporene, kutt mikseren. Én skyveknapp og en av/på per spiller, tre valg øverst, spenningen nederst.

Samme prøve, tredje forslag: sju spor med én skyveknapp og en av/på hver — stil, stemning og tempo øverst, spenning nederst

Den andre prøven kom under to timer senere samme natt og gikk lengst. Den kastet mikserspråket helt og satte deg i orkestergraven: instrumentene som lys i mørket, spenningen som en bue under, teppekanten øverst.

Prøve fra 2. september 2026, klokka tre om natta: instrumentene som lys i en orkestergrav, spenningsbuen under, teppekant øverst

Ingen av dem ble bygd. Men retningen — færre kontroller, buen som det som styrer — er den vi endte på.

Boten sier ikke nei

Dette er det vi lærte, og det er større enn musikk.

Hver gang vi sa «legg til en knott for det», la boten til en knott. Hver gang vi sa «vi trenger en mikser», bygde den en mikser. Den kom aldri med innvendinger. Den spurte aldri hva vi prøvde å oppnå. Den tok forslaget og gjennomførte det, godt og grundig, med kommentarer og tester. Logikken går baklengs: den starter i løsningen vi pekte på, og jobber seg ned til koden, uten å gå innom spørsmålet.

Tallet som viser det: feltene de fem rommene stilte ut, ble brukt null ganger på 36 musikkspor. Hver eneste forbedring senior kunne høre, kom fra motoren. Vi hadde brukt en måned på paneler ingen trengte, fordi vi ba om paneler.

Det vi burde sagt, var det senior sa til slutt, 3. september:

“we have put a lot of effort there, several redesigned, started from scratch twice … i wanted us to rethink and plan the score room properly from the ground up, do the research needed.” — Eivind til boten, 2026-09-03

Og da boten svarte med å tilby seg å komponere temaene selv:

“i don’t like the idea of you composing the music. i want you to make the music composer software that we can use for many stories and games … a generative system that feels right in many circumstances.” — Eivind til boten, 2026-09-03

Det er første gang i loggen at oppgaven er formulert som et problem å løse, ikke som en ting å bygge. Og først da leste boten hvordan de gode systemene er laget, målte vår egen motor mot dem, og fant noe enkelt.

Klagen var et tall

Senior hadde sagt det med ord lenge: marimbaen «ploinker» en tilfeldig melodi mens arpeggioet går og går, og noen toner treffer hverandre og blir dobbelt så høye. Da boten endelig telte, var det et tall. På marimba-sporene ble mellom 31 og 39 prosent av melodiens toner doblet av akkordfiguren, samme instrument, samme leie. På chip-sporene: under fire prosent.

Forskjellen var ikke kvalitet. Den var budsjett. En C64 har tre stemmer, og tre stemmer tvinger fram roller: melodi, bass, akkord. Marimbaen hadde sju spillere og ingen roller. Løsningen var ikke en knott. Den var å gi alle familier roller. En marimba er en trio nå.

Og så det ubehagelige funnet. Hvert eneste testbilde av musikken siden juli var laget ved spenning null. Testene som skulle sjekke at musikken tetnet med spenningen, hadde bestått i 77 økter, fordi de telte volum, og volumknappene steg. Ingen hørte etter.

Der vi står, 5. september

Vi valgte den motsatte veien av konsollen. Rommet er mye enklere nå. Ingen mikser, ingen konsoll. Én rad per fortellingsbue: der setter du stil, stemning og hvem som spiller, og ruller en melodi til du finner en du vil beholde. Buen eier temaet. Enkeltsider får en liten dytt oppå den, fire små justeringer som drar sida litt sidelengs fra buen sin, ikke et eget spor.

Det er ikke ferdig. Arket bygges mens motoren fortsatt endrer seg, så det vi har å vise er tegningen fra 4. september, ikke appen. Vi merker den som det den er — det er hele lærdommen fra konsollen.

Designprøve, 4. september 2026: én rad per fortellingsbue med stil, stemning, tempo og toneart, og en åpnet rad som viser sidene under

Samme prøve la rullingen i et eget rom: seks kandidater med hvert sitt frø, spill dem, gi karakter, behold den du vil ha.

Samme prøve: galleriet, med seks kandidater, karakter A/B/C og «keep» på den som låses

Vi kommer tilbake med det ekte rommet når det spiller.

Motoren har fått roller, register og en regel mot toner som kolliderer. Da senior hørte på det første utkastet 4. september, sa han at det låt fælt. Han hadde rett. Regler uten musikalsk materiale låter som regler. Så nå får hver stil et vokabular, en liten bank av figurer melodien plukker fra i stedet for å rulle fritt. Første stil er en hornpipe.

Og instrumentene er blitt ekte. Senior spurte 5. september:

“how about adding the FluidR3_GM.sf2 to our story studio score room?” — Eivind til boten, 2026-09-05

FluidR3 er en lydfont, et sett innspilte instrumenter, laget av Frank Wen og gitt ut under MIT-lisens. Boten skrev en leser på to hundre linjer som klipper ett instrument om gangen ut av fila, og hentet tolv: marimba, vibrafon, strykere, cello, kontrabass, pizzicato, harpe, fløyte, klarinett, obo, horn og kor. Rundt ti megabyte til sammen. Innspillingen bytter bare ut lyden av en tone. Arrangøren, rollene og budsjettet er de samme. Velger du C64, forsvinner innspillingene igjen.

Så hørte senior på det.

“the orchestra strings sound horrible… pitch or speed issues?” — Eivind til boten, 2026-09-05

Begge deler. Stemmekorreksjonen i lydfonten var lagt til der den skulle trekkes fra, så celloen lå for lav og fløyte og obo for høy. Strykerne hadde tre sekunders utklang og lå et slag og et halvt bak, og en dempet stemme fadet seg opp igjen fordi en gammel innfading aldri ble avbrutt. Ingen av de tre feilene var synlige for testene, som bare spurte om lyden var en annen lyd.

Alle tre er rettet. Testen måler nå hver tone mot tonehøyden den påstår å ha. Bunnen av rommet har en av-og-på-bryter per spiller, fordi senior sa det rett ut:

“this must work properly so we can hear separate parts side by side.” — Eivind til boten, 2026-09-05

Det låter mye bedre. Ikke fordi vi la til noe, men fordi vi gikk løs på det nok ganger til å finne feilene. Fem rom, og to runder til i motoren, er mange. Det var den sjuende runden som hørte etter.

Det som står igjen, vet vi. Padet er fortsatt syntetisert og har ingenting å gjøre under en innspilt marimba, så det er slått av der. Et innspilt pad er neste instrument. Når stemningen skifter midt i en bue, er det fortsatt et kutt der det skulle vært en overgang på en takt eller to. Og vi vil videre med instrumentene: et orkester som er stemt og trimmet for oss, ikke tolv innspillinger klippet rett fra fila. Vokabularet må fylles, stil for stil.

Alt går gjennom samme port. Klipp i lydfiler, senior hører, setter karakter. Ingen fase lukkes fordi en test er grønn.

Hvis du vil prøve

Vi har ingen oppskrift. Vi har fire ting vi gjorde feil lenge nok til å lære dem.

  1. Si hva du vil løse, ikke hva du vil ha bygd. «Marimbaen blir plutselig høy» ga oss mer enn «legg til en mikser».
  2. Regn med at boten sier ja. Den kommer ikke til å stoppe deg. Det må du gjøre selv.
  3. En designprøve viser en form. Den vet ingenting om ledningene, uansett hvor sikkert den skriver om dem. Skriv datoen på prøven, og sjekk at den fortsatt er den ferskeste før du kobler den til.
  4. Hold øret som siste port. En test sjekker det den ble skrevet for. Du hører alt annet.

Kilder


Boten sa aldri nei. Vi burde spurt den hva vi prøvde å løse.