Comment réaliser un convertisseur MIDI vers USB ?

Je souhaite relier une prise MIDI Out vers l'ordinateur pour enregistrer le midi d'un piano.

a marqué ce sujet comme résolu.

Bonsoir, :)

Je dispose d'un piano électrique, qui comporte une prise MIDI Out (et In). Je souhaiterais relier cette prise à l'ordinateur pour enregistrer avec LMMS ou MuseScore le MIDI du piano (ou autre logiciel que je trouverai). Or, je ne dispose ni de cable MIDI ni de MIDI vers USB. Je pensais en acheter un (comme celui-ci), mais j'ai pensé à ma carte Arduino UNO.

J'ai fait quelques recherches, mais je n'ai pas trouvé exactement ce que je souhaite. J'aimerais savoir si on peut relier chaque "PIN" du port MIDI Out du piano à l'Arduino avec des fils, qui retransmet par USB le signal MIDI comme un convertisseur que l'on peut acheter dans le commerce. J'ai en effet le Starter Kit, et je ne sais pas si c'est suffisant pour le faire (en composants). Savez-vous si c'est possible ? Auriez-vous des pistes ?

Merci d'avance pour vos réponses !

Bien cordialement,

florian6973.

+0 -0

Bonjour !

C'est peut-être possible (en tout cas, c'est sûrement possible de faire quelque chose d'approchant), mais tu aura à coup sur plus de limitations qu'avec un adaptateur fait pour. Je cite Wikipédia…

Les informations sont codées de manière numérique (c’est-à-dire non analogique), à une vitesse de 31 250 bauds sur un bus MIDI. Chaque octet transmis est précédé d'un bit de start et suivi d'un bit de stop, soit au total 10 bits transmis. La possibilité de multiplexer 16 canaux sur un seul fil permet de contrôler plusieurs instruments.

Wikipédia

Il faudrait donc arriver à détecter un signal à 31 250 bauds sur une broche d'entrée. L'horloge du UNO étant cadencée à 16MHz, ça ne me paraît pas impossible. Toutefois, selon cette page, la norme MIDI utilise une tension entre 5 et 15V et requiert un opto-isolateur côté récepteur. Heureusement, ce genre de bête-là coûte trois fois rien (prévoir 1€ de frais, à la louche).

Je crois que le problème se situe surtout du côté de l'interface. S'il est probable que l'Arduino puisse exploiter les données en provenance d'une prise MIDI, il me paraît en revanche impossible de l'utiliser pour "simuler" un "protocole MIDI" par USB (il ne sera vu que comme un port série). Le Leonardo sera peut-être plus adapté pour cela, puisqu'il peut "émuler" plusieurs types de périphériques. Pour faire ça avec un UNO, je crains qu'il ne faille rajouter une couche logicielle sur le PC qui interprète les données en provenance de l'Arduino pour simuler une entrée MIDI.

En bref, je pense que c'est possible, mais ça demandera pas mal de boulot. Et des optocoupleurs. ;)

+1 -0

Bonjour, :)

Merci pour votre réponse et vos liens ! Je me renseigne sur tout cela. Effectivement, cela n'a pas l'air simple, cependant je pense que cela peut être intéressant !

J'ai cherché pour une interface logicielle, il pourra y avoir celle-ci. J'ai deux optocoupleurs 4n35 (est-ce un modèle qui convient ?), et je pourrais éventuellement en acheter si besoin. Cependant, je suis plutôt novice avec la réalisation de circuits électroniques avec Arduino, et je n'ai pas trouvé quel serait le circuit électronique (avec un (ou des ?) optocoupleur(s)) à réaliser pour relier la prise Midi OUT du piano aux pins d'Arduino. J'ai lu que seuls 3 pins sur la prise Midi Out sont utilisés. Auriez-vous des conseils ? J'ai trouvé un article intéressant : ici et l'ancienne version-là. Ai-je cependant besoin de la prise midi (pas de branchement direct possible ?) et de l'optocoupleur demandé différent de celui que j'ai ? Quel est l'intérêt de la diode ? Si tout semble correct, je peux acheter ce qu'il faut et suivre ce tutoriel ; il ne manquera plus qu'à retransmettre à les données à l'ordinateur avec Serial (configuré à 31250 bauds) et à configurer le logiciel qui converti le port Serial en MIDI. Ai-je bien compris ?

Merci d'avance pour vos réponses !

florian6973.

+0 -0

(est-ce un modèle qui convient ?)

À vu de nez, je pense que oui.

Ai-je cependant besoin de la prise midi (pas de branchement direct possible ?) et de l'optocoupleur demandé différent de celui que j'ai ?

Pour l'optocoupleur, je ne pense pas qu'il y ai une grande différence. Les autres me corrigeront au besoin, mais je crois que dans ce cas, leur seul intérêt est d'isoler les deux circuits. Concernant le branchement, tu peux bien sur souder directement depuis l'intérieur du piano, mais je pense qu'il serait plus propre de couper un câble MIDI, qui serait branché au piano d'un côté, et dénudé au branché à l'optocoupleur de l'autre côté.

Quel est l'intérêt de la diode ?

Si j'ai bien compris la question, la diode de l'optocoupleur sert à isoler électriquement les deux circuits. L'avantage est que cela stoppe tout problème électrique. Ainsi, une surtension côté MIDI du piano ne se propagera pas au PC, et inversement.

Si tout semble correct, je peux acheter ce qu'il faut et suivre ce tutoriel ; il ne manquera plus qu'à retransmettre à les données à l'ordinateur avec Serial (configuré à 31250 bauds) et à configurer le logiciel qui converti le port Serial en MIDI. Ai-je bien compris ?

Je pense que oui. Cependant, je me dois de préciser que c'est un montage que je n'ai jamais tenté, et que je n'ai que peu d'expérience dans ce domaine. Les autres "Arduinistes" de ce forum seront sûrement plus qualifiés que moi pour juger de l'exactitude des articles cités (et de mes dires).

Quoi qu'il en soit, je te souhaites bon courage pour ton projet. Si tu as d'autres questions, n'hésites pas. ;)

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte