15 jours pour comprendre les contrôleurs MIDI - Jour 5

Je rassemble ce que j’ai appris depuis le début pour enfin envoyer un message MIDI contrôlé par un potentiomètre à un synthé.

Le message MIDI Control Change

Souvent abrégé en CC, ce message sert à modifier en temps réel un paramètre du son. Ça peut être n’importe quoi et c’est spécifique au synthé. On retrouve couramment les paramètres de l’envellope de l’ampli ou des filtres, la fréquence de coupure, la fréquence d’un LFO, etc.

Le code

Je teste avec la fréquence de coupure (FILTER_CUTOFF). La seule nouveauté parmi les codes précédents est la ligne suivante :

  MIDI.sendControlChange(FILTER_CUTOFF, current, 2);

Elle indique à la bibliothèque MIDI d’envoyer le message CC numéro 74, avec la valeur du potentiomètre (current) sur le canal 2.

#include <MIDI.h>

const int FILTER_CUTOFF = 74;

int penultimate = 0;
int last = 0;

MIDI_CREATE_DEFAULT_INSTANCE();

void setup() {
  MIDI.begin(MIDI_CHANNEL_OFF);
}

void loop() {
  int current = analogRead(A0) >> 3;

  if (last != current) {
    if (penultimate + last != last + current) {
      MIDI.sendControlChange(FILTER_CUTOFF, current, 2);
      penultimate = last;
      last = current;
    }
  }

  delay(10);
}

Références

  1. Le code de cet article est sur github
  2. MIDI 1.0 Detailed Specification



/ / / / / / / / / /



Cet article fait partie d’une série :

  1. Envoyer une note par le cable MIDI
  2. Lire un potentiomètre
  3. Lire un potentiomètre II
  4. Régler le problème de fluctuation
  5. Envoyer le message Control Change
  6. Six potentiomètres
  7. Six potentiomètres - Code objet
  8. Prototype en carton
  9. Surveiller la consommation
  10. Une solution hardware au problème de fluctuation ?
  11. Multiplexeur
  12. Multiplexeur II
  13. Multiplexeur III
  14. Moniteur MIDI
  15. Le bilan