Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Design din egen
- Trinn 2: Lodding og ledninger
- Trinn 3: Fra maskinvare til programvare
- Trinn 4: Hvordan fungerer MIDI
- Trinn 5: Hvordan sende MIDI over USB på Arduino
- Trinn 6: Kodetid
- Trinn 7: Sett sammen tingene dine
Video: Arduino MIDI -kontroller for Aalto: 7 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
Som amatørmusiker går jeg ofte fra Analog Synths til VST.
Når jeg er i "VST" -stemning, liker jeg virkelig et fantastisk instrument: Madronalabs Aalto VST
Denne utrolige VST er veldig fleksibel, den genererer veldig gode lyder og er ganske enkel å bruke til en fornuftig pris.
Min begrensning av VST -er er imidlertid at jeg egentlig ikke kan berøre kontrollene, og jeg må bruke musen/styreflaten mens jeg jam - ikke den beste. Jeg eier en MIDI -kontroller, men knappene gjenspeiler ikke det virkelige Aalto -grensesnittet.
På den annen side, med modulære eller halvmodulære synths, kan du ikke lagre oppdateringene dine, noe som gjør det hele litt frustrerende for meg.
Så jeg ønsket å lage en Custom MIDI -kontroller for Aalto med et design som gjenspeiler Aaltos grensesnitt for å kontrollere de mest relevante tingene.
Følg meg på Instagram for å se flere videoer av prosessen: weirdest.worry
Meg, på Spotify:
Rekvisita
- 1 Arduino Mega- 14 potensiometre (jeg brukte de -> PTV09A -4020F -B103) - Et brødbrett for prototyper - jeg anbefaler virkelig Electro Cookie perfboard som er veldig bra for lodding (den blå på bildet) - Kryssfiner - lodding Jern - Kobberbånd - Hoppetråder
Trinn 1: Design din egen
Fra grensesnittet til min VST, ønsket jeg å ramme oppsettet mitt med litt papir for å finne den perfekte passformen.
Jeg har da designet det med en programvare, skrevet det ut og limt det på en pappprototype for å se om oppsettet kan fungere i den virkelige verden.
Dette trinnet er virkelig opp til deg - du kan designe den for en tinnboks eller en fyrstikkeske: min anbefaling er å prototype så mye du kan.
Å få kryssfinerhuset til å passe til elektronikkbrettene og bruke perfboard er ikke det mest presise noensinne: jo mer du tester, desto bedre er det.
Trinn 2: Lodding og ledninger
Når designet er ferdig, kan du gå for elektronikk!
Merk: Jeg antar at du vet hvordan disse stoffene fungerer, så jeg vil ikke gå inn på detaljer om lodding og tilkoblinger.
I denne fasen brukte jeg 2 forskjellige perforerte brett for tre atskilte kretser: den gulaktige er trolig den vanligste. Jeg liker det ikke så godt, men jeg hadde en ekstra, så jeg ville bruke den uansett. Den blå-ish er mye bedre, og jeg anbefaler virkelig å bruke den i stedet hvis du er en nybegynner som jeg er.
I gul-ish er ett hull veldig, veldig lite og kobber er bare på den ene siden rundt hvert eneste hull, loddetinn vil ikke strømme gjennom hullet.
For å designe sporene på dette brettet bestemte jeg meg for å gå for 5 mm kobberbånd: Jeg kuttet det i to, men det var en forferdelig idé. Siden det er veldig lett, er det forferdelig å håndtere og det kan hende at både GND og VCC ikke distribueres riktig. Det krevde mye testing og fiksing, og det tok veldig lang tid.
Men hei, det ser veldig bra ut på slutten.
Det er litt smertefullt å få ledningene til å løpe rundt: å fullføre dette brettet er sannsynligvis det som tok mest tid.
Å bruke det blå perfboardet (kalt Electro Cookie på Amazon) var langt bedre: det er koblet til som et brødbrett, du kan unngå å bruke kobberbånd siden pinner og ledninger allerede er tilkoblet når de loddes på samme blokk.
Du kan også knipse den med hendene i mindre biter som er fryktelig bedre.
Hull er større og belagt med kobber, noe som gjør lodding super raskt og rent.
Det tok 3-4 dager å gjøre det første gulaktige brettet, bare noen få timer for å lage de andre 2.
Merknad om potensiometre Som du kan se måtte jeg bøye gryteføtter - de er ment å bli brukt på PBC -er og er egentlig ikke de beste i dette tilfellet. Men å bøye føttene til riktig vinkel gjorde dem veldig stabile.
Trinn 3: Fra maskinvare til programvare
Nå har du alle tingene tilkoblet, og forhåpentligvis gjorde du testene dine for å kontrollere at Vcc og GND er ok.
Potensiometre er sannsynligvis det enkleste å begynne med på Arduino.
De har tre pinner: en er for GND, en er for 5V. Den sentrale pinnen er en slags "utgang" av potensiometeret. Hvis du kobler GND til venstre pinne, 5V til høyre pinne og du dreier potten med klokken, vil du se verdien øke på "utgangen" mellom 0 til 5V.
Den sentrale pinnen går til en av de "analoge inngangene" til Arduino som vil prøve verdien, og den vil oversette den til et digitalt tall: Arduino Mega 2560 oversetter verdiene fra 0 til 1023 (det vil gi en 0 når potten er alt veien gjennom venstre, 1023 når er helt gjennom høyre, 5V).
Husk at MIDI godtar verdier fra 0 til 123, så du må dele Arduino -verdien med 8 før du sender hele tallverdien via seriell.
Det ser veldig enkelt ut (og det er), men det er et par ting å huske på:- Ofte er potter ikke super presise: utgangen deres kan tilfeldig hoppe til de tilstøtende verdiene og utløse uønskede CC-kommandoer- kretsen din (vel, min i dette tilfellet) er ikke perfekt: siden det ikke er et kretskort, kan du ha tilfeldige verdier her og der, så igjen, tilfeldige verdier.- du vil ikke sende MIDI CC-verdier hele tiden, ellers vil DAW sannsynligvis tette så du må finne en løsning for å unngå dette
Koden min er skrevet for å takle de tre punktene ovenfor, og den gjør det ganske bra.
Trinn 4: Hvordan fungerer MIDI
MIDI er en veldig gammel protokoll, designet og laget for å få datamaskiner og instrumenter til å fungere sammen.
Det er en omfattende forklaring på hvordan MIDI fungerer: Når det gjelder å sende notater, er det tonnevis av signaler du kan sende, men i vårt tilfelle er alt veldig enkelt.
Vi jobber med Control Change (MIDI), så vi må bruke en av disse kanalene som er rapportert i denne tabellen:
www.midi.org/specifications-old/item/table…
fra 176 til 191.
Når du sender MIDI/CC -verdier, må du sende via seriell: - statusbyte (første kolonne i tabellen) for å fortelle DAW -en at du sender en CC - hvilken kontroll - i dette tilfellet hvilken KNOB - sender den (heltall)- verdien av kontrollen
I mitt tilfelle har jeg 14 knapper, så en melding kan være:
Serial.write (176, 13, 107)
Knott 13 sender 107 verdi via CC.
MIDI godtar verdier fra 0 til 123 mens Arduino leser analoge verdier fra 0 til 1023 - bare husk å dele med 8 før du sliper verdien.
Trinn 5: Hvordan sende MIDI over USB på Arduino
Du har to alternativer for å sende MIDI over USB med Arduino:
- blinker en intern Arduino USB -kontroller (anbefalt helt på slutten av prosjektet)
- forlater Arduino lager og bruk en programvare på din PC (denne) MEGET ANBEFALT
Blinkende Arduino USB -kontroller er ikke den mest praktiske måten å prototype på: Når du blinker fastvaren for å sende MIDI over USB, vil Arduino ikke motta noen ny kode å laste opp, så hvis du vil oppdatere koden, må du blinke fastvaren Så for eksempel, din Arduino er lager og du laster opp koden. Du blinker den for å få MIDI til å fungere. Koble den fra. Koble den til. Du tester koden. Den fungerer ikke.
Du blinker den tilbake til stock. Unplug. Plug-in. Rediger koden. Upload. Flash. UnplugPlugin [REPEAT AND CRY]
Den eneste fordelen med dette er at du ikke trenger å bruke ekstern programvare, men jeg anbefaler å bruke denne metoden bare helt på slutten av prosjektet.
På den annen side er Hairless superenkelt å bruke fordi du ikke trenger å blinke noe - hvis du er på en Mac fungerer det perfekt med MIDI -oppsett, og DAW -en din vil umiddelbart gjenkjenne den som "hårløs midikontroller". Mye, mye bedre.
Trinn 6: Kodetid
Ikke mye å si her da jeg postet koden min på Github, og jeg har kommentert koden så mye jeg kunne.
Bare husk noen grunnleggende ting:
- Elektriske verdier svinger
- du vil ikke oversvømme DAW med unødvendige CC -signaler
- Du vil ikke sende duplikat CC -melding
I koden min er alt forklart, og du finner den her
Trinn 7: Sett sammen tingene dine
Nå fungerer koden din, og det eneste du trenger å gjøre er å sette sammen tingene dine.
Dette vil kreve noen treferdigheter jeg ikke har (heldigvis hjalp kona mi meg i prosessen) så jeg kan egentlig ikke gi råd, men hvis du bestemte deg for å bruke perfboards vil du få et veldig rent og ryddig arbeid. Koble nå til USB -en din, åpne DAW og slipp litt bass!
Anbefalt:
Arduino MIDI trommer: 6 trinn
Arduino MIDI trommer: Har du noen gang lurt på å lære trommer, men du har ikke råd til et trommesett eller har ikke nok plass til å lagre trommesettet. Lag et MIDI trommesett hjemme ved å bruke Arduino under $ 800 ($ 10)
Arduino MIDI Rhythm Section Sequencer: 8 trinn (med bilder)
Arduino MIDI Rhythm Section Sequencer: Å ha en god programvaretrommemaskin er enkelt og billig i dag, men å bruke mus dreper moroa for meg. Dette er grunnen til at jeg innså hva som opprinnelig var ment som en ren 64 -trinns maskinvare MIDI trommesekvenser som var i stand til å utløse opptil 12 forskjellige trommelem
Arduino Multi-track MIDI Loop Station: 6 trinn
Arduino Multi-track MIDI Loop Station: En sløyfestasjon, eller en looper, er i hovedsak et verktøy for å spille av instrumentalriffene (looper) i sanntid. Det er ikke ment som et opptaksmedium, men et instrument for å forme inspirasjonen uten distraksjon (og til slutt utføre live …). Ther
Slik laster du fôr til kyr: 9 trinn
Slik laster du fôr til kyr: Alt som lever trenger mat for å overleve. I vinter- og vårmånedene er det ikke gress for kyr å beite på. Dette gjør det veldig viktig at kuene blir matet skikkelig slik at de produserer sunne kalver. I de følgende trinnene vil pr
MIDI 5V LED Strip Light Controller for Spielatron eller annen MIDI Synth: 7 trinn (med bilder)
MIDI 5V LED Strip Light Controller for Spielatron eller annen MIDI Synth: Denne kontrolleren blinker trefargede LED stripelys for 50mS per note. Blå for G5 til D#6, rød for E6 til B6 og grønn for C7 til G7. Kontrolleren er en ALSA MIDI -enhet, slik at MIDI -programvare kan mates ut til lysdiodene samtidig som en MIDI -synthenhet