Contrôleur MIDI USB à base d’arduino
EATYone | 5 juillet 2010Partant en vacances prochainement, j’ai décidé de me faire un mini contrôleur MIDI au cas où le mauvais temps serait de la partie. En fouillant à droite, à gauche on trouve pas mal de chose sur la toile… Mais au final, je n’ai rien trouvé de réellement satisfaisant (Je ne suis pas très bon non plus en recherche Gougle)… Ce qui ressort le plus souvent:
Utilisation de la lib MIDI arduino, le problème pour moi c’est que l’utilisation de cette dernière oblige à utiliser une sortie midi (DIN 5) standard et donc du coup de devoir alimenter le contrôleur par une alimentation externe (usb ou secteur voir pile 9V)…Bref, je cherchais un truc pratique, qui ne m’oblige pas à brancher une interface midi physique. En gros je souhaite utiliser le port USB de l’arduino pour alimenter le contrôleur et pour faire les transferts de données midi. Il y a un HIC, la connectique USB de l’arduino est un leurre!!! En fait ce n’est qu’un port série camouflé dans une connectique USB pour schématiser… Alors là plusieurs solutions s’offrent à nous. Sous Windows il semblerait qu’il existe un pilote série FTDI hacké pour utiliser l’arduino en périph MIDI via USB, mais je n’ai pas de Windows…Il y a ensuite tout un tas de patch MaxMsp pour s’occuper de la conversion Serial -> Midi. Maxuino, Arduino2Max, … Mais encore une fois après plusieurs tests je n’ai pas réussi à obten ir ce que je souhaitais, un truc stable avec pas trop de latence. Ces patch peuvent être pas mal mais ils manquait à chaque fois:
- Un filtre incorporé, permettant de se jouer de l’instabilité « analogique» des potards low price, en effet branché sur une entrée analogiue d’une arduino un potard est censé vous donner des valeurs entre 0 et 1023, mais vous vous apercevrez rapidement que cette valeur n’est pas stable, et bouge régulièrement sans pour autant bouger le potentiomètre. Pour vous en rendre compte c’est très simple allez, premier petit exercice de ce poste:
Faites le montage suivant, peut importe la valeur de résistance du potentiomètre:

Puis saisissez le code suivant:



