Créez votre propre contrôleur MIDI avec Arduino

MIDI

Si vous êtes un mélomane ou directement un musicien amateur ou professionnel, vous avez sûrement accumulé chez vous une grande collection d'instruments de musique. Pour que tout cela se mélange parfaitement, il est préférable d'obtenir un Contrôleur MIDI. Malheureusement, ces types d'objets sont généralement assez chers, il est donc difficile pour une personne sans trop de ressources d'accéder à tout ce qu'elle peut offrir.

Pour mieux comprendre ce qu'est un contrôleur MIDI, dites-vous que le mot MIDI vient Interface numérique pour instrument de musique, c'est-à-dire une sorte de contrôleur qui rend les appareils musicaux électroniques capables de communiquer entre eux. Si vous avez un clavier électronique à la maison, par exemple, il est plus que probable qu'il dispose d'une interface MIDI. Avant de continuer à avancer, malgré le fait qu'il existe certains détails techniques qui peuvent conduire à croire le contraire, il doit être très clair que Le MIDI n'est pas de l'audio.

Créez votre propre contrôleur MIDI avec ce tutoriel simple

Une fois que nous serons clairs à ce sujet, il vous sera sûrement beaucoup plus facile de comprendre que le MIDI n'est qu'un simple jeu d'instructions capable de prendre en charge jusqu'à 16 canaux indépendants, ce qui signifie qu'il peut y avoir jusqu'à 16 appareils différents communiquant indépendamment les uns avec les autres. Ces appareils doivent être connectés via un câble DIN à 5 broches, qui est essentiellement un câble avec cinq broches à l'intérieur d'un connecteur. En détail, il est assez courant d'utiliser un USB au lieu d'un DIN 5 broches, en cas d'utilisation d'un USB il faut créer une interface USB-MIDI.

Sans plus tarder, je vous laisse avec le lien où vous pouvez trouver le tutoriel étape par étape avec beaucoup de images descriptives où nous pouvons effectuer toutes les actions nécessaires pour créer notre propre contrôleur MIDI.

Article connexe:
Comment changer le nom d'utilisateur et le mot de passe Pi sur notre Raspberry Pi

Comment créer votre propre contrôleur MIDI avec Arduino

connecteur midi

Nombreux sont ceux qui ont besoin, pour différentes raisons à la fois personnelles et professionnelles, d'utiliser un contrôleur MIDI entièrement personnalisé Parce que peut-être et à titre d'exemple, à un moment de votre vie d'artiste, l'achat d'un contrôleur MIDI bon marché peut ne pas répondre à vos attentes ou besoins alors que, le moment venu, opter pour une version professionnelle peut être excessif en termes de ressources financières. besoin, ainsi que le grand nombre de fonctionnalités qu'ils peuvent offrir.

Pour cette raison, je souhaite aujourd'hui vous montrer tout ce dont vous avez besoin pour que vous puissiez créer votre propre contrôleur MIDI, en indiquant à la fois tout ce dont vous avez besoin pour sa construction et en vous offrant le logiciel que vous devrez installer. En détail, pour ce projet l'utilisation d'une carte Arduino est indispensable, un contrôleur suffisamment puissant pour mener à bien cette tâche.

Comment faire un robot
Article connexe:
Comment faire un robot: 3 options différentes

Qu'est-ce qu'un contrôleur MIDI?

midi

Fondamentalement, un contrôleur MIDI est chargé, en gros, de connecter différents appareils musicaux entre eux. Nombreux sont les instruments qui intègrent une interface MIDI, même si cela doit être très clair car il y a beaucoup d'utilisateurs qui sont souvent confus, le MIDI n'est pas un fichier audio, mais un ensemble très simple d'instructions qu'un instrument peut recevoir.pour faire un contrôle différent ou les paramètres sonores.

À l'intérieur du MIDI il existe deux types différentsD'une part, nous avons celui appelé Change Control où il a le numéro de contrôleur et une valeur entre 0 et 127. Grâce à cela, des messages peuvent être émis où différents paramètres tels que le volume ou la tonalité peuvent être modifiés. Les différents instruments qui acceptent le MIDI doivent apporter un manuel expliquant quels canaux et messages sont définis par défaut et comment les modifier.

En second lieu, nous avons le changement de programme, une série de messages qui à leur tour sont beaucoup plus simples que ceux qui composent le contrôle des changements. Ces types de messages sont utilisés pour modifier le préréglage ou le patch d'un périphérique. Comme dans Change Control, le fabricant doit inclure avec votre instrument un manuel indiquant quels préréglages sont modifiés par un message particulier.

Pièces nécessaires pour construire votre propre contrôleur MIDI maison

Schéma du connecteur Midi

Pour pouvoir construire votre propre contrôleur MIDI, vous aurez besoin d'une série de pièces en plus, comme nous l'avons déjà mentionné, d'une carte Arduino. Avant de continuer, dites-vous simplement qu'à l'avenir, parce que vous souhaitez étendre le projet, vous aurez besoin de plus de choses, bien qu'à ce moment, avec quelques pièces, vous en aurez beaucoup.

Nous aurons besoin d'un câble DIN femelle à 5 pôles, de 2 résistances de 220 ohms, de 2 interrupteurs momentanés, de 2 résistances de 10 kohms, de fils de connexion, d'un circuit imprimé, d'un câble MIDI et d'un appareil MIDI ou d'une interface USB. Avec juste ces morceaux, vous pouvez commencer, en suivant mes étapes, à créer votre propre contrôleur MIDI.

Premières étapes

Schéma midi Arduino

Avant de commencer je vous laisse une image où vous pouvez voir les broches de votre câble MIDI, de cette façon nous pouvons identifier correctement les broches et surtout où chacune doit être connectée. D'une manière générale, tout ce que vous avez à faire à ce stade est de connecter la broche 5 du câble à une résistance de 220 ohms et de là à l'Arduino Transmit 1, la broche 4 à une résistance de 220 ohms et de là à la prise 5V d'Arduino tandis que la broche 2 doit être connecté à la prise de terre de votre contrôleur.

Une fois cette étape effectuée, vous n'avez pas de schéma détaillé sur la photo qui se trouve juste en dessous de ces lignes, il est temps de connecter les boutons. L'idée dans cette section est de parvenir, à l'aide de la broche digitalRead (capable de détecter lorsque la tension qui l'atteint change), de pouvoir utiliser un transistor à réaliser, en appuyant sur un bouton. Pour cela, nous n'avons qu'à utiliser un bouton pour que, le côté gauche de celui-ci, nous le connections à 5V, le côté droit à une résistance de 220 ohms et de là à la terre tandis que, à son tour, nous connectons également le côté droit à la broche 6 Le deuxième bouton serait installé de la même manière bien que, comme vous pouvez le voir sur le schéma, au lieu de la broche 6, nous le connectons à 7.

Logiciel à utiliser pour le contrôleur MIDI domestique

Une fois que nous avons terminé avec tout le matériel, il est temps de connecter notre instrument et de tester. Avant cela, nous devons avoir un Interface USB-MIDI et un câble MIDI pour connecter la carte, qui envoie des données, à notre ordinateur. Pour y parvenir, nous avons opté pour la bibliothèque MIDI v4.2 créée par les gars de Forty Seven Effects que nous avons dû installer sur notre Arduino et incluse dans le projet.

Dans le cas de l'ordinateur, nous aurons besoin d'un programme capable de superviser toutes les données MIDI qui lui arrivent d'Arduino. Pour cela, nous avons différentes possibilités telles que MIDI Monitor (OS X), MIDI-OX (Windows) ou Kmidimon (Linux)

Pour faire un petit test, il suffit de connecter l'Arduino à notre ordinateur et d'exécuter le code suivant:

#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
}

Si tout s'est bien passé, vous pouvez passer au test des boutons, au cas où ce test n'aurait pas fonctionné pour vous, vous devez vous assurer que toutes les connexions sont correctes, le circuit est exactement le même que le schéma précédent, le circuit est connecté à une interface USB-MIDI avec un câble MIDI, les câbles du port MIDI sont correctement connectés, le câble MIDI est connecté à l'entrée de l'interface USB-MIDI, la carte Arduino est correctement connectée au réseau électrique et dispose de suffisamment de puissance ...

Test du bon fonctionnement des boutons

Avant de continuer à alimenter notre programme avec de nouvelles fonctionnalités et du code dans lesquels nous pouvons nous perdre, cela vaut la peine de s'arrêter un instant et tester que les boutons fonctionnent correctement. Pour eux, nous devons charger le code suivant:

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);
}
}

}

Ce code doit juste être compilé et exécuté pour que, avec le câble USB connecté, le programme nous dise si l'un des boutons a été enfoncé.

Nous créons notre contrôleur MIDI maison

Une fois ces tests exécutés, il est temps d'assembler notre propre contrôleur MIDI pour cela, il ne vous restera plus qu'à compiler le code suivant:

#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);
}
}
}

En détail, dites-vous que vous ne pouvez pas utiliser la commande Serial.println () avec une sortie MIDI cette fois, si vous voulez afficher un type de message sur l'ordinateur, changez simplement:

midiOut.sendControlChange(42,127,1);

par:

midiOut.sendControlChange(value, channel);

où la valeur et le canal doivent avoir les valeurs souhaitées que vous souhaitez afficher.

Exemple d'opération:


4 commentaires, laissez le vôtre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Alfred dit

    Arduino vous offre de nombreuses possibilités pour entreprendre des projets par vous-même https://www.juguetronica.com/arduino . L'une des meilleures choses est que vous pouvez commencer sans être un expert et continuer à apprendre, vous motivant ainsi à être autodidacte.

  2.   Danel Roman dit

    Salutations.

    J'essaye de faire ce tutoriel fantastique… mais les #includes ne sont pas complets….

    Pouvez-vous me dire lesquels sont nécessaires?

    Merci beaucoup.

  3.   bien dit

    Salut.
    Je voudrais faire un module de batterie électronique en remplaçant les boutons par des entrées jack auxquelles arrivera un signal piézoélectrique.
    Serait-il possible de le faire?

  4.   Eduardo Valenzuela dit

    S'il vous plaît, si vous pouviez donner les inclusions de ce code, je suis intéressé par ce projet.