Midi-harmooni

Opiskelukaverini, multitalentti Eero Grundström otti yhteyttä ja kysyi olisiko mahdollista rakentaa matkaharmoonin bassokoskettimista lähtevä jänniteohjaus. Ennenkuin edes tarkalleen tajusin mitä tuo tarkoitti ilmoitin että tottakai kiinnostaa ja aloin keittämään kahvia.

Matkaharmooni

Muutama asia oli jo selvillä. Ensinnäkin tarve oli vain alimmalle 17 koskettimelle. Toiseksi Eero halusi systeemistä mielellään läppärittömän (läppärin avulla olisi ollut ehkä mahdollista tunnistaa sävelkorkeudet mikrofonisignaalista ja tulkita ne midiksi). Kolmanneksi tilaa soittimen sisällä (kts. kuva alempana) oli aika vähän.

Ensimmäiseksi kannattaa toki tarkistaa onko joku jo keksinyt pyörän. Pianon tyyppisiin kosketinsoittimiin oli tarjolla muutamakin eri ratkaisu mutta ne ovat varsin hintavia eikä toisaalta ollut mitään tietoa niiden soveltumisesta tällaiseen projektiin. Luultavasti myös koskettimien leveys ja tuo tilaongelma olisi ollut esteenä. Jouduin siis kehittämään oman systeemin. Oh joy.

Ensimmäiseksi kokeilin painesensoreita. Nämä tuntuivat vaativan aivan liikaa voimaa toimiakseen luotettavasti joten ne hylättiin saman tien. Mekaaniset kytkimet diskattiin koska ne luultavasti vaikuttaisivat liikaa soittotuntumaan. Seuraavaksi muistui mieleen hanureissa käytettävä midityssysteemi joka toimii magneettikytkimillä. Pari magneettikytkintä siis tilaukseen ja testit käyntiin. Magneettiteippi ei antanut tarpeeksi vetovoimaa mutta askarteluliikkestä löytyneet pikkumagneetit toimivat täydellisesti. Voitiinkin siirtyä projektissa eteenpäin.

Tarve siis oli cv-signaalille. Pyörittelin hetken Arduinon käyttämistä mutta siitä tarpeeksi tarkan cv-signaalin saaminen vaikutti liian hankalalta projektilta. Tässä oli haasteita jo muutenkin.

Koska Eerolla oli modulaarissaan valmiina midi-cv-muunnin niin päädyimme lopulta Raspberry Pi-minitietokoneeseen joka tulkitsisi magneettikytkimet midi-dataksi joka muutetaan sitten tuolla modulaarin muuntimella cv-signaaliksi. Tämä mahdollisti samalla myös systeemin käytön minkä tahansa usb-midi-laitteen kanssa.

<nörttiosuus alkaa> Raspberry Pi:ssä (käytin 3 B+ mallia) löytyi suoraan piirilevyltä 26 GPIO-pinniä noiden magneettikytkimien lukemiseen. Ja suureksi onneksi vanhaan tuttuu Pure Data-ohjelmointikieleen löytyi WiringPi-laajennus jolla noita pinnejä pystyi tarkkailemaan. Python-opiskelun pystyi siis siirtämään vielä tulevaisuuteen. RasPi-työvaiheessa pääsi toki muutama voimasana kun OSX-maailmaan tottunut äänisuunnittelija tutustui Linux-maailman autostartteihin ja midiasetuksiin. Myös GPIO-pinnien hämmentävä “lepotila”-logiikka aiheutti pientä päänvaivaa. Mutta maaliin päästiin. Pure Datassa koodasin myös lisäpalikan joka valitsee Eeron toiveiden mukaan matalimman soitetun nuotin. Eli jos Eero soittaa harmoonilla esim. C-vitossoinnun (C-G) lähetetään midillä ulos pelkkä C. </nörttiosuus loppuu>

Loppu projektista kului millimetrejä mittaillen, piirilevylle komponentteja mallaillen ja kolvi käryten. Valmis systeemi toimii “piuhat kiinni ja menoksi”-pohjalta eikä tarvitse mitään näyttöjä tai näppäimistöjä. Kaikki softat käynnistyy autostartilla noin 20 sekunnissa. RasPin koteloon asennettu ledi kertoo milloin systeemi on toimintavalmis ja vilkuttelee myös aina kun nuo magneettikytkimet aktivoituu.

midiharmooni

Melkein valmis midiharmooni. Löydä kuvasta tulitikku.

Encorena Eeron systeemissä ilmeni ongelma jossa tuo usb-yhteys meni “nukkumaan” jos midiä ei liikkunut pariin sekuntiin. Syyksi paljastui linux-asennuksen usb-virransäästö joka pysyi poissa kun lähetin usb-porttiin soiton ohessa turhaa cc-dataa puolen sekunnin välein. Ilmeisesti oma testilaitteeni (Arturia MicroBrute) lähetteli usb:llä jotain joka riitti pitämään tuon portin päällä RasPin päässä. Kaikenlaista sitä. Normikeikka.

Leave a comment