Go Down

Topic: Transmettre midi par port USB sans logiciel (Read 819 times) previous topic - next topic

yadeuz

Bonjour,

Je me fais une sorte de pad/drumkit midi et, étant encore dans la phase d'expérimentation, je convertis le signal en sérial(?) de l'arduino en Midi avec Hairless.

J'aimerais bien rendre ca un peu plus sérieux et ne pas passer par un programme.

J'ai vu que beaucoups de gens greffait une prise midi out pour résoudre ca mais je me demandais si c'était pas possible de faire ca simplement par une deuxième prise usb. (J'ai cru que comprendre que l'usb de arduino est un "slave" et donc ne peut pas envoyer réellement du Midi).

Il me semble d'ailleurs que l'usb est avantageux au niveau de la latence par rapport à une prise midi.

Voilà ça a peut-être déjà été posé comme question mais je trouve pas... ou que en Anglais et encore.

Merci!

unisev

Pourquoi un SLAVE ne pourrait-il pas réellement envoyer du MIDI ?

De façon général pour faire du MIDI, je te conseille plutôt un Leonardo (32u4) et pas un Uno (328p) car la liaison USB n'utilise pas le port série, tu peux donc envoyer du MIDI sur le port série et utiliser l'USB pour le debug.

Je n'ai pas encore utilisé le MIDI over USB, pour mes montages je greffe une prise MIDI et j'utilise la liaison SERIE de l'Arduino, je trouve que c'est le plus simple.

Code: [Select]
Serial.begin(32150);
EN: Libraries are my Gurus, they make me believe anything they want !
FR: Les librairies sont mes gourous, elles me font croire ce qu'elles veulent !

yadeuz

Pourquoi un SLAVE ne pourrait-il pas réellement envoyer du MIDI ?
Euh j'ai lu ça quelque part mais je retrouve plus où maintenant... Mais dans la 20aine de projets que je regardé personne utilisait l'usb de l'arduino comme un usb midi (comme il y a sur mon clavier midi) sans programme intermédiaire.

Mais justement au lieu de greffer une prise midi c'est pas possible de greffer une prise midi usb? Il y a probablement un truc qui m'échappe mais le midi c'est juste un code non? Est-ce que c'est indissociable de ce type de connexion?
Sinon j'ai vu que quelqu'un avait intégré le circuit d'un cable convertisseur midi/usb :

http://i2.cdscdn.com/pdt2/0/1/2/1/700x700/auc6913282433012/rw/cable-convertisseur-adaptateur-interface-midi-v.jpg

au circuit mais je comprends toujours pas pourquoi cette prise midi est nécessaire.
J'aimerais si possible ne pas avoir à racheter un autre arduino que mon uno.
Désolé je suis assez néophyte.

unisev

#3
Jan 26, 2017, 03:16 pm Last Edit: Jan 26, 2017, 03:22 pm by UniseV
Le MIDI est une norme.
On le croise la plupart du temps au sein d'une liaison série UART sur 2 fils à 31250 bauds (vitesse non standard du l'UART).
La liaison est unidirectionnelle (MIDI OUT ---> MIDI IN)

Depuis quelques années, on le retrouve "encapsulé" dans de l'USB, ce qui a des avantages et des inconvénients :
- Avantage : Une Liasion physique USB fait du duplex
- Inconvénient : On a besoin que l'un des 2 équipement soit le HOST (ou master)

C'est le rôle de l'Ordi la plupart du temps, mais on trouve de plus en plus de périphériques qui font l'USB host notamment pour être capable d'utiliser une clé USB...

Personnellement cette histoire de host est un vrai problème pour moi car je fabrique des petits prototypes d'équipements MIDI et j'aime assez l'idée qu'ils soient "indépendant" et pluggables sur n'importe quoi, c'est pour cette raison que je ne passe pas à l'USB et que j'utilise un adaptateur USB/MIDI sur ordi.

EDIT : pourtant le 5V de l'USB serait des plus utiles pour moi :
http://forum.arduino.cc/index.php?topic=450559.msg3099302#msg3099302
EN: Libraries are my Gurus, they make me believe anything they want !
FR: Les librairies sont mes gourous, elles me font croire ce qu'elles veulent !

yadeuz

D'accord merci pour ces informations! Je commence à comprendre le principe mais je dois me documenter plus sur le midi. Je pense que je vais effectivement opter pour la prise midi et acheter un adaptateur.

Du coups dernière question plus par curiosité : un clavier midi USB standard n'est donc pas host? Et qu'est-ce qu'il faudrait faire pour rendre pour rendre un appareil/l'arduino host?

unisev

Oui, un clavier MIDI n'est pas USB-host en général.

Il existe des shield Arduino USB-host comme ça par exemple :
https://www.arduino.cc/en/Main/ArduinoUSBHostShield

Mais si tu fabrique un tel prototype, ok tu pourras brancher un clavier USB-MIDI dessus, mais du coup que va-t-il se passer si tu veux brancher ton appareil sur un ordi ?
EN: Libraries are my Gurus, they make me believe anything they want !
FR: Les librairies sont mes gourous, elles me font croire ce qu'elles veulent !

Go Up