Indholdsfortegnelse:

Arduino MIDI -controller til Aalto: 7 trin
Arduino MIDI -controller til Aalto: 7 trin

Video: Arduino MIDI -controller til Aalto: 7 trin

Video: Arduino MIDI -controller til Aalto: 7 trin
Video: Web Programming - Computer Science for Business Leaders 2016 2024, November
Anonim
Arduino MIDI -controller til Aalto
Arduino MIDI -controller til Aalto

Som amatørmusiker går jeg ofte fra Analog Synths til VST'er.

Når jeg er i "VST" -stemning, er jeg virkelig til et fantastisk instrument: Madronalabs Aalto VST

Denne utrolige VST er meget fleksibel, den genererer meget gode lyde og er ret nem at bruge til en rimelig pris.

Min begrænsning af VST'er er imidlertid, at jeg ikke rigtigt kan røre kontrollerne, og jeg skal bruge min mus/pegefelt, mens jeg jam - ikke det bedste. Jeg ejer en MIDI -controller, men knapper afspejler ikke den ægte Aalto -grænseflade.

På den anden side kan du med modulære eller semi-modulære synths ikke rigtig gemme dine patches, hvilket gør det hele lidt frustrerende for mig.

Så jeg ville oprette en Custom MIDI -controller til Aalto med et design, der afspejler Aaltos interface for at styre de mest relevante ting.

Følg mig på Instagram for at se flere videoer af processen: weirdest.worry

Mig på Spotify:

Forbrugsvarer

- 1 Arduino Mega- 14 Potentiometre (jeg brugte dem -> PTV09A -4020F -B103) - Et brødbræt til prototyper - jeg anbefaler virkelig Electro Cookie perfboard, der er meget godt til lodning (den blå på billedet) - Krydsfiner - Lodning Jern - Kobberbånd - Springtråde

Trin 1: Design din egen

Design din egen
Design din egen
Design din egen
Design din egen
Design din egen
Design din egen
Design din egen
Design din egen

Fra grænsefladen på min VST ville jeg wireframe mit layout med noget papir for at finde den perfekte pasform.

Jeg har derefter designet det med en software, printet det og limet det til en pap prototype for at se, om layoutet muligvis fungerer i den virkelige verden.

Dette trin er virkelig op til dig - du kan designe det til en dåseæske eller en tændstikæske: min anbefaling er at prototype så meget som du kan.

At få krydsfinerhuset til at matche elektronikbrædderne og bruge perfboards er ikke det mest præcise nogensinde: Jo mere du tester, jo bedre er det.

Trin 2: Lodning og ledninger

Lodning og ledninger
Lodning og ledninger
Lodning og ledninger
Lodning og ledninger
Lodning og ledninger
Lodning og ledninger
Lodning og ledninger
Lodning og ledninger

Når dit design er færdigt, kan du gå efter elektronik!

Bemærk: Jeg går ud fra, at du ved, hvordan disse ting fungerer, så jeg vil ikke gå ind på detaljer om lodning og forbindelser.

I denne fase brugte jeg 2 forskellige perforerede brædder til tre adskilte kredsløb: den gul-ish er sandsynligvis den mest almindelige. Jeg kan ikke lide det meget, men jeg havde en ekstra, så jeg ville alligevel bruge den. Den blå-ish er langt bedre, og jeg anbefaler virkelig at bruge den i stedet, hvis du er en nybegynder, som jeg er.

I den gul-ish er et hul meget, meget lille, og kobber er bare på den ene side omkring hvert eneste hul, loddetin flyder ikke gennem hullet.

For at designe sporene på dette bræt besluttede jeg mig for at gå efter 5 mm kobberbånd: Jeg skar det i to, men det var en frygtelig idé. Da det er meget let, er forfærdeligt at håndtere, og både GND og VCC distribueres muligvis ikke korrekt. Det krævede meget test og reparation, og det tog meget lang tid.

Men hey, det ser meget godt ud til sidst.

Det er lidt smertefuldt at få ledningerne til at løbe rundt: at færdiggøre dette bord er nok det, der tog mest tid.

Brug af det blå perfboard (kaldet Electro Cookie på Amazon) var langt bedre: det er forbundet som et brødbræt, du kan undgå at bruge kobberbånd, da stifter og ledninger allerede er tilsluttet, når de loddes på den samme blok.

Du kan også snappe den med dine hænder i mindre stykker, hvilket er frygtelig bedre.

Huller er større og belagt med kobber, hvilket gør lodning super hurtigt og rent.

Det tog 3-4 dage at lave det første gul-ish bord, kun få timer at lave de andre 2.

Bemærk om potentiometre Som du kan se, var jeg nødt til at bøje grydefødder - de er beregnet til at blive brugt på PBC'er og er ikke rigtig de bedste i dette tilfælde. Men at bøje deres fødder til den rigtige vinkel gjorde dem meget stabile.

Trin 3: Fra hardware til software

Fra hardware til software
Fra hardware til software

Nu har du alle dine ting forbundet, og forhåbentlig gjorde du dine tests for at kontrollere, at din Vcc og GND er ok.

Potentiometre er nok det letteste at starte med på Arduino.

De har tre ben: en er til GND, en er til 5V. Den centrale stift er en slags "output" af potentiometeret. Hvis du slutter GND til den venstre pin, 5V til den højre pin, og du drejer gryden med uret, vil du se værdien stige på dens "output" mellem 0 til 5V.

Den centrale pin går til en af de "analoge indgange" på Arduino, som vil prøve værdien, og den vil oversætte den til et digitalt tal: Arduino Mega 2560 oversætter værdierne fra 0 til 1023 (det vil give et 0, når puljen er alt vejen gennem venstre, 1023 når er hele vejen gennem højre, 5V).

Husk, at MIDI accepterer værdier fra 0 til 123, så du bliver nødt til at dividere Arduino -værdien med 8, før du sender hele talværdien via seriel.

Det ser meget enkelt ud (og det er), men der er et par ting at huske på:- ofte er gryder ikke superpræcise: deres output kan tilfældigt hoppe til de tilstødende værdier og udløse uønskede CC-kommandoer- dit kredsløb (godt, mit i dette tilfælde) er ikke perfekt: da det ikke er et printkort, kan du have tilfældige værdier hist og her, så igen tilfældige værdier.- du vil ikke sende MIDI CC-værdier hele tiden, ellers vil din DAW sandsynligvis tilstoppe du skal finde en løsning for at undgå dette

Min kode er skrevet for at tackle de tre punkter ovenfor, og det gør det ret godt.

Trin 4: Sådan fungerer MIDI

MIDI er en meget gammel protokol, designet og skabt til at få computere og instrumenter til at fungere sammen.

Der er en omfattende forklaring på, hvordan MIDI fungerer: Når det kommer til at sende noter, er der masser af signaler, du kan sende, men i vores tilfælde er alt meget simpelt.

Vi arbejder med Control Change (MIDI), så vi skal bruge en af disse kanaler, der er rapporteret i denne tabel:

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

fra 176 til 191.

Når du sender MIDI/CC -værdier, skal du sende via seriel: - statusbyten (første kolonne i tabellen) for at fortælle din DAW, at du sender en CC- hvilken kontrol - i dette tilfælde, hvilken KNOB - sender den (heltal)- værdien af kontrollen

I mit tilfælde har jeg 14 knapper, så en besked kan være:

Serial.write (176, 13, 107)

Knap 13 sender 107 værdi via CC.

MIDI accepterer værdier fra 0 til 123, mens Arduino læser analoge værdier fra 0 til 1023 - bare husk at dividere med 8, før du sliber værdien.

Trin 5: Sådan sender du MIDI over USB på Arduino

Du har 2 muligheder for at sende MIDI over USB med Arduino:

  • blinker en intern Arduino USB -controller (anbefales i slutningen af dit projekt)
  • forlader Arduino lager og brug en software på din pc (denne) MEGET ANBEFALET

Blinkende Arduino USB Controller er ikke den mest bekvemme måde at prototype på: Når du blinker firmwaren for at sende MIDI over USB, modtager Arduino ikke nogen ny kode til upload, så hvis du vil opdatere din kode, skal du blinke firmwaren Så f.eks. er din Arduino på lager, og du uploader koden. Du blinker den for at få MIDI til at fungere. Tag den ud. Tilslut den. Du tester koden. Den virker ikke.

Du blinker den tilbage til stock. Unplug. Plug-in. Rediger koden. Upload. Flash. UnplugPlugin [REPEAT AND CRY]

Den eneste fordel ved dette er, at du ikke behøver at bruge nogen ekstern software, men jeg anbefaler kun at bruge denne metode i slutningen af dit projekt.

På den anden side er Hairless super let at bruge, fordi du ikke skal blinke noget - hvis du er på en Mac fungerer det perfekt med MIDI Setup, og din DAW genkender det med det samme som "hårløs midi controller". Meget, meget bedre.

Trin 6: Kodningstid

Kodningstid!
Kodningstid!

Ikke meget at sige her, da jeg postede min kode på Github, og jeg har kommenteret koden så meget som jeg kunne.

Husk bare nogle grundlæggende ting:

  1. Elektriske værdier svinger
  2. du vil ikke oversvømme dig DAW med unødvendige CC -signaler
  3. Du vil ikke sende en kopi af CC -beskeder

I min kode er alt forklaret, og du kan finde det herhttps://github.com/weirdest-worry/aalto_midi_contr…

Trin 7: Sæt dine ting sammen

Sæt dine ting sammen
Sæt dine ting sammen
Sæt dine ting sammen
Sæt dine ting sammen
Sæt dine ting sammen
Sæt dine ting sammen

Nu fungerer din kode, og det eneste du skal gøre er at sætte dine ting sammen.

Dette vil kræve nogle træfærdigheder, jeg ikke har (heldigvis hjalp min kone mig i processen), så jeg kan ikke rigtig give råd, men hvis du besluttede dig for at bruge perfboards, får du et meget rent og ryddet arbejde. Slut nu din USB, åbn din DAW og slip lidt bas!

Anbefalede: