Inhaltsverzeichnis:
- Schritt 1: Grenzen
- Schritt 2: Wie es funktioniert
- Schritt 3: Hardware
- Schritt 4: Software
- Schritt 5: Verkabelungen
- Schritt 6: Was ist, wenn ich mehr als eine MIDI-Quelle habe?
Video: Arduino Mehrspur-MIDI-Loop-Station - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
Eine Loop-Station oder ein Looper ist im Wesentlichen ein Werkzeug, um Ihre Instrumentalriffs (Loops) in Echtzeit abzuspielen. Es ist nicht als Aufnahmemedium gedacht, sondern als Instrument, um die Inspiration ohne Ablenkung zu formen (und schließlich live zu spielen…).
Es gibt viele Loop-Stationen für Audioaufnahmen, sowohl in Form von dedizierter Hardware (fast jeder einzelne Hersteller von Gitarrenpedalen hat sein eigenes Produkt) als auch Computersoftware (der ausgezeichnete Linux Sooper Looper oder Windows Mobius, um die bekanntesten zu nennen). Ich konnte nur wenige Projekte über DIY-Nicht-Audio-, sondern MIDI-Looper finden, also ein Werkzeug, um MIDI-Events aufzunehmen und sie sofort in einer Schleife wiederzugeben; die meisten dieser Projekte (alle, sollte ich sagen) sind aufgegeben oder verloren … nun, hier sind wir mit einem kompletten Projekt für alle!
Diese Arduino MIDI-Loop-Station verfolgt einfach eingehende MIDI-Ereignisse und spielt sie ab. Sie müssen nur das Aufnahmepedal drücken, Ihr bestes Riff aller Zeiten erstellen und die Aufnahme beenden, indem Sie das Pedal erneut drücken. Supereinfach:)
Dieses Projekt basiert auf leicht zu findender offener Hardware (Arduino DUE), Software (meiner eigenen Firmware und Arduino IDE) und kann an Ihre Vorlieben angepasst werden.
Lass es uns tun!
PS: Ja, es ist super günstig!
Schritt 1: Grenzen
Bevor Sie beginnen, Hardwareteile für das Projekt zu beschaffen, lassen Sie mich Ihnen sagen, wo seine Grenzen liegen, damit Sie sich entscheiden können, hier fortzufahren oder aufzuhören.
- Aufgrund von Hardwarebeschränkungen (im Wesentlichen Aduino DUE-Speicher) ist die standardmäßige maximale Länge der Phrase, die Sie aufnehmen können, auf 46 Sekunden begrenzt.
- Loops können nach dem Herunterfahren nicht gespeichert und wiedergegeben werden. Sie können sie jedoch an einen PC senden und speichern.
- Es gibt keine Notenquantisierung.
- MIDI Clock wird unterstützt, befindet sich jedoch derzeit in einer Vorstufe.
- Aufgenommene MIDI-Meldungen sind Note On, Note Off, Control Changes und Pitch Bend; andere MIDI-Meldungen wie Aftertouch, Programmwechsel, SysEx usw. werden nicht berücksichtigt.
- Die maximale Polyphonie ist standardmäßig auf 10 eingestellt (wiederum Aduino DUE-Speichergrenzen).
Auf der positiven Seite werden MIDI-Streams von mehreren verschiedenen Instrumenten unterstützt, von denen jedes auf einem eigenen Kanal sendet; Dies bedeutet, dass Sie mehrere MIDI-Instrumente gleichzeitig aufnehmen können, überlagert oder mit einer eigenen Spur (mehr Profis im nächsten Schritt;)).
Wenn das Leben mit diesen Einschränkungen vernünftig erscheint (und das ist es für mich), werden Sie eine sehr gute Zeit mit diesem Ding haben;)
Schritt 2: Wie es funktioniert
Die MIDI-Loop-Station hier ist sehr einfach zu bedienen. Es funktioniert ähnlich wie die Hardware-Audio-Loop-Stationen, die jeder Hersteller von Gitarrenpedalen in seinem eigenen Katalog hat.
1) Wählen Sie die Spur aus, auf der Sie Ihre MIDI-Sequenz aufnehmen möchten. Standardmäßig ist die Spur "eins" ausgewählt, Sie können sie jedoch ändern, indem Sie eine der Spurentasten drücken (eine für jede Spur).
2) Beim ersten Drücken des "REC"-Schalters/Fußpedals wird der Looper aktiviert. Die grüne LED leuchtet. Es wird warten, bis Ihre erste Note empfangen wird, bevor mit der Aufnahme der eigentlichen Sequenz/des Riffs begonnen wird.
3) Wenn Sie Ihre Sequenz beendet haben, drücken Sie erneut den "REC"-Schalter/das Fußpedal, um die tatsächliche Länge des Riffs festzulegen. Die grüne LED erlischt. Der Looper beginnt sofort mit der Wiedergabe Ihrer MIDI-Sequenz. Wenn Sie die maximale Zeit erreichen, stoppt die Aufnahme automatisch und die Sequenz wird in einer Schleife wiedergegeben.
4) Jetzt können Sie entscheiden, ob Sie Ihre Sequenz auf dem aktuellen Track überspielen oder einen neuen Track auswählen und darauf aufnehmen möchten, indem Sie den "REC"-Schalter/das Fußpedal drücken. In beiden Fällen leuchtet die gelbe LED, auch wenn die neue Spur leer ist, da es sich um eine "Slave"-Spur handelt (die der allerersten aufgenommenen Spur untergeordnet ist). Drücken Sie erneut, um das Overdubbing zu stoppen (gelbe LED erlischt).
Für diejenigen unter Ihnen, die mit Audio-Looping-Stationen vertraut sind, wird diese MIDI-Abfolge "REC/PLAY/OVERDUB" genannt und wird als einzige unterstützt.
Wenn Sie zu irgendeinem Zeitpunkt das Gefühl haben, dass Ihr letztes Overdub nicht in Ordnung ist, können Sie es durch Drücken des "Undo"-Schalters/Fußpedals löschen. Sie können den gesamten aktuellen Track löschen, indem Sie das "REC"-Pedal länger als 3 Sekunden gedrückt halten; Sie können den Looper zurücksetzen (Software-Reset), indem Sie die ersten drei Spurtasten gleichzeitig drücken oder alle verwendeten Spuren löschen.
Sie können eine Spur stummschalten/aufheben, indem Sie die Spurtaste der aktuellen Spur drücken.
Sie können eine PANIK senden! Meldung durch Drücken der Paniktaste. Sie können sogar eine PANIK senden! durch gleichzeitiges Drücken der ersten beiden Titeltasten.
Der Looper verfügt über ein eingebautes einfaches Metronom: Eine Note-on-MIDI-Nachricht für die Notennummer "64" wird mit 100 BPM auf Kanal 10 gesendet (der Kanal, den Sie vermutlich mit Ihrem Drumcomputer hören). Sie können das Tempo erhöhen oder verringern, indem Sie den optischen Encoder drehen; Durch Drücken des Schalters des optischen Encoders können Sie das Metronom aktivieren/deaktivieren. Beachten Sie, dass Ihr Drumcomputer so eingestellt sein muss, dass er einen Sound (Snare, Bass oder was auch immer Sie bevorzugen) spielt, wenn er die MIDI-Note "64" empfängt, sonst wird das Metronom stumm geschaltet.
Eine Barebone-Version dieser MIDI-Loopstation könnte mit einem einzigen Fußschalter zum Starten und Stoppen der Aufnahme erstellt werden. Wenn Sie den Schalter länger als 3 Sekunden gedrückt halten, wird die Loop-Station neu initialisiert.
Wenn Sie zusätzliche Zeit in die Entwicklung der Hardware investieren möchten, wird die Loop-Station durch Hinzufügen von Schaltern und Tasten flexibler. Auf dem Bild habe ich meine vier Spuren (bis zu fünf werden unterstützt) mit vollem Funktionsumfang konfiguriert.
WICHTIGER HINWEIS: Die Hardware in meinen Bildern ist ein Prototyp. Ich habe mehr Klinkenbuchsen verwendet als benötigt, aber nur vier Tasten für Spuren. Dies liegt daran, dass ich zu Beginn des Projekts nicht ganz sicher war, was die endgültigen Anforderungen sein würden.
Tasten und Fußschalter sind elektronische Äquivalente und Sie können einen anstelle des anderen verwenden; Für meine Bedürfnisse, da es immer zu wenig Stellfläche gibt (verdammt schöne Effektpedale;)), habe ich die Fußpedale auf die einzelne REC-Funktion beschränkt.
Schritt 3: Hardware
Stückliste:
Voll ausgestattete 5-Spur-MIDI-Loop-Station
1x Arduino DUE
7x Kurztaster
1x Kunststoffkoffer (ich habe einen 150 x 110 x 70 mm Koffer verwendet)
2x 5-polige DIN-Buchse für Schalttafeleinbau MIDI-Buchsen
1x 6,3 mm Einbau-Klinkenbuchse
1x doppelseitiges 50x70 mm Lochbrett
5x 3 mm LED (grün)
1x 3 mm LED (gelb)
1x optischer Encoder
1x H11L1 Optokoppler
1x 1N4148 Diode
3x 1000 Ohm Widerstände
3x 220 Ohm Widerstände
10x 470 Ohm Widerstände
Etwas Lötdraht, ein paar Kabel, Lötstation… und Freizeit:)
Erforderliche Zeit, um das Projekt abzuschließen: 6-9 Stunden
Warum keine UNO?
Erste Tests (und ein funktionierender Code) wurden auf einem "normalen" Arduino UNO-Board geschrieben. Dieses Board hat RAM-Limits, die mich gezwungen haben, die Polyphonie auf "4" zu reduzieren, die maximale Länge auf weniger als 4 Sekunden und eine Auflösung von 40 ms bei max. Dies ohne Multichannel-Handling. Durch das Entfernen des Velocity-Trackings konnte ich die Aufnahmezeit auf bis zu 7 Sekunden erhöhen.
Mit einer UNO kann man dann zwar eine "funktionierende" MIDI-Loop-Station realisieren, allerdings stark eingeschränkt.
Schritt 4: Software
Die Software stützt sich stark auf die FortySevenEffects MIDI-Bibliothek. Diese Bibliothek ist großartig und macht diese Art von Projekten auch für Nicht-Programmierer wie mich machbar.
Die Arduino IDE und ihre Community sind ein weiterer wichtiger Teil dieses "Erfolgs".
Ich werde nicht näher darauf eingehen, wie Sie die Skizze auf Ihr arduino DUE hochladen. Wenn dies Ihre erste Erfahrung mit arduino IDE ist, lesen Sie dies bitte zuerst.
Ich habe zwei verschiedene Versionen des Codes geschrieben, die auf zwei völlig unterschiedlichen Ansätzen basieren.
Das Funktionsprinzip von Version 1 besteht darin, dass Arduino DUE während der Aufnahme oder des Overdubbings die unterstützten MIDI-Events (Note On, Note Off, Control Change und Pitch Bend) überprüft und in seinem (flüchtigen) Speicher speichert; Die Zeitachse wird in 20-ms-Schritten quantisiert und empfangene Nachrichten werden entsprechend in diesen Schlitzen gespeichert. Während des Spielens werden gespeicherte MIDI-Meldungen unter Berücksichtigung der Zeitquantisierung an den Synthesizer zurückgesendet.
Das Arbeitsprinzip von Version 2 besteht stattdessen darin, das Midi-Ereignis und den Zeitpunkt, zu dem das Ereignis ausgelöst werden muss, "einfach" aufzuzeichnen. Version 2 hat andere Beschränkungen als Version 1 (aufgeführt in einem vorherigen Schritt). Probieren Sie beide aus und verwenden Sie diejenige, die für Sie besser funktioniert.
Es gibt auch ein vorläufiges Clock-Handling, aber es braucht einige Optimierungen, um so zu funktionieren, wie es sollte. Code geht davon aus, dass Sie einen 4/4 - 4 Takte Loop (16 Beats) aufnehmen.
Sie können die externe Clock deaktivieren, indem Sie beim Einschalten des Loopers die „Panik“-Taste gedrückt halten.
Codes werden HIER hochgeladen. Überall sind Kommentare platziert, sodass Sie diese Firmware nach Belieben biegen können;)
Schritt 5: Verkabelungen
MIDI IN- und MIDI OUT-Schaltungen sind in den beigefügten Bildern beschrieben. Beachten Sie, dass TX1 und RX1 verwendet werden, nicht TX0 und RX0.
Arduino DUE-Eingangspins können 5 V nicht verarbeiten, aber 3,3 V; Aus diesem Grund wird ein H11L1-Optokoppler anstelle des üblicheren 6N138 verwendet. Ich habe Beweise dafür, dass die Verwendung eines 6N138, der mit einem Spannungsteiler gekoppelt ist, um die Signalspannung zu reduzieren, die an TX1 geht, wie in meinem ersten Prototyp in einigen Setups unregelmäßig funktionieren könnte.
LEDs sind über 470-Ohm-Widerstände mit Arduino DUE-Ausgangspins verbunden. Sie können Widerstände bis zu 1K Ohm verwenden, um den Strom zu den LEDs zu reduzieren und ihre Leuchtkraft zu reduzieren.
Tasten / Schalter / Buchsen sind dank der in der Skizze aktivierten Eingangs-Pullup-Widerstände direkt mit den Arduino-Eingangspins verbunden. Es sind keine externen (Pulldown-)Widerstände erforderlich.
Der optische Encoder ist mit GND und +5V verbunden. Es geht zu Arduino-Eingangspins, die durch 2 480-Ohm-Widerstände gehen, einen für jeden optischen Datenausgang.
Arduino DUE wird über einen +5V DC-Hub direkt von 5V-Pin und Masse mit Strom versorgt.
Alle Gründe sind miteinander verbunden.
Angehängt ist eine Tabelle mit Verbindungen von Arduino-Pins zum IN / OUT-Peripheriegerät. Arduino-Pin-Nummern spiegeln die in meiner Prototyp-Hardware wider und könnten zufällig aussehen (sie sind irgendwie …). Sie können die Pinposition in der Skizze nach Belieben ändern;)
Schritt 6: Was ist, wenn ich mehr als eine MIDI-Quelle habe?
Nach einer kurzen Suche nach einem MIDI-Merger fand ich, dass die praktischste (und billigste) Lösung ein MIDI-Switcher war.
Ein MIDI-Umschalter ist ein passives Gerät, das eine MIDI-Quelle aktiviert und alle anderen Quellen deaktiviert. So einfach ist das.
Das Herz eines MIDI-Switchers ist ein 2-poliger Multi-Positional-Schalter (meiner ist 6-Position). Es ist sehr wichtig, dass die Polzahl "2" ist, da jede MIDI-Buchse komplett abgeschnitten werden muss, wenn sie nicht ausgewählt ist und nicht mit den anderen kommuniziert. Anbei ein Bild von dem, das ich für meinen eigenen Gebrauch realisiert habe.
Bei DIESEM LINK ein Schema.
Empfohlen:
Einen Arduino-Gitarren-Tuner herstellen – wikiHow
So bauen Sie einen Arduino-Gitarren-Tuner: Dies sind die Anweisungen, um einen Gitarren-Tuner aus einem Arduino und mehreren anderen Komponenten zu machen. Mit Grundkenntnissen in Elektronik und Codierung können Sie dieses Gitarrenstimmgerät herstellen. Zuerst müssen Sie wissen, was die Materialien sind. Ma
ALARMA ARDUINO CON SENSOR DE MOVIMIENTO, SIRENA Y AVISO AL TLF. MÓVIL: 9 Schritte
ALARMA ARDUINO CON SENSOR DE MOVIMIENTO, SIRENA Y AVISO AL TLF. MÓVIL: Este proyecto consiste en a alarma básica que Detecta presencia, activa una sirena de 108dB y visa al usuario mediante un SMS (opcional). Permite también el control remoto básico por parte del usuario a través de SMS (encendido, apagado, reinicio
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 2 - Temperatur- / Feuchtigkeitsmonitor - Rev 3: 7 Schritte
Easy Very Low Power BLE in Arduino Teil 2 – Temperatur-/Feuchtigkeitsmonitor – Rev 3: Update: 23. November 2020 – Erster Austausch von 2 x AAA-Batterien seit 15. Januar 2019 dh 22 Monate für 2x AAA AlkalineUpdate: 7. April 2019 – Rev 3 of lp_BLE_TempHumidity, fügt Datum/Uhrzeit-Plots hinzu, verwendet pfodApp V3.0.362+ und automatische Drosselung, wenn
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