Lagde musikkbenk: «Hold hverandre i hendene, det er da magien skjer»

– Etter at jeg fikk barn prøver jeg stadig å finne prosjekter barna også vil være med på, skriver Bekk-utvikler Vegard Gamnes. Nå har han laget en musikk-benk!

Musikk-benken består av litt benk, litt elektronikk, litt kode, og mye kos. 📸: Privat
Musikk-benken består av litt benk, litt elektronikk, litt kode, og mye kos. 📸: Privat Vis mer

En benk. Noen ledninger. Raspberry Pi. To høyttalere. Saks og teip. Makey Makey. Maling i regnbuens farger.

To håpefulle sjarmtroll.

La meg fortelle deg hvordan Musikkbenken ble til!

Musikkbenken. 📸: Privat
Musikkbenken. 📸: Privat Vis mer

Før vi begynner vil jeg komme med en liten oppfordring: Vent med å lese til du føler du har tid. Finn en dag hvor du kan lage deg en god kopp te og sett deg godt til rette i godstolen.

Noe av hensikten med Musikkbenken er å roe ned, og nyte øyeblikket. Oppleve magiske toner med noen du er glad i. Start sangen når du er klar, og lytt til Musikkbenkens rolige pianotoner mens du leser videre ☕

Musikkbenken er en benk som spiller musikk. Den spiller ikke musikk hele tiden. Den spiller musikk når to personer sitter der, holder hver sin hånd på hvert sitt armlene, og så holder hverandre i hendene.

Det er da magien skjer. Det er da musikken blir levende.

Etter at jeg fikk barn prøver jeg stadig å finne prosjekter og morsomme greier som barna også vil være med på. Denne gangen fant jeg ut at vi ville lage en benk som spilte musikk hvis noen satt seg der. Et overkommelig familieprosjekt, og noe vi kunne pusle og styre med sammen ved ledige øyeblikk.

Slik virker benken

Musikkbenken består enkelt nok av to ting; musikk og benk. Vi bestemte oss for å finne benken først, og deretter koble til musikk. Etter noen kvelder med nettsøk endte valget på en benk fra Ikea. En lett og fin utebenk som vi kunne montere sammen.

Tiril setter sammen sin første Ikea-benk. 📸: Privat
Tiril setter sammen sin første Ikea-benk. 📸: Privat Vis mer

Vi hadde som sagt bestemt oss for at Musikkbenken bare skulle spille musikk hvis det satt noen på benken og holdt hverandre i hendene (for å skape kontakt mellom armlenene). For å klare dette og registrere at det er kontakt mellom de to armlenene skrudde vi fast noen ledninger/metall-hullbånd på hvert armlene og bruker en Makey Makey som “sensor”.

Metall-hullbånd på hvert armlene, med videre ledning på baksiden av benken. 📸: Privat
Metall-hullbånd på hvert armlene, med videre ledning på baksiden av benken. 📸: Privat Vis mer

«Makey Makey is an invention kit for the 21st century. Turn everyday objects into touchpads and combine them with the internet. It’s a simple Invention Kit for Beginners and Experts doing art, engineering, and everything inbetween.»

Tidlig testing av Makey Makey. 📸: Privat
Tidlig testing av Makey Makey. 📸: Privat Vis mer

Jeg har hatt en slik liggende i skuffen i noen år, og hadde egentlig glemt litt av den, så det var fint å få brukt den i et ordentlig prosjekt. Det er fullt mulig å gjøre det samme ved hjelp av f.eks. en Arduino og noen komponenter, men når jeg hadde en Makey Makey liggende ble valget enkelt.

image: Lagde musikkbenk: «Hold hverandre i hendene, det er da magien skjer»

Det ene armlenet koblet vi til input “S” på Makey Makey, mens det andre armlenet ble loddet fast til “GND” (ground/jord). Dette vil si at når det er kontakt mellom de to armlenene registreres og sendes bokstaven “S” til Raspberry Pien. Eller, for å være mer presis, “S pressed” sendes videre. For når man slipper tak i det ene armlenet sender Makey Makey “S released” videre. Kort fortalt fungerer det altså som et tastatur, hvor man trykker og slipper opp en bestemt tast på tastaturet (i dette tilfellet, bokstaven “S”).

