MidiMood
Eine ausführliche Anleitung finden Sie unter:
- Musik machen mit Arduino: https://go.musiconerd.com/making-music-with-arduino
- Curso Fazendo Music com Arduino auf Portugiesisch: https://go.musiconerd.com/curso-completo
- Video zum Erstellungsprozess: https://youtu.be/aLhOO-UiMg4
Dieses Repository enthält den Code für ein benutzerdefiniertes MIDI-Controller-Projekt namens MidiMood, das mit einem ATmega32U4-Mikrocontroller (oder ähnlichem) erstellt wurde. Das Projekt ist für die Handhabung von Potentiometern, Tasten und anderen Bedienelementen zum Senden von MIDI-Nachrichten über USB, BLE oder Standard-MIDI-Protokolle konzipiert.
Inhaltsverzeichnis
- Überblick
- Merkmale
- Dateibeschreibung
- Einrichtungsanweisungen
- Abhängigkeiten
- Verwendung
- Lizenz
Überblick
MidiMood ist eine umfassende MIDI-Controller-Implementierung, die verschiedene Eingabemethoden (Tasten, Potentiometer, Encoder) und Ausgabemethoden (USB MIDI, BLE MIDI) unterstützt. Der Controller ist hochgradig anpassbar und unterstützt mehrere Mikrocontroller-Plattformen, darunter ATmega32U4, ATmega328 und Teensy.
Merkmale
- USB-MIDI-Unterstützung : Senden und empfangen Sie MIDI-Nachrichten über USB.
- BLE-MIDI-Unterstützung : Verwenden Sie Bluetooth Low Energy (BLE) für die drahtlose MIDI-Kommunikation.
- Potentiometer- und Tastenbedienung : Erfassen Sie Eingaben von Potentiometern und Tasten und wandeln Sie sie in MIDI-Nachrichten um.
- Multiplexer-Unterstützung : Erweitern Sie die Anzahl der Eingänge mithilfe von Multiplexern.
- Debugging-Unterstützung : Debugging-Meldungen können über serielle Kommunikation aktiviert werden.
- Multiplattform : Unterstützt ATmega32U4-, ATmega328- und Teensy-Mikrocontroller.
Dateibeschreibung
- _MidiMood.ino : Die Haupt-Arduino-Skizze, die den MIDI-Controller initialisiert und die Hauptschleife ausführt.
- A_POTENTIOMETERS.ino : Enthält die Logik zum Lesen von Potentiometerwerten und deren Umwandlung in MIDI-Control-Change-Nachrichten.
- B_BUTTONS.ino : Verarbeitet die Tasteneingaben und wandelt sie in MIDI-Note-On/Off- oder Control-Change-Nachrichten um.
- FUNCTIONS.ino : Hilfsfunktionen, die im gesamten Projekt verwendet werden, einschließlich der Verarbeitung von MIDI-Nachrichten und anderen Hilfsfunktionen.
- LOOP.ino : Die Hauptschleife, in der das Programm nach Eingaben sucht und MIDI-Nachrichten sendet.
- MACKIE.h : Definiert Konstanten für das Mackie Control Universal (MCU)-Protokoll, das zur Steuerung von DAWs verwendet wird.
- Z_ATMEGA32U4.ino : Mikrocontroller-spezifischer Setup-Code für ATmega32U4-basierte Platinen.
- Z_SETUP.ino : Allgemeiner Setup-Code, Initialisieren von Pins und Konfigurieren von Eingabe-/Ausgabemodi.
Material
- Arduino Pro Micro: https://amzn.to/2Vcz3Nz
- Leitungen: https://amzn.to/2xugvPF
- Blanker Kupferdraht (optional) 18-24-Gauge: https://amzn.to/2FVuDpe
- 26 Drehpotentiometer b10k: https://amzn.to/3ckRKUY
- 26 Knöpfe
- Distanzstücke M3 35mm: https://amzn.to/2z15BkN
- M3-Schrauben: https://amzn.to/2RHtfJw
- Multiplexer CD4067: https://amzn.to/303jJVe
- 11 Kippschalter: https://amzn.to/3hDmORR
- 1 führte
- 1 LED-Unterstützung
- 1 Widerstand 1 kOhm
Einrichtungsanweisungen
1. Klonen Sie das Repository
git clone https://github.com/yourusername/midi-controller-project.git
cd midi-controller-project
2. Installieren Sie die Arduino IDE
Stellen Sie sicher, dass die Arduino IDE auf Ihrem Computer installiert ist. Sie können es von der offiziellen Website herunterladen.
3. Öffnen Sie das Projekt
Öffnen Sie die Datei _MidiMood.ino
in der Arduino IDE. Diese Datei dient als Einstiegspunkt für das Projekt.
4. Wählen Sie Ihr Board aus
Wählen Sie in der Arduino IDE das passende Board basierend auf Ihrem Mikrocontroller aus:
- Wählen Sie für ATmega32U4-Boards (z. B. Arduino Leonardo) Arduino Leonardo aus.
- Wählen Sie für ATmega328-Boards (z. B. Arduino Uno) Arduino Uno aus.
- Wählen Sie für Teensy-Boards das richtige Teensy-Modell aus.
5. Laden Sie den Code hoch
Verbinden Sie Ihren Mikrocontroller über USB mit Ihrem Computer und laden Sie den Code über die Schaltfläche „Hochladen“ in der Arduino IDE hoch.
Abhängigkeiten
- ResponsiveAnalogRead : Bibliothek zum Glätten analoger Messwerte von Potentiometern.
- MIDI-Bibliothek : Zur Handhabung der MIDI-Kommunikation über USB und seriell.
- BLE MIDI : Für Bluetooth-MIDI-Kommunikation (bei Verwendung von BLE).
Sie können diese Bibliotheken mit dem Arduino Library Manager installieren.
Verwendung
Sobald der Code hochgeladen ist, wird Ihr MIDI-Controller von Ihrem Computer oder Mobilgerät als MIDI-Gerät erkannt. Sie können damit beginnen, MIDI-Nachrichten an Ihre DAW oder andere MIDI-kompatible Software zu senden.
Debuggen
Wenn Sie Debugmeldungen sehen möchten, aktivieren Sie das DEBUG
Flag im Code. Dadurch können Sie die MIDI-Nachrichten und andere Details über den seriellen Monitor in der Arduino IDE überwachen.