Page 1 sur 1

FingerMIDI CC Controller

Posté : 24 janv. 2017, 13:35
par ioanq
Hello, je voulais commander les changements de son de LogicPro avec un contrôleur à main incrusté sur la guitare.

J'ai donc créé un système qui envoi des messages midi à partir de boutons poussoirs.
Le système met en solo une piste sur LogicPro, donc active un son pour le guitare synthé ...
Le tout sous Arduino.
Prix de revient ... 5€

Proto :
https://youtu.be/NE2sVrVOfyA

Version finale :
https://www.youtube.com/watch?v=4oBrcZGy_qs

Image

Image

Image

Image

Image

Image

Image

Image

Ps: j'ai pas réussi à incruster les vidéos, comment je fais ? ça fonctionne d'habitude ....
https://www.youtube.com/watch?v=4oBrcZGy_qs[/youtube]

Le Code sous Arduino, entrées A0 à A5, sortie en D0(TX) :

Code : Tout sélectionner


#include <MIDI.h>
#include <midi_defs.h>
#include <midi_message.h>
#include <midi_namespace.h>
#include <midi_settings.h>

MIDI_CREATE_INSTANCE(HardwareSerial,Serial, midiOut); 
int Bp0;
int Bp1;
int Bp2;
int Bp3;
int Bp4;
int Bp5;

int Flag0 = 0;
int Flag1 = 0;
int Flag2 = 0;
int Flag3 = 0;
int Flag4 = 0;
int Flag5 = 0;

int PrevBp = 32;

void setup() {
  Serial.begin(31250);
  //Serial.begin(9600); // setup serial for MIDI
}

void loop() 
{
    Bp0= analogRead (A0);
    Bp1= analogRead (A1);
    Bp2= analogRead (A2);
    Bp3= analogRead (A3);
    Bp4= analogRead (A4);
    Bp5= analogRead (A5);
    
    if ( Bp0>=500 && Flag0==0)
    {
      midiOut.sendControlChange(PrevBp,127,1);
      midiOut.sendControlChange(20,127,1); 
      
      
      PrevBp=20;
        Flag0=1;
        Flag1=0;
        Flag2=0;
        Flag3=0;
        Flag4=0;
        Flag5=0;  
    }
    if ( Bp1>=500 && Flag1==0)
    {
      midiOut.sendControlChange(PrevBp,127,1);
      midiOut.sendControlChange(21,127,1); 
      
      
      PrevBp=21;
        Flag0=0;
        Flag1=1;
        Flag2=0;
        Flag3=0;
        Flag4=0;
        Flag5=0; 
      }

    if ( Bp2>=500 && Flag2==0)
    {
      midiOut.sendControlChange(PrevBp,127,1);
      midiOut.sendControlChange(22,127,1); 
      
      
      PrevBp=22;
        Flag0=0;
        Flag1=0;
        Flag2=1;
        Flag3=0;
        Flag4=0;
        Flag5=0; 
    }
    if ( Bp3>=500 && Flag3==0)
    {
      midiOut.sendControlChange(PrevBp,127,1);
      midiOut.sendControlChange(23,127,1); 
      
      
      PrevBp=23;
        Flag0=0;
        Flag1=0;
        Flag2=0;
        Flag3=1;
        Flag4=0;
        Flag5=0; 
    }
    if ( Bp4>=500 && Flag4==0)
    {
      midiOut.sendControlChange(PrevBp,127,1);
      midiOut.sendControlChange(24,127,1); 
      
      
      PrevBp=24;
        Flag0=0;
        Flag1=0;
        Flag2=0;
        Flag3=0;
        Flag4=1;
        Flag5=0; 
    }
    if ( Bp5>=500 && Flag5==0)
    {
      midiOut.sendControlChange(PrevBp,127,1);
      midiOut.sendControlChange(25,127,1); 
      
      PrevBp=25;
        Flag0=0;
        Flag1=0;
        Flag2=0;
        Flag3=0;
        Flag4=0;
        Flag5=1; 
    }



    
  
}

Re: FingerMIDI CC Controller

Posté : 24 janv. 2017, 13:50
par Pote Gui
J'arrive pas à visionner la vidéo...

Re: FingerMIDI CC Controller

Posté : 02 févr. 2017, 12:50
par Lemontheo
Bien joué !

C'est à toi la CNC?

Re: FingerMIDI CC Controller

Posté : 03 févr. 2017, 9:47
par McColson
Super ioanq ! J'ai suivi un peu le projet sur FB, ça dépasse mes compétences, mais arrivé à un truc comme ça chapo !

Re: FingerMIDI CC Controller

Posté : 07 févr. 2017, 9:38
par ioanq
la cnc est au boulot.

oui, c'est un projet mené à bout, ça me plait bien.