Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Aufbau des Steckbretts
- Schritt 2: Hochladen der Skizze
- Schritt 3: Hairless MIDI und interne MIDI Loops verstehen
- Schritt 4: Verbinden mit Ihrer DAW
- Schritt 5: Spielen
Video: Grundlegender Arduino MIDI-Controller - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:17
Einführung:
Ich bin neu in der Arbeit mit Arduino, aber ich hoffe, mein Wissen zu erweitern, indem ich andere unterrichte und Feedback erhalte. Dies ist ein sehr einfacher MIDI-Controller mit 4 Tasten und einem Potentiometer. Die Gliederung für dieses Projekt sieht wie folgt aus:
1. Baue das Steckbrett aus
2. Laden Sie die Skizze zum Arduino hoch
3. Verstehen Sie Hairless MIDI und den internen MIDI-Loop (loopbe1)
4. routen Sie Ihre MIDI-Daten zu einer DAW (Ableton)
Lieferungen
1 x Arduino Mega 2560
1 x Brotbrett
1 x USB-Kabel
1 x Potentiometer
4 x Takttasten
4 x 120Ohm Widerstände
14 x Starthilfekabel für Steckbrett
Schritt 1: Aufbau des Steckbretts
Schließen Sie Ihr Steckbrett so an, dass alle Komponenten mit Bild 1 oben übereinstimmen. Jede Taste sollte wie in Bild 2 aussehen. Die Tasteneingänge sind 2, 3, 4 und 5 auf dem Arduino und der mittlere Pin des Potentiometers ist mit dem ANALOG-Eingang A0 verbunden.
Schritt 2: Hochladen der Skizze
Kopieren Sie den folgenden Code und fügen Sie ihn in die Arduino-IDE ein. Wählen Sie unter "Tools" das richtige Board aus und laden Sie die Skizze zum Arduino hoch.
Byte NoteON = 144; // Note on Commandbyte Note; // Speicher für die aktuell gespielte Note int buttonPin1 = 2; int buttonPin2 = 3; int buttonPin3 = 4; int buttonPin4 = 5; int potPin = A0; boolean currentState = LOW; // Speicher für den aktuellen Schaltflächenzustand boolean lastState = LOW; // Speicher für den letzten Schaltflächenzustand void setup () {pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); pinMode (buttonPin3, INPUT); pinMode (buttonPin4, INPUT); // Diesmal werden wir den Pin als INPUT Serial.begin (9600) setzen; // Serielle Verbindung initialisieren aufrechtzuerhalten. Void Schleife () { Int PotVal = analogRead (potPin); Byte-Geschwindigkeit = map(PotVal, 0, 1023, 0, 127); currentState = digitalRead (buttonPin1); if (currentState == HIGH && lastState == LOW) { MIDImessage (noteON, 60, Velocity); // Note 60 mit 127 Velocity Delay (200) einschalten; // grobe Form der Tastenentprellung } else if (currentState == LOW && lastState == HIGH) { MIDImessage (noteON, 60, 0); // Note 60 ausschalten Verzögerung (2); // grobe Form der Tastenentprellung} lastState = currentState; currentState = digitalRead (buttonPin2); if (currentState == HIGH && lastState == LOW) {//wenn die Taste gerade gedrückt wurde MIDImessage (noteON, 61, Velocity); // Note 60 mit 127 Velocity Delay (200) einschalten; // grobe Form der Taste Entprellung} else if(currentState == LOW && lastState == HIGH){ MIDImessage(noteON, 60, 0); // Note 60 ausschalten Verzögerung (2); // grobe Form der Tastenentprellung} lastState = currentState; currentState = digitalRead (buttonPin3); if (currentState == HIGH && lastState == LOW) {//wenn die Taste gerade gedrückt wurde MIDImessage (noteON, 62, Velocity); // Note 60 mit 127 Velocity Delay (200) einschalten; // grobe Form der Taste Entprellung} else if(currentState == LOW && lastState == HIGH){ MIDImessage(noteON, 60, 0); // Note 60 ausschalten Verzögerung (2); // grobe Form der Tastenentprellung} lastState = currentState; currentState = digitalRead (buttonPin4); if (currentState == HIGH && lastState == LOW) {//wenn die Taste gerade gedrückt wurde MIDImessage (noteON, 63, Velocity); // Note 60 mit 127 Velocity Delay (200) einschalten; // grobe Form der Taste Entprellung} else if(currentState == LOW && lastState == HIGH){ MIDImessage(noteON, 60, 0); // Note 60 ausschalten Verzögerung (2); // grobe Form der Tastenentprellung} lastState = currentState; } // MIDI-Nachricht senden void MIDImessage (Byte-Befehl, Byte-Daten1, Byte-Daten2) { Serial.write (Befehl); Serial.write (Daten1); Serial.write (Daten2); }
Ich bin immer noch sehr neu im Schreiben von Code im Allgemeinen….. diejenigen mit etwas mehr Erfahrung könnten das wahrscheinlich aufräumen…
Schritt 3: Hairless MIDI und interne MIDI Loops verstehen
Der Arduino muss über eine serielle Brücke wie Hairless MIDI und dann über eine interne MIDI-Schleife wie loopbe1 (oder IAC-Bus für Mac) laufen.
Hinweis: Sie können keine Skizze auf das Arduino hochladen, während es mit der haarlosen seriellen MIDI-Brücke verbunden ist.
Wählen Sie Ihren Arduino im seriellen Hairless-MIDI-Port und loopbe1 oder IAC-Bus im MIDI-Ausgang aus.
Hinweis: Stellen Sie sicher, dass die Stummschaltung nicht aktiviert ist, wenn Sie loopbe1 verwenden.
Schritt 4: Verbinden mit Ihrer DAW
Wenn Sie beim Drücken einer Taste auf dem Steckbrett ein Signal an die Hairless MIDI-App erhalten (die Lichter blinken), sollten Sie in der Lage sein, MIDI-Daten an eine DAW zu senden. Ich habe Ableton verwendet, aber jede DAW sollte funktionieren. Stellen Sie sicher, dass Ihr interner MIDI-Loop (loopbe1) in Ihren DAW-Einstellungen aktiviert ist (in Ableton möchten Sie, dass "Track" aktiviert ist). Wählen Sie als Nächstes einen Ihrer MIDI-Spureingänge für den MIDI-Loop (loopbe1) aus, wie in der Abbildung oben gezeigt.
Schritt 5: Spielen
Die Tasten funktionieren jetzt wie jeder andere MIDI-Controller! Das Potentiometer ändert die Velocity der Noten, die an die DAW gesendet werden. Das (sehr düstere…) Video oben zeigt einen Flügelklang in Aktion!
Empfohlen:
MIDI-Sonar "Theremin": 10 Schritte (mit Bildern)
MIDI-Sonar "Theremin": Dies ist ein Musikinstrument, das zwei Sonar-Abstandssensoren verwendet, um die Tonhöhe und Qualität der Noten zu steuern. Es ist natürlich kein Theremin, aber "Theremin" ist zum Oberbegriff für Instrumente geworden, die durch Winken mit den Händen gespielt werden
Arduino-Programmierung über das Handy -- Arduinodroid -- Arduino-Ide für Android -- Blinzeln: 4 Schritte
Arduino-Programmierung über das Handy || Arduinodroid || Arduino-Ide für Android || Blink: Bitte abonnieren Sie meinen Youtube-Kanal für weitere Videos…… Arduino ist ein Board, das direkt über USB programmiert werden kann. Es ist sehr einfach und günstig für College- und Schulprojekte oder sogar für Produktprototypen. Viele Produkte bauen zunächst darauf für i
MIDI Step Interface: 12 Steps (mit Bildern)
MIDI Step Interface: Spanische Version hier.In diesem anweisbaren zeigen wir Ihnen, wie Sie ein Licht- und Sound-Interface erstellen, das zum Spielen von "Simon Says" verwendet werden kann; und als MIDI-Interface. Beide Modi werden mit den Füßen gespielt.HintergrundDas Projekt wurde geboren, weil
D4E1: Lese-Tool 2.0 (Grundlegender Produktionsprozess): 9 Schritte (mit Bildern)
D4E1: Reading-Tool 2.0 (Basic Production Process): Info:- Zwei Studenten Industrial Product Design in Kortrijk (Belgien) haben dieses Reading-Tool entwickelt. Wir haben mit einem bestehenden Design angefangen und es zu einem anderen Design weiterentwickelt. Das Lesetool wurde ursprünglich für einen Client entwickelt
So erstellen Sie eine MIDI-Map für den BCD3000 in Traktor Pro: 6 Schritte
So erstellen Sie eine MIDI-Map für den BCD3000 in Traktor Pro: Dies führt Sie Schritt für Schritt durch die Erstellung Ihrer eigenen benutzerdefinierten tsi-MIDI-Maps in Traktor Pro für Behringer's DEEJAY BCD3000