Innehållsförteckning:

Arduino MIDI -kontroller för Aalto: 7 steg
Arduino MIDI -kontroller för Aalto: 7 steg

Video: Arduino MIDI -kontroller för Aalto: 7 steg

Video: Arduino MIDI -kontroller för Aalto: 7 steg
Video: Web Programming - Computer Science for Business Leaders 2016 2024, November
Anonim
Arduino MIDI Controller för Aalto
Arduino MIDI Controller för Aalto

Som amatörmusiker går jag ofta från Analog Synths till VST.

När jag är på "VST" -stämning är jag verkligen sugen på ett fantastiskt instrument: Madronalabs Aalto VST

Denna otroliga VST är mycket flexibel, den genererar mycket bra ljud och är ganska lätt att använda till ett rimligt pris.

Min begränsning av VST är dock att jag inte riktigt kan röra kontrollerna och jag måste använda musen/styrplattan medan jag jamlar - inte det bästa. Jag äger en MIDI -kontroll men knopparna återspeglar inte det riktiga Aalto -gränssnittet.

Å andra sidan, med modulära eller halvmodulära synthar kan du inte riktigt spara dina patchar vilket gör det hela lite frustrerande för mig.

Så jag ville skapa en Custom MIDI -controller för Aalto med en design som återspeglar Aaltos gränssnitt för att styra de mest relevanta sakerna.

Följ mig på Instagram för att se fler videor av processen: weirdest.worry

Jag, på Spotify:

Tillbehör

- 1 Arduino Mega- 14 Potentiometrar (jag använde dem -> PTV09A -4020F -B103) - En brödbräda för prototyper - jag rekommenderar verkligen Electro Cookie perfboard som är mycket bra för lödning (den blå i bilden) - Plywood - Lödning Järn - Koppartape - Hopptrådar

Steg 1: Designa din egen

Designa din egen
Designa din egen
Designa din egen
Designa din egen
Designa din egen
Designa din egen
Designa din egen
Designa din egen

Från och med gränssnittet för min VST ville jag trådrama in min layout med lite papper för att hitta den perfekta passformen.

Jag har sedan designat det med en programvara, skrivit ut det och limmat det på en kartongprototyp för att se om layouten kanske fungerar i den verkliga världen.

Det här steget är verkligen upp till dig - du kan designa den för en plåtlåda eller en tändsticksask: min rekommendation är att prototypa så mycket du kan.

Att få plywoodfodralet att matcha elektronikbrädorna och använda perfboards är inte det mest exakta någonsin: ju mer du testar desto bättre är det.

Steg 2: Lödning och kabeldragning

Lödning och ledningar
Lödning och ledningar
Lödning och ledningar
Lödning och ledningar
Lödning och ledningar
Lödning och ledningar
Lödning och ledningar
Lödning och ledningar

När din design är klar kan du gå till elektronik!

Obs: Jag antar att du typ vet hur dessa saker fungerar så jag kommer inte att gå in på detaljer om lödning och anslutningar.

I denna fas använde jag 2 olika perforerade brädor för tre separerade kretsar: den gulaktiga är förmodligen den vanligaste. Jag gillar det inte mycket men jag hade en extra så jag ville ändå använda den. Den blå-ish är mycket bättre och jag rekommenderar verkligen att använda den istället om du är nybörjare som jag är.

I den gulaktiga är ett hål väldigt, väldigt litet och koppar är bara på ena sidan runt varje hål, lödning kommer inte att flöda genom hålet.

För att designa spåren på detta bräde bestämde jag mig för att gå på 5 mm koppartejp: jag skar det på mitten men det var en hemsk idé. Eftersom det är väldigt lätt är fruktansvärt att hantera och både GND och VCC kanske inte distribueras korrekt. Det krävde mycket testning och fixning och det tog väldigt lång tid.

Men hej, det ser väldigt bra ut på slutet.

Att få trådarna att springa runt är lite smärtsamt: att slutföra detta kort är förmodligen det som tog mest tid.

Att använda den blå perfektbrädan (kallad Electro Cookie på Amazon) var mycket bättre: den är ansluten som en brödbräda, du kan undvika att använda koppartejp eftersom stift och ledningar redan är anslutna när de löds på samma block.

Du kan också knäppa den med händerna i mindre bitar vilket är fruktansvärt bättre.

Hålen är större och belagda i koppar vilket gör lödning supersnabbt och rent.

Det tog 3-4 dagar att göra den första gul-ish brädan, bara några timmar att göra de andra 2.

Notera om potentiometrar Som du kan se var jag tvungen att böja grytfötter - de är avsedda att användas på PBC och är inte riktigt de bästa i det här fallet. Men att böja fötterna till rätt vinkel gjorde dem mycket stabila.

Steg 3: Från hårdvara till programvara

Från hårdvara till programvara
Från hårdvara till programvara

Nu har du alla dina saker anslutna och förhoppningsvis gjorde du dina tester för att kontrollera att din Vcc och GND är ok.

Potentiometrar är förmodligen det enklaste att börja med på Arduino.

