DIY : Controller les changements de son d'un ordinateur en Midi par un systeme implantable dans une guitare

Partager:

Difficulté:

Comment, sur scène, changer de son de synthé à la main quand on a une guitare synthé et que les pieds sont déjà occupés avec les changements de son de guitare ?

Matériel :

Budget : Non défini

Etape 1 : Création de plaque qui sera collé sur la guitare : 1 fichier de FAO

Etape 2 : Création de plaque qui sera collé sur la guitare : 2 Fabrication

Etape 3 : Création de plaque qui sera collé sur la guitare : 3 perçage

Etape 4 : Création de plaque qui sera collé sur la guitare : 4 soudure des boutons poussoir puis limage des noudures

Etape 5 : Création de plaque qui sera collé sur la guitare : 5 mise en place du double faces

Etape 6 : Vu de l'autre coté

Etape 7 : Système complet

Etape 8 : Vu de l'interieur de la guitare : implantation de l'Arduino Nano

Etape 9 : Prototype sur plaque lab

Etape 10 : Le titre de votre étape ici

Etape 11 :

Etape 12 :

Sources :

#include #include #include #include #include MIDI_CREATE_INSTANCE(HardwareSerial,Serial, midiOut); // créé un objet MIDI appelé 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 Bank = 0; int PrevBp = 26; void setup() { Serial.begin(31250); // affichage midi mode //Serial.begin(9600); // mode moniteur serie, no midi } void loop() { Bp0= analogRead (A2); Bp1= analogRead (A3); Bp2= analogRead (A4); Bp3= analogRead (A5); Bp4= analogRead (A6); Bp5= analogRead (A7); // CAS 1 BANK INACTIF if ( Bp0>=500 && Flag0==0 && Bank==0) { //midiOut.sendControlChange(PrevBp,127,1); midiOut.sendControlChange(20,127,1); // send a MIDI CC 20, 127 = velocity, 1 = channel //Serial.write("1"); //PrevBp=20; Flag0=1; Flag1=0; Flag2=0; Flag3=0; Flag4=0; Flag5=0; } if ( Bp1>=500 && Flag1==0&& Bank==0) { //midiOut.sendControlChange(PrevBp,127,1); midiOut.sendControlChange(21,127,1); // send a MIDI CC 21 = note, 127 = velocity, 1 = channel //Serial.write("2"); //PrevBp=21; Flag0=0; Flag1=1; Flag2=0; Flag3=0; Flag4=0; Flag5=0; } if ( Bp2>=500 && Flag2==0&& Bank==0) { //midiOut.sendControlChange(PrevBp,127,1); midiOut.sendControlChange(22,127,1); // send a MIDI CC -- 22 = note, 127 = velocity, 1 = channel //Serial.write("3"); PrevBp=22; Flag0=0; Flag1=0; Flag2=1; Flag3=0; Flag4=0; Flag5=0; } if ( Bp3>=500 && Flag3==0&& Bank==0) { //midiOut.sendControlChange(PrevBp,127,1); midiOut.sendControlChange(23,127,1); // send a MIDI CC -- 23 = note, 127 = velocity, 1 = channel //Serial.write("4"); PrevBp=23; Flag0=0; Flag1=0; Flag2=0; Flag3=1; Flag4=0; Flag5=0; } if ( Bp4>=500 && Flag4==0&& Bank==0) { //midiOut.sendControlChange(PrevBp,127,1); midiOut.sendControlChange(24,127,1); // send a MIDI CC -- 24 = note, 127 = velocity, 1 = channel //Serial.write("5"); //PrevBp=24; Flag0=0; Flag1=0; Flag2=0; Flag3=0; Flag4=1; Flag5=0; } if ( Bp5>=500 && Flag5==0 && Bank==0) { //midiOut.sendControlChange(PrevBp,127,1); midiOut.sendControlChange(31,127,1); // send a MIDI CC -- 31 = note, 127 = velocity, 1 = channel //Serial.write("Bank1"); //PrevBp=25; Flag0=0; Flag1=0; Flag2=0; Flag3=0; Flag4=0; Flag5=1; Bank=1; // activation de la banque 1 } // CAS 2 BANK ACTIF if ( Bp0>=500 && Flag0==0 && Bank==1) { //midiOut.sendControlChange(PrevBp,127,1); midiOut.sendControlChange(25,127,1); // send a MIDI CC 25, 127 = velocity, 1 = channel //Serial.write("6"); //PrevBp=25; Flag0=1; Flag1=0; Flag2=0; Flag3=0; Flag4=0; Flag5=0; } if ( Bp1>=500 && Flag1==0 && Bank==1) { //midiOut.sendControlChange(PrevBp,127,1); midiOut.sendControlChange(26,127,1); // send a MIDI CC 26 = note, 127 = velocity, 1 = channel //Serial.write("7"); //PrevBp=26; Flag0=0; Flag1=1; Flag2=0; Flag3=0; Flag4=0; Flag5=0; } if ( Bp2>=500 && Flag2==0 && Bank==1 ) { //midiOut.sendControlChange(PrevBp,127,1); midiOut.sendControlChange(27,127,1); // send a MIDI CC -- 27 = note, 127 = velocity, 1 = channel //Serial.write("8"); PrevBp=27; Flag0=0; Flag1=0; Flag2=1; Flag3=0; Flag4=0; Flag5=0; } if ( Bp3>=500 && Flag3==0 && Bank==1 ) { //midiOut.sendControlChange(PrevBp,127,1); midiOut.sendControlChange(28,127,1); // send a MIDI CC -- 28 = note, 127 = velocity, 1 = channel //Serial.write("9"); //PrevBp=23; Flag0=0; Flag1=0; Flag2=0; Flag3=1; Flag4=0; Flag5=0; } if ( Bp4>=500 && Flag4==0 && Bank==1) { //midiOut.sendControlChange(PrevBp,127,1); midiOut.sendControlChange(29,127,1); // send a MIDI CC -- 29 = note, 127 = velocity, 1 = channel //Serial.write("10"); //PrevBp=27; Flag0=0; Flag1=0; Flag2=0; Flag3=0; Flag4=1; Flag5=0; } if ( Bp5>=500 && Flag5==0 && Bank==1) { //midiOut.sendControlChange(PrevBp,127,1); midiOut.sendControlChange(30,127,1); // send a MIDI CC -- 30 = note, 127 = velocity, 1 = channel //Serial.write("Bank0"); //PrevBp=30; Flag0=0; Flag1=0; Flag2=0; Flag3=0; Flag4=0; Flag5=1; Bank=0; } }


Partager:

Recevez une fois par mois les meilleurs tutoriels Déco dans votre boîte mail


Ces tutoriels devraient vous plaire

fabrication de circuits imprimés facile
Connecter un écran LCD en I2C
Construire son Bartop Arcade de A à Z

IO/AN

Suivre

Vues: 74
J'aime: 0

Découvrez d'autres tutoriels de

IO/AN

Découvrez tous les tutoriels partagés sur Oui Are Makers

Powered by Oui Are Makers