Erstellen Sie mit Arduino Ihren eigenen MIDI-Controller

MITTAGS

Wenn Sie ein Musikliebhaber oder direkt ein Amateur- oder Profimusiker sind, haben Sie bei sich zu Hause sicherlich eine große Sammlung von Musikinstrumenten angesammelt. Um all diese Mixe perfekt zu machen, ist es am besten, einen zu bekommen MIDI-Controller. Leider sind diese Arten von Objekten normalerweise ziemlich teuer, so dass eine Person ohne zu viele Ressourcen nur schwer Zugang zu allem hat, was sie anbieten kann.

Um besser zu verstehen, was ein MIDI-Controller ist, sagen Sie, dass das Wort MIDI stammt Musikinstrument Digital InterfaceDas heißt, eine Art Controller, mit dem elektronische Musikgeräte miteinander kommunizieren können. Wenn Sie beispielsweise ein elektronisches Keyboard zu Hause haben, ist es mehr als wahrscheinlich, dass es über ein MIDI-Interface verfügt. Bevor es weitergeht, muss klar sein, dass es bestimmte technische Details gibt, die dazu führen können, dass man etwas anderes glaubt MIDI ist kein Audio.

Erstellen Sie mit diesem einfachen Tutorial Ihren eigenen MIDI-Controller

Sobald wir uns darüber im Klaren sind, wird es für Sie sicherlich viel einfacher sein zu verstehen, dass MIDI nur eine einfache ist Befehlssatz, der bis zu 16 unabhängige Kanäle unterstützen kannDies bedeutet, dass bis zu 16 verschiedene Geräte unabhängig voneinander miteinander kommunizieren können. Diese Geräte müssen über ein 5-poliges DIN-Kabel angeschlossen werden, bei dem es sich im Grunde um ein Kabel mit fünf Pins in einem Stecker handelt. Im Detail ist es durchaus üblich, einen USB anstelle eines 5-poligen DIN zu verwenden. Bei Verwendung eines USB müssen wir ein USB-MIDI-Interface erstellen.

Ohne weiteres lasse ich Sie mit dem Link, wo Sie die finden können Lernprogramm Schritt für Schritt mit viel beschreibende Bilder Hier können wir alle erforderlichen Aktionen ausführen, um unseren eigenen MIDI-Controller zu erstellen.

Verwandte Artikel:
So ändern Sie den Pi-Benutzernamen und das Passwort auf unserem Raspberry Pi

So erstellen Sie mit Arduino Ihren eigenen MIDI-Controller

MIDI-Anschluss

Viele sind die Menschen, die aus verschiedenen persönlichen und beruflichen Gründen a verwenden müssen vollständig kundenspezifischer MIDI-Controller Vielleicht und zum Beispiel kann der Kauf eines kostengünstigen MIDI-Controllers zu einem bestimmten Zeitpunkt in Ihrem Leben als Künstler Ihren Erwartungen oder Bedürfnissen nicht entsprechen, während die Entscheidung für eine professionelle Version zu gegebener Zeit für beide finanziellen Ressourcen übermäßig sein kann brauchen, sowie die große Anzahl von Funktionen, die sie bieten können.

Aus diesem Grund möchte ich Ihnen heute alles zeigen, was Sie brauchen, damit Sie Ihren eigenen MIDI-Controller erstellen können, der sowohl alles anzeigt, was für seine Konstruktion erforderlich ist, als auch Ihnen die Software anbietet, die Sie zur Installation benötigen. Für dieses Projekt ist die Verwendung eines Arduino-Boards unerlässlich, eines Controllers, der leistungsfähig genug ist, um diese Aufgabe auszuführen.

Wie man einen Roboter macht
Verwandte Artikel:
Wie man einen Roboter macht: 3 verschiedene Optionen

Was ist ein MIDI-Controller?

Midi

Grundsätzlich ist ein MIDI-Controller im Großen und Ganzen dafür verantwortlich, verschiedene Musikgeräte miteinander zu verbinden. Viele Instrumente verfügen über ein MIDI-Interface, obwohl dies sehr klar sein muss, da es viele Benutzer gibt, die oft verwirrt sind. MIDI ist keine Audiodatei, sondern ein sehr einfacher Befehlssatz, den ein Instrument empfangen kann, um eine andere Steuerung vorzunehmen oder Toneinstellungen.

Innerhalb von MIDI Es gibt zwei verschiedene ArtenEinerseits haben wir die mit dem Namen Change Control, bei der die Controller-Nummer und ein Wert zwischen 0 und 127 angegeben sind. Dank dessen können Meldungen ausgegeben werden, bei denen verschiedene Parameter wie Lautstärke oder Ton geändert werden können. Verschiedene Instrumente, die MIDI akzeptieren, sollten ein Handbuch mitbringen, in dem erklärt wird, welche Kanäle und Meldungen standardmäßig eingestellt sind und wie sie geändert werden können.