De har tre stift: en är för GND, en är för 5V. Den centrala stiftet är en slags "utgång" av potentiometern. Om du ansluter GND till vänster stift, 5V till höger stift och du vrider potten medurs, ser du värdet öka på dess "utgång" mellan 0 till 5V.

Den centrala stiftet går till en av de "analoga ingångarna" på Arduino som kommer att prova värdet och det kommer att översätta det till ett digitalt nummer: Arduino Mega 2560 översätter värdena från 0 till 1023 (det ger ett 0 när potten är allt vägen genom vänster, 1023 när är hela vägen till höger, 5V).

Tänk på att MIDI accepterar värden från 0 till 123 så att du måste dela Arduino -värdet med 8 innan du skickar heltalet via seriell.

Det ser väldigt enkelt ut (och det är) men det finns några saker att tänka på:- ofta är krukor inte superprecisa: deras utmatning kan slumpmässigt hoppa till de intilliggande värdena och utlösa oönskade CC-kommandon- din krets (ja, min i det här fallet) är inte perfekt: eftersom det inte är ett kretskort kan du ha slumpmässiga värden här och där så igen, slumpmässiga värden.- du vill inte skicka MIDI CC-värden hela tiden annars kommer din DAW förmodligen att täppa till så du måste hitta en lösning för att undvika detta

Min kod är skriven för att hantera de tre punkterna ovan och det gör det ganska bra.

Steg 4: Hur MIDI fungerar

MIDI är ett mycket gammalt protokoll, designat och skapat för att få datorer och instrument att fungera tillsammans.

Det finns en omfattande förklaring till hur MIDI fungerar: när det gäller att skicka anteckningar finns det massor av signaler du kan skicka men i vårt fall är allt väldigt enkelt.

Vi arbetar med Control Change (MIDI) så vi måste använda en av dessa kanaler som rapporteras i tabellen:

www.midi.org/specifications-old/item/table…

från 176 till 191.

När du skickar MIDI/CC -värden måste du skicka via seriell: - statusbyten (första kolumnen i tabellen) för att berätta för din DAW att du skickar en CC- vilken kontroll - i det här fallet, vilken KNOB - skickar den (heltal)- kontrollens värde

I mitt fall har jag 14 vred så ett meddelande kan vara:

Serial.write (176, 13, 107)

Knopp 13 skickar 107 värde via CC.

MIDI accepterar värden från 0 till 123 medan Arduino läser analoga värden från 0 till 1023 - kom bara ihåg att dela med 8 innan du slipar värdet.

Steg 5: Hur skickar du MIDI över USB på Arduino

Du har två alternativ för att skicka MIDI över USB med Arduino:

  • blinkar en intern Arduino USB -kontroller (rekommenderas i slutet av ditt projekt)
  • lämnar Arduino -lager och använd en programvara på din PC (den här) MYCKET REKOMMENDERAD

Blinkande Arduino USB -kontroller är inte det mest praktiska sättet att prototypa: när du blinkar in firmware för att skicka MIDI via USB, kommer Arduino inte att få någon ny kod att ladda upp, så om du vill uppdatera din kod måste du blinka fast programvara Så till exempel, din Arduino finns i lager och du laddar upp koden. Du blinkar för att få MIDI att fungera. Koppla ur den. Koppla in den. Du testar koden. Det fungerar inte.

Du blinkar tillbaka den till stock. Unplug. Plug-in. Rediger koden. Upload. Flash. UnplugPlugin [REPEAT AND CRY]

Det enda Pro av detta är att du inte behöver använda någon extern programvara men jag rekommenderar att du använder den här metoden bara i slutet av ditt projekt.

Å andra sidan är Hairless superenkel att använda eftersom du inte behöver blinka någonting - om du är på en Mac fungerar det perfekt med MIDI Setup och din DAW känner igen det direkt som "hårlös midi -kontroller". Mycket, mycket bättre.

Steg 6: Kodningstid

Kodningstid!
Kodningstid!

Inte mycket att säga här när jag lade upp min kod på Github och jag har kommenterat koden så mycket jag kunde.

Kom bara ihåg några grundläggande saker:

  1. Elektriska värden varierar
  2. du vill inte översvämma din DAW med onödiga CC -signaler
  3. Du vill inte skicka dubblett CC -meddelande

I min kod förklaras allt och du kan hitta det härhttps://github.com/weirdest-worry/aalto_midi_contr…

Steg 7: Sätt ihop dina saker

Sätt ihop dina saker
Sätt ihop dina saker
Sätt ihop dina saker
Sätt ihop dina saker
Sätt ihop dina saker
Sätt ihop dina saker

Nu fungerar din kod och det enda du behöver göra är att sätta ihop dina saker.

Detta kommer att kräva några träkunskaper som jag inte har (lyckligtvis hjälpte min fru mig i processen) så jag kan inte riktigt ge råd, men om du bestämde dig för att använda perfboards får du ett mycket rent och överskådligt arbete. Anslut nu din USB, öppna din DAW och släpp lite bas!

Rekommenderad: