Inhaltsverzeichnis:

Arduino MIDI-Controller für Aalto - Gunook
Arduino MIDI-Controller für Aalto - Gunook

Video: Arduino MIDI-Controller für Aalto - Gunook

Video: Arduino MIDI-Controller für Aalto - Gunook
Video: Building a MIDI Controller Using Arduino 2024, November
Anonim
Arduino MIDI-Controller für Aalto
Arduino MIDI-Controller für Aalto

Als Amateurmusiker gehe ich oft von analogen Synthesizern zu VSTs.

Wenn ich in "VST"-Stimmung bin, stehe ich wirklich auf ein erstaunliches Instrument: Madronalabs Aalto VST

Dieses unglaubliche VST ist sehr flexibel, es erzeugt sehr gute Sounds und ist ziemlich einfach zu einem vernünftigen Preis zu bedienen.

Meine Einschränkung bei VSTs besteht jedoch darin, dass ich die Bedienelemente nicht wirklich berühren kann und meine Maus / mein Trackpad verwenden muss, während ich jamme - nicht das Beste. Ich besitze einen MIDI-Controller, aber die Regler spiegeln nicht das echte Aalto-Interface wider.

Auf der anderen Seite kann man bei modularen oder semimodularen Synthesizern seine Patches nicht wirklich speichern, was das Ganze für mich etwas frustrierend macht.

Also wollte ich einen benutzerdefinierten MIDI-Controller für Aalto mit einem Design erstellen, das die Benutzeroberfläche von Aalto widerspiegelt, um die wichtigsten Dinge zu steuern.

Folgen Sie mir auf Instagram, um weitere Videos des Prozesses zu sehen: seltsamest.worry

Ich, auf Spotify:

Lieferungen

- 1 Arduino Mega - 14 Potentiometer (die habe ich verwendet -> PTV09A-4020F-B103) - Ein Steckbrett für Prototypen - Ich empfehle wirklich Electro Cookie Perfboard, das sich sehr gut zum Löten eignet (das blaue im Bild) - Sperrholz - Löten Eisen - Kupferband - Überbrückungsdrähte

Schritt 1: Entwerfen Sie Ihre eigenen

Entwerfen Sie Ihr eigenes
Entwerfen Sie Ihr eigenes
Entwerfen Sie Ihr eigenes
Entwerfen Sie Ihr eigenes
Entwerfen Sie Ihr eigenes
Entwerfen Sie Ihr eigenes
Entwerfen Sie Ihr eigenes
Entwerfen Sie Ihr eigenes

Ausgehend von der Oberfläche meines VST wollte ich mein Layout mit etwas Papier verdrahten, um die perfekte Passform zu finden.

Das habe ich dann mit einer Software entworfen, ausgedruckt und auf einen Karton-Prototyp geklebt, um zu sehen, ob das Layout in der realen Welt funktionieren könnte.

Dieser Schritt liegt ganz bei Ihnen - Sie können es für eine Blechdose oder eine Streichholzschachtel gestalten: Meine Empfehlung ist, so viel wie möglich zu prototypieren.

Das Sperrholzgehäuse passend zu den Elektronikplatinen zu machen und Perfboards zu verwenden, ist nicht die genaueste Sache: Je mehr Sie testen, desto besser.

Schritt 2: Löten und Verdrahtung

Löten und Verdrahten
Löten und Verdrahten
Löten und Verdrahten
Löten und Verdrahten
Löten und Verdrahten
Löten und Verdrahten
Löten und Verdrahten
Löten und Verdrahten

Wenn Ihr Design fertig ist, können Sie sich für Elektronik entscheiden!

Hinweis: Ich gehe davon aus, dass Sie wissen, wie diese Dinge funktionieren, daher werde ich nicht auf die Details des Lötens und der Verbindungen eingehen.

In dieser Phase habe ich 2 verschiedene Lochplatten für drei getrennte Stromkreise verwendet: die gelbliche ist wahrscheinlich die gebräuchlichste. Ich mag es nicht besonders, aber ich hatte ein Ersatzgerät, also wollte ich es trotzdem verwenden. Das bläuliche ist viel besser und ich empfehle wirklich, stattdessen dieses zu verwenden, wenn Sie wie ich ein Anfänger sind.

In dem gelblichen sind die Löcher sehr, sehr klein und Kupfer ist nur auf einer Seite um jedes einzelne Loch herum, Lot fließt nicht durch das Loch.

Um die Spuren auf dieser Platine zu entwerfen, entschied ich mich für 5 mm Kupferband: Ich habe es halbiert, aber es war eine schreckliche Idee. Da es sehr leicht ist, ist es schrecklich zu handhaben und sowohl GND als auch VCC werden möglicherweise nicht richtig verteilt. Es erforderte viele Tests und Reparaturen und es dauerte sehr lange.

Aber hey, es sieht am Ende sehr gut aus.

Das Herumlaufen der Drähte ist ein wenig schmerzhaft: Das Fertigstellen dieses Boards hat wahrscheinlich die meiste Zeit in Anspruch genommen.

Die Verwendung des blauen Perfboards (bei Amazon Electro Cookie genannt) war viel besser: Es wird wie ein Steckbrett verbunden, Sie können die Verwendung von Kupferband vermeiden, da Pins und Drähte bereits beim Löten auf demselben Block verbunden sind.

Außerdem können Sie es mit den Händen in kleinere Stücke zerbrechen, was schrecklich besser ist.

Die Löcher sind größer und mit Kupfer beschichtet, was das Löten superschnell und sauber macht.

Es dauerte 3-4 Tage, um das erste gelbliche Brett zu machen, nur wenige Stunden, um die anderen 2 zu machen.

Hinweis zu Potentiometern Wie Sie sehen, musste ich Topffüße biegen - die sind für PBCs gedacht und sind in diesem Fall nicht wirklich die besten. Das Beugen der Füße im rechten Winkel machte sie jedoch sehr stabil.

Schritt 3: Von der Hardware zur Software

Von der Hardware zur Software
Von der Hardware zur Software

Jetzt haben Sie alle Ihre Dinge angeschlossen und hoffentlich haben Sie Ihre Tests durchgeführt, um zu überprüfen, ob Vcc und GND in Ordnung sind.

Potentiometer sind wahrscheinlich die einfachste Sache, mit der man auf Arduino beginnen kann.

Sie haben drei Pins: einen für GND, einen für 5V. Der zentrale Pin ist eine Art "Ausgang" des Potentiometers. Wenn Sie GND an den linken Pin, 5V an den rechten Pin anschließen und das Poti im Uhrzeigersinn drehen, sehen Sie, wie der Wert an seinem "Ausgang" zwischen 0 und 5V ansteigt.

Der zentrale Pin geht zu einem der "analogen Eingänge" von Arduino, der den Wert abtastet und in eine digitale Zahl übersetzt: Arduino Mega 2560 übersetzt die Werte von 0 bis 1023 (es gibt eine 0, wenn der Pot ganz ist der Weg durch die linke, 1023 wenn der ganze Weg durch die rechte ist, 5V).

Denken Sie daran, dass MIDI Werte von 0 bis 123 akzeptiert, sodass Sie den Arduino-Wert durch 8 teilen müssen, bevor Sie den Integer-Wert seriell senden.

Es sieht sehr einfach aus (und ist es auch), aber es gibt ein paar Dinge zu beachten: - oft sind Potis nicht sehr präzise: Ihr Ausgang kann zufällig auf die benachbarten Werte springen und unerwünschte CC-Befehle auslösen - Ihre Schaltung (nun, meine) in diesem Fall) ist nicht perfekt: Da es sich nicht um eine Platine handelt, können Sie hier und da zufällige Werte haben, also wieder zufällige Werte.- Sie möchten nicht ständig MIDI-CC-Werte senden oder Ihre DAW wird wahrscheinlich so verstopfen Sie müssen eine Lösung finden, um dies zu vermeiden

Mein Code wurde geschrieben, um die drei oben genannten Punkte anzugehen, und er macht es ziemlich gut.

Schritt 4: Wie MIDI funktioniert

MIDI ist ein sehr altes Protokoll, das entwickelt und entwickelt wurde, um Computer und Instrumente zusammenarbeiten zu lassen.

Es gibt eine umfassende Erklärung, wie MIDI funktioniert: Wenn es um das Senden von Noten geht, gibt es jede Menge Signale, die Sie senden können, aber in unserem Fall ist alles sehr einfach.

Wir arbeiten mit Control Change (MIDI), daher müssen wir einen der in dieser Tabelle aufgeführten Kanäle verwenden:

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

von 176 bis 191.

Wenn Sie MIDI/CC-Werte senden, müssen Sie seriell senden:- das Statusbyte (erste Spalte der Tabelle), um Ihrer DAW mitzuteilen, dass Sie ein CC senden- welches Control - in diesem Fall welcher KNOB - es sendet (ganze Zahl) - der Wert des Steuerelements

In meinem Fall habe ich 14 Knöpfe, daher könnte eine Meldung lauten:

Serial.write(176, 13, 107)

Knopf 13 sendet 107-Werte über CC.

MIDI akzeptiert Werte von 0 bis 123, während Arduino analoge Werte von 0 bis 1023 liest. Denken Sie daran, vor dem Schleifen des Werts durch 8 zu teilen.

Schritt 5: So senden Sie MIDI über USB auf Arduino

Sie haben 2 Möglichkeiten, MIDI über USB mit Arduino zu senden:

  • Flashen eines internen Arduino USB-Controllers (empfohlen am Ende Ihres Projekts)
  • Verlassen Sie Arduino Lager und verwenden Sie eine Software auf Ihrem PC (diese) SEHR EMPFOHLEN

Das Flashen des Arduino USB-Controllers ist nicht die bequemste Art, Prototypen zu erstellen: Wenn Sie die Firmware flashen, um MIDI über USB zu senden, erhält Arduino keinen neuen Code zum Hochladen. Wenn Sie also Ihren Code aktualisieren möchten, müssen Sie die Firmware flashen auf die Standardversion. Also zum Beispiel, Ihr Arduino ist auf Lager und Sie laden den Code hoch. Sie flashen ihn, damit MIDI funktioniert. Trennen Sie ihn. Stecken Sie ihn ein. Sie testen den Code. Es funktioniert nicht.

Sie flashen es zurück auf stock. Unplug. Plug-in. Ändern Sie den Code. Upload. Flash. UnplugPlugin[REPEAT AND CRY]

Der einzige Vorteil davon ist, dass Sie keine externe Software verwenden müssen, aber ich empfehle, diese Methode nur ganz am Ende Ihres Projekts zu verwenden.

Auf der anderen Seite ist Hairless super einfach zu bedienen, da du nichts flashen musst - auf einem Mac funktioniert es perfekt mit MIDI Setup und deine DAW erkennt es sofort als "hairless Midi Controller". besser.

Schritt 6: Codierungszeit

Codierungszeit!
Codierungszeit!

Hier gibt es nicht viel zu sagen, da ich meinen Code auf Github gepostet und den Code so gut wie möglich kommentiert habe.

Denken Sie nur an einige grundlegende Dinge:

  1. Elektrische Werte schwanken
  2. Sie möchten Ihre DAW nicht mit unnötigen CC-Signalen überfluten
  3. Sie möchten keine doppelte CC-Nachricht senden

In meinem Code ist alles erklärt und ihr findet es hierhttps://github.com/weirdest-worry/aalto_midi_contr…

Schritt 7: Stellen Sie Ihre Sachen zusammen

Stellen Sie Ihre Sachen zusammen
Stellen Sie Ihre Sachen zusammen
Stellen Sie Ihre Sachen zusammen
Stellen Sie Ihre Sachen zusammen
Stellen Sie Ihre Sachen zusammen
Stellen Sie Ihre Sachen zusammen

Jetzt funktioniert Ihr Code und Sie müssen nur noch Ihre Sachen zusammenstellen.

Dies erfordert einige Holzkenntnisse, die ich nicht habe (zum Glück hat mir meine Frau dabei geholfen), daher kann ich nicht wirklich Ratschläge geben, aber wenn Sie sich für die Verwendung von Perfboards entschieden haben, haben Sie eine sehr saubere und aufgeräumte Arbeit. Schließen Sie jetzt Ihren USB an, öffnen Sie Ihre DAW und lassen Sie etwas Bass fallen!

Empfohlen: