Comment récupérer l'horloge MIDI sur une carte arduino?

Bonjour,
j'ai décidé de me lancer dans un projet qui me paraissait assez simple (mais qui apparemment ne l'est pas assez pour moi ^^'). J'ai trouvé un logiciel qui détermine le BPM d'une musique et qui l'envoie par MIDI (Midi clock) donc avec LoopMidi et Hairless j'ai connecté tout ça à ma carte. Le but étant de contrôler une bande de LED. La bande fonctionne et j'arrive à la contrôler avec la carte mais dès que j'essaye de récupérer cette MIDI clock rien ne marche... Cela me rend un peu fou :sweat_smile:

Ma carte reçoit bien le signal (Par USB) car ma LED RX clignote...

#include <RGBLed.h>

long rdR=0;
long rdG=0;
long rdB=0;

RGBLed led(4, 3, 2, RGBLed::COMMON_CATHODE);

byte data;
byte midi_clock = 0xf8; // MIDI Clock Byte

void setup() 
{
  Serial.begin(115200); // Start Serial Port for Hairless MIDI
}

void loop() 
{
  
if(Serial.available() > 0) // Check if we got a byte
  {
    data = Serial.read(); // Read in the byte
    if(data == midi_clock){ // Make sure the byte is a midi clock byte

     // Do some lighting animations here
rdR=random(255); 
rdG=random(255);
rdB=random(255);
led.fadeIn(rdR, rdG, rdB, 5, 5);
delay(100);
led.fadeOut(rdR, rdG, rdB, 10, 100);
delay(264);
  }
 }
}

Je ne saurais plus vous dire d'où provient une partie du code car je ne retrouve plus le site :confused: (en ce qui concerne le contrôle de la LED tout est ok !).

Merci de m'avoir lu jusqu'ici et j'espère que l'un de vous aura la solution, bonne journée :grin:

hello
je ne connais pas le "midi", mais pour trouver le signal d'horloge et faire une synchro, je suis tombé sur ce site. en esperant que cela t'aide

Merci beaucoup de ta réponse rapide !
Malheureusement j'ai déjà testé ceci mais rien ne fonctionne x( même si il n'y a aucune erreur lors de la compilation... Et d'ailleurs j'ai vérifié que mon signal soit correcte et j'ai bien la valeur 0xF8 envoyé par l'horloge :frowning:

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.