An zweiter Stelle steht der Programmwechsel, eine Reihe von Nachrichten, die wiederum viel einfacher sind als die, aus denen sich die Änderungskontrolle zusammensetzt. Diese Nachrichtentypen werden verwendet, um die Voreinstellung oder den Patch eines Geräts zu ändern. Wie bei der Änderungskontrolle muss der Hersteller zusammen mit Ihrem Instrument ein Handbuch beifügen, das angibt, welche Voreinstellungen durch eine bestimmte Meldung geändert werden.

Teile, die benötigt werden, um Ihren eigenen hausgemachten MIDI-Controller zu bauen

Schaltplan des Midi-Steckers

Um Ihren eigenen MIDI-Controller bauen zu können, benötigen Sie, wie bereits erwähnt, zusätzlich zu einem Arduino-Board eine Reihe von Teilen. Bevor Sie fortfahren, sagen Sie Ihnen einfach, dass Sie in Zukunft möglicherweise mehr Dinge benötigen, weil Sie das Projekt erweitern möchten, obwohl Sie zu diesem Zeitpunkt mit ein paar Stücken viel haben werden.

Wir benötigen eine 5-polige DIN-Buchse, 2 220-Ohm-Widerstände, 2 Momentschalter, 2 10-kOhm-Widerstände, Verbindungskabel, eine Leiterplatte, ein MIDI-Kabel und ein MIDI-Gerät oder eine USB-Schnittstelle. Mit nur diesen Stücken können Sie nach meinen Schritten beginnen, Ihren eigenen MIDI-Controller zu erstellen.

Erste Schritte

Arduino Midi schematisch

Bevor ich anfange, hinterlasse ich Ihnen ein Bild, auf dem Sie die Pins Ihres MIDI-Kabels sehen können. Auf diese Weise können wir die Pins korrekt identifizieren und insbesondere, wo die einzelnen Pins angeschlossen werden sollen. Im Großen und Ganzen müssen Sie an dieser Stelle nur Pin 5 des Kabels mit einem 220-Ohm-Widerstand und von dort mit dem Arduino Transmit 1, Pin 4 mit einem 220-Ohm-Widerstand und von dort mit der 5-V-Buchse von Arduino während Pin verbinden 2 muss an den Masseanschluss Ihres Controllers angeschlossen sein.

Sobald dieser Schritt abgeschlossen ist, haben Sie kein detailliertes Diagramm auf dem Foto, das sich direkt unter diesen Linien befindet. Es ist Zeit, die Tasten anzuschließen. Die Idee in diesem Abschnitt ist es, mithilfe des digitalRead-Pins (der erkennen kann, wann sich die Spannung ändert, die ihn erreicht) einen Transistor verwenden zu können, um dies mit nur einem Knopfdruck zu erreichen. Dazu müssen wir nur einen Knopf verwenden, damit wir ihn auf der linken Seite mit 5 V, auf der rechten Seite mit einem Widerstand von 220 Ohm und von dort mit Masse verbinden, während wir wiederum auch die rechte Seite mit Pin 6 verbinden Die zweite Taste wird auf die gleiche Weise installiert, obwohl wir sie, wie Sie in der Abbildung sehen können, anstelle von Pin 6 mit 7 verbinden.

Software für den Heim-MIDI-Controller

Sobald wir mit der gesamten Hardware fertig sind, ist es Zeit, unser Instrument anzuschließen und zu testen. Vorher brauchen wir eine USB-MIDI-Schnittstelle und ein MIDI-Kabel um die Karte, die Daten sendet, mit unserem Computer zu verbinden. Um dies zu erreichen, haben wir uns für die MIDI v4.2-Bibliothek entschieden, die von den Jungs von Forty Seven Effects erstellt wurde und die wir auf unserem Arduino installiert und in das Projekt aufgenommen haben müssen.

Im Falle des Computers benötigen wir ein Programm, das alle MIDI-Daten überwachen kann, die von Arduino zu ihm gelangen. Hierfür haben wir verschiedene Möglichkeiten wie MIDI Monitor (OS X), MIDI-OX (Windows) oder Kmidimon (Linux)

Um einen kleinen Test durchzuführen, müssen wir nur das Arduino an unseren Computer anschließen und den folgenden Code ausführen:

#include
#include
#include
#include
#include

MIDI_CREATE_INSTANCE(HardwareSerial,Serial, midiOut); // crear objeto de salida MIDI llamado midiOut

void setup() {
Serial.begin(31250); // configuracion de serial para MIDI
}

void loop() {
midiOut.sendControlChange(56,127,1); // envío de señal MIDI CC -- 56 = nota, 127 = velocidad, 1 = canal
delay(1000); // retraso
midiOut.sendProgramChange(12,1); // envío de una señal MIDI PC -- 12 = valor, 1 = canal
delay(1000); // retraso de 1 segundo
}

Wenn alles gut gegangen ist, können Sie zum Tastentest gehen. Falls dieser Test für Sie nicht funktioniert hat, müssen Sie sicherstellen, dass alle Verbindungen korrekt sind. Die Schaltung ist genau die gleiche wie im vorherigen Diagramm, der Schaltung wird über ein MIDI-Kabel an eine USB-MIDI-Schnittstelle angeschlossensind die MIDI-Port-Kabel korrekt angeschlossen, das MIDI-Kabel ist an den Eingang des USB-MIDI-Interfaces angeschlossen, die Arduino-Karte ist korrekt an das elektrische Netzwerk angeschlossen und verfügt über ausreichend Strom ...

Testen, ob die Tasten richtig funktionieren

Bevor wir unser Programm weiterhin mit neuen Funktionen und Code versorgen, in denen wir uns verlieren können, lohnt es sich, einen Moment anzuhalten und Testen Sie, ob die Tasten ordnungsgemäß funktionieren. Für sie müssen wir den folgenden Code laden:

const int boton1 = 6; // asignacion del boton a una variable
const int boton2 = 7; // asignacion del boton a una variable

void setup() {
Serial.begin(9600); // configuracion del serial
pinMode(boton1,INPUT); // configuracion del boton1 como entrada
pinMode(boton2,INPUT); // configuracion del boton2 como entrada
}

void loop() {

if(digitalRead(boton1) == HIGH) { // prueba de estado del boton1
delay(10); // retraso
if(digitalRead(boton1) == HIGH) { // prueba de estado de nuevo
Serial.println("Boton 1 funciona correctamente!"); // log
delay(250);
}
}

if(digitalRead(boton2) == HIGH) { // prueba de boton 2
delay(10); // retraso
if(digitalRead(boton2) == HIGH) { // prueba de estado de nuevo
Serial.println("Boton 2 funciona correctamente!"); // log
delay(250);
}
}

}

Dieser Code muss nur kompiliert und ausgeführt werden, damit das Programm bei angeschlossenem USB-Kabel anzeigt, ob eine der Tasten gedrückt wurde.

Wir erstellen unseren hausgemachten MIDI-Controller

Sobald wir diese Tests durchgeführt haben, ist es Zeit, unseren eigenen MIDI-Controller dafür zusammenzustellen. Sie müssen nur den folgenden Code kompilieren:

#include
#include
#include
#include
#include

const int boton1 = 6; // asignamos boton a la variable
const int boton2 = 7; // asignamos boton a la variable

MIDI_CREATE_INSTANCE(HardwareSerial,Serial, midiOut); // create a MIDI object called midiOut

void setup() {
pinMode(boton1,INPUT); // configuracion del boton1 como una entrada
pinMode(boton2,INPUT); // configuracion del boton2 como una entrada
Serial.begin(31250); // configuracion MIDI de salida
}

void loop() {
if(digitalRead(buttonOne) == HIGH) { // comprobacion de estado
delay(10); // retraso
if(digitalRead(buttonOne) == HIGH) { // comprobacion de estado de nuevo
midiOut.sendControlChange(56,127,1); // envío un MIDI CC -- 56 = nota, 127 = velocidad, 1 = canal
delay(250);
}
}

if(digitalRead(buttonTwo) == HIGH) { // comprobacion de estado
delay(10); // retraso
if(digitalRead(buttonTwo) == HIGH) { // nueva comprobacion de estado
midiOut.sendControlChange(42,127,1); // envío un MIDI CC -- 42 = nota, 127 = velocidad, 1 = canal
delay(250);
}
}
}

Sagen Sie Ihnen im Detail, dass Sie den Befehl Serial.println () dieses Mal nicht mit einem MIDI-Ausgang verwenden können. Wenn Sie eine Nachricht auf dem Computer anzeigen möchten, ändern Sie einfach:

midiOut.sendControlChange(42,127,1);

von:

midiOut.sendControlChange(value, channel);

Dabei müssen Wert und Kanal die gewünschten Werte haben, die Sie anzeigen möchten.

Betriebsbeispiel:


4 Kommentare, hinterlasse deine

Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   Alfred sagte

    Arduino bietet Ihnen viele Möglichkeiten, Projekte selbst durchzuführen https://www.juguetronica.com/arduino . Eines der besten Dinge ist, dass Sie ohne Experte anfangen und weiter lernen können, um sich selbst zum Autodidakt zu motivieren.

  2.   Danel Roman sagte

    Grüße.

    Ich versuche dieses fantastische Tutorial zu machen ... aber die #includes sind nicht vollständig ...

    Können Sie mir sagen, welche notwendig sind?

    Vielen Dank.

  3.   Ull sagte

    Hey.
    Ich möchte ein elektronisches Trommelmodul herstellen, indem ich die Tasten durch Buchseneingänge ersetze, an denen ein piezoelektrisches Signal ankommt.
    Wäre es möglich, dies zu tun?

  4.   Eduardo Valenzuela sagte

    Bitte, wenn Sie die Includes dieses Codes geben könnten, bin ich an diesem Projekt interessiert.