En position känsliga midi drum pad (9 / 10 steg)
Steg 9: Mjukvara setup
När du har byggt pad och elektronik att arbeta med det, är nästa sak att koppla den till en dator och börja göra lite musik!
Jag har bifogat all nödvändig programvara för att göra detta under linux i en .tgz arkiv. Om du har problem med att hämta detta, den senaste versionen finns alltid här.
Om du vill använda windows eller mac, borde inte det vara så svårt att konvertera program om du har några programmeringserfarenhet. (Den enda system specifika biten är del av midimapper program som handlar om seriell in från arduino och midi-utgången till inre MIDI-bussen. Detta program är i python.)
Vänligen bära med mig och tar sig tid att arbeta igenom dessa instruktioner. Programvaran är i en tidig utveckling tillstånd just nu, så inte så lätt att använda eftersom det kan vara.
Det finns tre huvudsakliga bitar av programvara:
Arduino firmware läser de analoga signaler produceras av de 4 piezos och förvandlar dem till raw avläsningar för varje strike.
Midimapper får strike data från arduino och omvandlar det till x-y-koordinater då matar dessa till en programvara MIDI-port som notering på och controller meddelanden (med styrenheter 70 och 71). X-koordinaten är också dubbleras i MIDI-notera antalet noteringen på meddelande. Programmet är i en ganska rå tillstånd just nu - det är ett kommandoradsprogram i python som du styr med korta kommandon:
MIDI-meddelanden läses av supercollider programvara (som är i grunden ett program men för närvarande i 2 separata filer) och förvandlats till ljud som beroende av position och hastighet av strejken.
För närvarande måste du starta alla dessa program separat.
Först, ladda arduino skiss piezodrum2 på arduino. Du hittar instruktioner på hur man gör detta på webbplatsen för arduino. Du kan testa det fungerar genom att trycka på pad - det bör skriva ut en sträng med siffror på USB-seriell enhet varje gång du träffar pad.
Om du har startat datorn eftersom du laddat firmware, måste du köra skriptet resetty att sätta den seriella porten in i rätt läge att köra en midimapper.
Du måste också installera pyseq python-bibliotek för midimapper att arbeta. Det kan finnas ett paket för distributioner eller annat se här.
Sedan redigera filen midimapper (mmap.py) om du vill ställa in rätt USB-seriell port enheten. Nu börja detta program från kommandoraden. Kommandona är följande:
MIDI - start skicka MIDI-händelser.
sluta - sluta skicka MIDI-händelser eller stoppa kalibrering.
Calib - gå in kalibrering läge.
spara - spara kalibrering koefficienter.
Ladda - ladda kalibreringen koefficienter.
saveraw - spara raw kalibreringsdata.
calfile - kalibrera från sparas rådata.
avsluta - lämna programmet.
Du måste kalibrera pad minst en gång innan du kan använda MIDI-läge. När du startar kalibrering, kommer att programmet be dig att slå pad flera gånger (5 är bra) i en rad punkter på nätet du har markerat ut. Namnen på dessa punkter är mestadels självförklarande utom för "top vänster mitten", som är halvvägs mellan övre vänster hörn och centrum av pad. Samma för "längst upp till höger mitten av" etc.
När du har kalibrerat pad, använda 'Spara' för att spara kalibreringsdata för nästa gång du kör det, sedan "midi" att gå in MIDI-läge. (Du behöver bara "saveraw" om du tänker ändra formeln används för att mappa de råa avläsningarna till koordinater). Vid denna punkt kan du kontrollera midimapper fungerar genom att titta på sin produktion i terminalen - varje gång du slår pad det bör skriva ut x och y coords av strejken.
Därefter kan du starta upp den supercollider programmen. Se webbplatsen supercollider instruktioner på installera och använda denna programmeringsspråk. Det enklaste sättet jag har hittat för att använda det i linux är att använda plugin för gedit. Du kommer förmodligen också behöver domkraften ljudsystem för utskrift av ljud.
Programmet "drummidi.sc" läser bara den inkommande midi-signaler och skickar dem till en synth som kallas "MidiDrum". 'synpad.sc' har olika lämpliga synth definitioner ("synthdefs") att arbeta med detta. Välj först ett synthdef du gillar ljudet av från beskrivningen och utvärdera den (Markera det i redigeraren och tryck på ctrl-E). Sedan utvärdera all kod i "drummidi.sc" - då startar programmet igång.
Det sista steget är att ansluta midi ut porten från midimapper till midi i port för supercollider, använda ett program som qjackctl eller aconnectgui.
När du har gjort det, bör din pad börja göra ljud. Fira, prova att göra lite musik, göra en regn dans, oavsett fungerar för dig!