construction d'un midi controleur

bonjour à tous,

j'utilise très fréquemment le logiciel daslight 4 qui est un logiciel de contrôle Dmx et j'aimerai bien me construire un contrôleur midi pour pouvoir utiliser le logiciel.

Mais le problème c'est qu'en cherchent sur le internet et en fessent des tests avec des codes qui semblait marcher mais il ne fonctionne pas.

j'aimerais réaliser le projet avec un arduino mega2560 car il a de nombreux entrée même s'il communique en mode serial (d'après mes connaissances), il existe des logiciels pour convertir le serial pour l'utiliser avec l'ordinateur.

Sur ce projet j'aimerais mettre des boutons poussoir avec des potentiomètres.

Merci d'avance de votre aide.

Je ne comprends pas bien votre projet.
Voulez vous lire des boutons et des potentiomètres et envoyer leurs valeurs vers une interface MIDI ?

désoler si je me suis mal exprimé,

enfette je voudrais envoyer les valeurs des potentiomètres et des boutons par l'USB de l'ardu ino et que le PC interprète le signal envoyé de l'ardu ino comme un signal midi

jackie753:
désoler si je me suis mal exprimé,

enfette je voudrais envoyer les valeurs des potentiomètres et des boutons par l'USB de l'ardu ino et que le PC interprète le signal envoyé de l'ardu ino comme un signal midi

Bonsoir
combien de potentiomètres et combien de "bouton" ?
une base assez simple est d'utiliser un arduino basé sur de l'atmega32U4 (I.e leonardo, micro)
çà permet d'etre directement reconnu comme un peripherique USB/MIDI

merci de ta réponse Artouste

j'ai pensé aussi utiliser l'arduino Leonardo mais il me faut une vingtaine de pouton et une dizaine de potentiomètre et il n'y a pas assez d'entré dessus

jackie753:
merci de ta réponse Artouste

j'ai pensé aussi utiliser l'arduino Leonardo mais il me faut une vingtaine de pouton et une dizaine de potentiomètre et il n'y a pas assez d'entré dessus

un leonardo (32U4) c'est "déjà" de base de quoi gerer directement/simplement en ADC 12 "potentiomètres" ,
pour gerer en plus 20 push buttons de maniere derivée (plus ou moins simple ) avec ce qu'il reste ensuite comme pin dispos , ça reste un exercice assez "facile" 8)

je suis débutant, mais de ce que j'ai vu il n'y a pas assez d'entré sur un arduino leonardo et que signifie ADC et je viens de regarder sur le site arduino store il dise qu'il y a que 20 entrée/sortie

jackie753:
je suis débutant, mais de ce que j'ai vu il n'y a pas assez d'entré sur un arduino leonardo et que signifie ADC et je viens de regarder sur le site arduino store il dise qu'il y a que 20 entrée/sortie

:grin:

un bon lien pour bien débuter

ok merci mais ça ne répond pas a mon problème

Salut,

peut-être que si tu nous montrais les codes que tu testes ce serait plus facile de t'aider.

Sinon, pourquoi ne pas utiliser le protocole DMX qui est celui normalement supporté en lumière?

De plus la suggestion d'Artouste à l'utilisation d'une Leonardo est la meilleur solution et si tu as besoins de plus de broches, les solutions sont nombreuses... (I²C

J'ai regarder la doc du soft en question, et je ne vois nul part où il est question de récupérer des trames sur port série...

Quand aux solutions qui font l'interface entre port série et ton logiciel, quelles sont-elles?
As-tu bien configuré ta liaison série?

As-tu bien mis les potards sur les entrées "ADC"?

Là on manque cruellement d'info...

voila le code que j'ai testé

int controlChange = 176; // MIDI Kanal 1
 int controllerNummer = 21;
 int controllerWert = 0;
 int potiWert = 0;

void setup() {
 Serial.begin(9600);
}

void loop() {
 potiWert = analogRead(A0);
 controllerWert = map(potiWert,0,1023,0,127);

 Serial.write(controlChange);
 Serial.write(controllerNummer);
 Serial.write(controllerWert);
}

et je n'utilise pas directement le protocole dmx avec l'arduino car j'ai une interface dmx qui va avec le soft.

C'est normal qu'il ne soit pas question de récupérer des trames sur port série sur le soft car je veux faire un contrôleur midi donc le logiciel doit récupérer un signal midi le signal du port série doit être converti par le logiciel hairless-midiserial (dans le cas de l'arduino mega) et d'un autre logiciel qui crée une interface midi virtuel pour communiquer entre le soft et hairless-midiserial

et voilà la vidéo que j'ai vue et que je voulais m'inspiré MIDI-Controller selber bauen (E04) Synthie steuern und if-Abfrage lernen - YouTube

Ok, c'est déjà mieux.

côté Hairless, as-tu coché "Debug-midi message"?

Normalement, tu devrais avoir une suite de chaine de caractères qui ressemble à ça:

+1.2833 - Serial In :Ch1:Controller 21 value 44

Puis lorsque tu tournes le potard, le nombre "value" doit changer...

Qu'elle est ta version de Windows?

Peux-tu nous en dire plus sur le nombre de potards / boutons?

J'ai oublié de te dire de rajouter un délais dans ton code afin d'avoir le temps de lire les messages:

void loop() {
 potiWert = analogRead(A0);
 controllerWert = map(potiWert,0,1023,0,127);

 Serial.write(controlChange);
 Serial.write(controllerNummer);
 Serial.write(controllerWert);

 delay(1000);
}

pour Hairless j'ai bien coché la case "Debug-midi message" et oui j'ai bien la suite de caractères. Quand je tourne le potard les valeurs changent bien.Pour ma version Windows j'ai un Windows 10 64bits.Dans le projet j'aimerais mettre environ 15 potentiomètres et 20 boutons poussoir.

J'ai réessyer le code et l'arduino mega arrive a communiquer avec Hairless mais pas avec le logiciel.

Donc c'est un problème de routage entre Hairless et DasLight4...

Il est en cours d'installation sur mon PC, je te tiens au jus.

merci beaucoup a tous le projet avance bien !!!!!!!!!!!!!!! :slight_smile:

T'as eu chaud côté potard!! Tu peux même en mettre un seizième!

Par contre les potards c'est "old school" pour des contrôleurs numériques, cela pose un problème:
Par exemple tu as plusieurs presets dont un pour qu'une lyre pour éclairer un artiste sur scène dans une position donnée, lors de changement de presets les potard vont certainement changer de position et donc créer des sauts de valeurs au moment du retour sur un presets créant un mouvement inattendu de la lyre...

Le même problème se pose en audio, c'est pourquoi je préfère l'utilisation d'encodeurs incrémentaux et mon contrôleur Novation.Remote prend la poussière sur une étagère...

c'est vrai que ca peux créer des mouvements inatendu mais cela ne me drange pas.

jackie753:
c'est vrai que ca peux créer des mouvements inatendu mais cela ne me drange pas.

Tant mieux alors :slight_smile:

Pour l'instant Hairless ne propose pas de sortie Midi autre que Microsoft GS wavetable synth qui n'est pas reconnue en entrée dans Daslight...

En gros Hairless ne créé pas de périphérique Midi.

Sinon çà fonctionne avec le Novation remote...

Peut-être il y a-t'il des alternative à Hairless qui puisse créer un device Midi...

weetoz:
Tant mieux alors :slight_smile:

Pour l'instant Hairless ne propose pas de sortie Midi autre que Microsoft GS wavetable synth qui n'est pas reconnue en entrée dans Daslight...

En gros Hairless ne créé pas de périphérique Midi.

Sinon çà fonctionne avec le Novation remote...

Peut-être il y a-t'il des alternative à Hairless qui puisse créer un device Midi...

Bonjour
sous windows pour exploiter du MIDI entrant/sortant en serial , je ne connais que l'usine usine à gaz suivante
-serial --->hairless --->loopbe(pour etre vu comme interface midi)
ça fonctionne mais c'est hyper lourd
attention avec hairless , il ne supporte/propose pas le debit standard midi en 31250 (le passer en 115200 ou 57600 sur l'arduino et la config hairless