Ledninger og koblingsbokser

Neste steg ble så å koble til ledninger og plassere koblingsbokser for nødvendig elektronikk og høyttalere. Benken skulle jo stå ute, så vi bestemte oss for å montere en koblingsboks under setet med plass til både Raspberry Pi og Makey Makey, samt en egen boks til høyttalerne, for å beskytte mest mulig mot vær og vind.

Montering av elektronikk på undersiden av benken. 📸: Privat
Montering av elektronikk på undersiden av benken. 📸: Privat Vis mer

Etter å ha montert og koblet sammen all elektronikken på benken var det koden/scriptet på Raspberry Pien som stod for tur. Jeg landet på å la en bestemt sang spille i evig gjentakelse, og så regulere lyden opp og ned. Ikke bare er det lett å kode, men jeg syns opplevelsen også blir bedre enn om man skulle startet sangen på nytt for hver berøring mellom armlenene. Ved å justere volumet kan man slippe hender, berøre igjen, slippe opp, og så berøre igjen, og hele tiden følge med på notene og hvor man er i låten.

Løsningen ble et Python-program, som startes automatisk hver gang Pien skrus på og kjører i bakgrunnen.

import keyboard
from keyboard._keyboard_event import KEY_DOWN, KEY_UP
from pygame import mixer

mixer.pre_init(44100, -16, 2, 1024)
mixer.init()
mixer.music.load("/home/pi/musikkbenken/piano.mp3")
mixer.music.set_volume(0)
mixer.music.play(-1)

def on_action(event):
  if event.event_type == KEY_DOWN:
    mixer.music.set_volume(1)
  elif event.event_type == KEY_UP:
    mixer.music.set_volume(0)

keyboard.hook(lambda e: on_action(e))

while True:
  keyboard_wait("space")

For å starte dette Python-scriptet opprettet jeg et bash-script.

#!/bin/sh
cd /home/pi/musikkbenken
sudo python musikkbenken.py

Dette bash-scriptet starter da som sagt hver gang Pien skrus på og kjører i bakgrunnen, ved hjelp av crontab.

@reboot sh /home/pi/musikkbenken/launcher.sh >/home/pi/musikkbenken/logs 2>&1

Det var egentlig alt som ble gjort på Raspberry Pien.

Musikkbenken. 📸: Privat
Musikkbenken. 📸: Privat Vis mer

– Vi måååå ha regnbuefarger!

Så, helt til slutt. Prikken over i-en. Det viktigste. Noe vi bare måtte gjøre. Et krav fra mine to døtre. Det var ingen vei utenom.

– Pappa, vi bare måååå ha regnbuefarger. Vær så sniiiiiiiill.

Jeg anbefaler disse NCS-kodene hvis det er andre der ute som trenger utemaling i regnbuefarger.

R (rød): 1080-R
O (oransje): 0570-Y50R
G (gul): 0560Y
G (grønn): 1075-G50Y
B (blå): 1565-B
I (indigo): 4550-R80B
F (fiolett): 5040-R50B
Maling i regnbuens farger 🌈. 📸: Privat
Maling i regnbuens farger 🌈. 📸: Privat Vis mer

Den øverste raden på ryggen passet bra til vinyltrykk fremfor maling. Jeg blir like overrasket hver gang jeg bruker vinylkutteren. Maskinen kutter ekstremt nøyaktig, og det er alltid like imponerende å se hvor bra resultatet blir. Hvis du ikke har prøvd en slik maskin før anbefaler jeg at du tester det en gang — kanskje du også kan lage dine egne stickers?

Vinylkutteren brukes flittig til mye forskjellig. 📸: Privat
Vinylkutteren brukes flittig til mye forskjellig. 📸: Privat Vis mer

Musikkbenken har allerede bidratt til smil og magi under Skaperfest 2024 på Torvet i Trondheim sentrum, og står nå fint plassert i Bekk sine lokaler like ved. Hvem vet hvor den havner i fremtiden?

Det var historien om Musikkbenken og dens magiske toner. Konseptet er enkelt. Resultatet ble fantastisk. Håper du ble inspirert til å lage noe gøy du også! ❤️